পদবী ব্যবস্থাপনা (Designation Management) মডিউলের জন্য একটি মাল্টি-কোম্পানি ভিত্তিক এবং ফিচার সমৃদ্ধ ডেটাবেজ ডিজাইন এখানে প্রদান করা হলো। এই ডিজাইনে প্রতিটি পদবী নির্দিষ্ট একটি কোম্পানির সাথে সম্পর্কিত থাকবে, এবং এতে অতিরিক্ত বিভিন্ন ফিচার যুক্ত থাকবে যা পদবী ব্যবস্থাপনাকে আরও কার্যকর করে তুলবে।
Designation Management Database Design
প্রধান টেবিলসমূহ এবং ফিল্ড
- designations (পদবীর মূল তথ্য সংরক্ষণ করবে)
- designation_levels (পদবীর লেভেল বা স্তর সংরক্ষণ করবে)
- designation_roles (পদবীর দায়িত্ব এবং ভূমিকা সম্পর্কিত তথ্য)
- designation_history (পদবীর ইতিহাস বা পূর্ববর্তী পদবী পরিবর্তনের লগ)
1. designations
| Field Name | Data Type | Description |
|---|---|---|
| designation_id | INT (PK) | প্রতিটি পদবীর জন্য ইউনিক আইডি |
| company_id | INT (FK) | কোম্পানির আইডি (যার সাথে পদবী সম্পর্কিত) |
| designation_name | VARCHAR(100) | পদবীর নাম |
| designation_code | VARCHAR(20) | পদবীর কোড (ইউনিক আইডেন্টিফায়ার) |
| description | TEXT | পদবীর বিবরণ |
| level_id | INT (FK) | পদবীর স্তর সম্পর্কিত আইডি |
| created_at | TIMESTAMP | তৈরি করার তারিখ |
| updated_at | TIMESTAMP | আপডেট করার তারিখ |
| status | ENUM | পদবীর অবস্থা (Active, Inactive) |
রিলেশন:
company_idcompanies টেবিলের সাথে সংযুক্ত থাকবে, যা নিশ্চিত করবে যে প্রতিটি পদবী একটি নির্দিষ্ট কোম্পানির অধীনে রয়েছে।level_iddesignation_levels টেবিলের সাথে সংযুক্ত থাকবে, যা পদবীর স্তরের তথ্য প্রদান করবে।
2. designation_levels
| Field Name | Data Type | Description |
|---|---|---|
| level_id | INT (PK) | পদবীর স্তরের জন্য ইউনিক আইডি |
| level_name | VARCHAR(50) | স্তরের নাম (যেমন, Junior, Mid, Senior) |
| level_rank | INT | স্তরের র্যাঙ্ক বা প্রাধান্য স্তর |
| description | TEXT | স্তরের বিবরণ |
| created_at | TIMESTAMP | তৈরি করার তারিখ |
| updated_at | TIMESTAMP | আপডেট করার তারিখ |
রিলেশন:
level_iddesignations টেবিলেরlevel_idফিল্ডের মাধ্যমে পদবীর স্তরের তথ্য সরবরাহ করবে। এই টেবিলটি বিভিন্ন স্তর সংরক্ষণ করবে, যা প্রতিটি পদবীর অবস্থান নির্ধারণে সহায়ক হবে।
3. designation_roles
| Field Name | Data Type | Description |
|---|---|---|
| role_id | INT (PK) | দায়িত্ব বা ভূমিকার জন্য ইউনিক আইডি |
| designation_id | INT (FK) | পদবীর আইডি (পদবীর সাথে সম্পর্কিত) |
| role_name | VARCHAR(100) | দায়িত্ব বা ভূমিকার নাম |
| role_description | TEXT | দায়িত্ব বা ভূমিকার বিবরণ |
| created_at | TIMESTAMP | তৈরি করার তারিখ |
| updated_at | TIMESTAMP | আপডেট করার তারিখ |
রিলেশন:
designation_iddesignations টেবিলের সাথে সংযুক্ত থাকবে, যা নিশ্চিত করবে যে প্রতিটি দায়িত্ব বা ভূমিকা একটি নির্দিষ্ট পদবীর অধীনে রয়েছে।
4. designation_history
| Field Name | Data Type | Description |
|---|---|---|
| history_id | INT (PK) | পদবী ইতিহাসের জন্য ইউনিক আইডি |
| employee_id | INT (FK) | কর্মীর আইডি (যার পদবী পরিবর্তন হয়েছে) |
| previous_designation_id | INT (FK) | পূর্ববর্তী পদবীর আইডি |
| new_designation_id | INT (FK) | নতুন পদবীর আইডি |
| change_date | DATE | পদবী পরিবর্তনের তারিখ |
| remarks | TEXT | মন্তব্য বা কারণ |
| created_at | TIMESTAMP | তৈরি করার তারিখ |
রিলেশন:
employee_idemployees টেবিলের সাথে সংযুক্ত থাকবে, এবংprevious_designation_idএবংnew_designation_iddesignations টেবিলের সাথে সংযুক্ত থাকবে, যা পদবী পরিবর্তনের তথ্য সংরক্ষণ করবে।
Designation Management Module সম্পর্কের সারাংশ
- designations টেবিলের
company_idফিল্ডটি companies টেবিলের সাথে সংযুক্ত থাকবে, যা নিশ্চিত করবে যে প্রতিটি পদবী নির্দিষ্ট কোম্পানির অধীনে রয়েছে।level_idফিল্ডটি designation_levels টেবিলের সাথে সংযুক্ত থাকবে, যা পদবীর স্তর সম্পর্কিত তথ্য সরবরাহ করবে। - designation_levels টেবিলটি বিভিন্ন স্তরের তথ্য সংরক্ষণ করবে যা পদবীগুলোর স্তর বা অবস্থান নির্ধারণে সহায়ক হবে এবং এটি designations টেবিলের সাথে সম্পর্কিত থাকবে।
- designation_roles টেবিলের
designation_idফিল্ডটি designations টেবিলের সাথে সংযুক্ত থাকবে, যা প্রতিটি পদবীর জন্য দায়িত্ব এবং ভূমিকার তথ্য সংরক্ষণ করবে। - designation_history টেবিলের
employee_idফিল্ডটি employees টেবিলের সাথে সংযুক্ত থাকবে এবংprevious_designation_idএবংnew_designation_iddesignations টেবিলের সাথে সংযুক্ত থাকবে, যা কর্মীদের পদবী পরিবর্তনের লগ সংরক্ষণ করবে।
উদাহরণ কুয়েরি (Example Query)
ধরুন, কোনো নির্দিষ্ট কোম্পানির পদবী এবং দায়িত্বের তথ্য পেতে হবে। সেক্ষেত্রে SQL কুয়েরি হবে:
SELECT c.company_name, d.designation_name, dl.level_name, dr.role_name, dr.role_description
FROM companies c
JOIN designations d ON c.company_id = d.company_id
JOIN designation_levels dl ON d.level_id = dl.level_id
JOIN designation_roles dr ON d.designation_id = dr.designation_id
WHERE c.company_id = [specific_company_id];
এই কুয়েরির মাধ্যমে প্রতিটি পদবী, স্তর, এবং দায়িত্বের বিস্তারিত তথ্য পাওয়া যাবে।
সারসংক্ষেপ
এই আপডেটেড Designation Management Database Design মাল্টি-কোম্পানি ভিত্তিক ব্যবস্থাপনা সাপোর্ট করবে, যেখানে প্রতিটি পদবী নির্দিষ্ট কোম্পানির অধীনে থাকবে এবং এতে স্তর, দায়িত্ব এবং পদবী পরিবর্তনের ইতিহাস সংরক্ষণ করা যাবে। এভাবে, এই ডিজাইন পদবী ব্যবস্থাপনাকে আরও কার্যকর, নির্ভুল এবং তথ্যসমৃদ্ধ করে তুলবে।