স্টেপ ১: Allowance Types Creation (ভাতার ধরন তৈরি)
1. allowance_types টেবিল:
এই টেবিলটি বিভিন্ন ধরনের ভাতা সংরক্ষণ করে, যেমন ট্রান্সপোর্ট, আবাসন, এবং মেডিক্যাল ভাতা। এখানে প্রতিটি কোম্পানির জন্য আলাদাভাবে ভাতার ধরন উল্লেখ করা হয়েছে।
| Field Name | Data Type | Description |
|---|---|---|
| allowance_type_id | INT (PK) | প্রতিটি ভাতার ধরনের জন্য ইউনিক আইডি |
| company_id | INT (FK) | কোম্পানির আইডি |
| allowance_name | VARCHAR(50) | ভাতার নাম |
| description | TEXT | ভাতার বিবরণ |
| calculation_type | ENUM | হিসাবের ধরণ (Percentage, Fixed Amount) |
| amount | DECIMAL(10,2) | ভাতার পরিমাণ (যদি Fixed Amount হয়) |
| created_at | TIMESTAMP | তৈরি করার তারিখ |
| updated_at | TIMESTAMP | আপডেট করার তারিখ |
Demo Data:
| allowance_type_id | company_id | allowance_name | description | calculation_type | amount | created_at | updated_at |
|---|---|---|---|---|---|---|---|
| 1 | 1 | Transport Allowance | ট্রান্সপোর্টের জন্য | Fixed Amount | 3000 | 2023-01-01 10:00:00 | 2023-01-01 10:00:00 |
| 2 | 1 | Housing Allowance | আবাসনের জন্য | Percentage | 10.00 | 2023-01-01 10:00:00 | 2023-01-01 10:00:00 |
| 3 | 1 | Medical Allowance | চিকিৎসা খরচের জন্য | Fixed Amount | 1500 | 2023-01-01 10:00:00 | 2023-01-01 10:00:00 |
স্টেপ ২: Allowance Policies Creation (ভাতার নীতিমালা তৈরি)
2. allowance_policies টেবিল:
এই টেবিলটি বিভিন্ন ভাতার নীতিমালা সংরক্ষণ করে, যা কোম্পানির বিভিন্ন পদে প্রযোজ্য হতে পারে।
| Field Name | Data Type | Description |
|---|---|---|
| policy_id | INT (PK) | প্রতিটি নীতিমালার জন্য ইউনিক আইডি |
| allowance_type_id | INT (FK) | ভাতার ধরন আইডি |
| applicable_to | ENUM | প্রযোজ্য কর্মীদের জন্য (All Employees, Specific Departments) |
| percentage_of_salary | DECIMAL(5,2) | বেতনের শতকরা ভাগ (যদি Percentage হয়) |
| fixed_amount | DECIMAL(10,2) | নির্দিষ্ট ভাতার পরিমাণ (যদি Fixed Amount হয়) |
| description | TEXT | নীতিমালার বিবরণ |
| effective_date | DATE | নীতিমালার কার্যকর তারিখ |
| created_at | TIMESTAMP | তৈরি করার তারিখ |
| updated_at | TIMESTAMP | আপডেট করার তারিখ |
Demo Data:
| policy_id | allowance_type_id | applicable_to | percentage_of_salary | fixed_amount | description | effective_date | created_at | updated_at |
|---|---|---|---|---|---|---|---|---|
| 1 | 1 | All Employees | NULL | 3000 | সকল কর্মী ৩০০০ টাকা পাবেন | 2023-01-01 | 2023-01-01 10:00:00 | 2023-01-01 10:00:00 |
| 2 | 2 | Specific Departments | 10.00 | NULL | নির্দিষ্ট ডিপার্টমেন্টের কর্মীরা | 2023-01-01 | 2023-01-01 10:00:00 | 2023-01-01 10:00:00 |
| 3 | 3 | All Employees | NULL | 1500 | সকল কর্মীর জন্য | 2023-01-01 | 2023-01-01 10:00:00 | 2023-01-01 10:00:00 |
৩. Employee Allowances Table (কর্মীদের ভাতা প্রদান):
employee_allowances টেবিলে একটি কর্মীর জন্য একাধিক ভাতার রেকর্ড থাকতে পারে, কারণ কর্মীরা বিভিন্ন ধরনের ভাতা পেতে পারেন (যেমন, Transport Allowance, Housing Allowance, Medical Allowance)। এই টেবিলে একই employee_id এর একাধিক রেকর্ড থাকতে পারে, যা বিভিন্ন allowance_type_id অনুযায়ী পৃথকভাবে সংরক্ষণ করা হয়।
Demo Data:
| employee_allowance_id | employee_id | allowance_type_id | amount | effective_date | expiry_date | created_at | updated_at |
|---|---|---|---|---|---|---|---|
| 1 | 101 | 1 | 3000 | 2023-01-01 | 2023-12-31 | 2023-01-01 10:00:00 | 2023-01-01 10:00:00 |
| 2 | 101 | 2 | 4500 | 2023-01-01 | 2023-12-31 | 2023-01-01 10:00:00 | 2023-01-01 10:00:00 |
| 3 | 101 | 3 | 1500 | 2023-01-01 | 2023-12-31 | 2023-01-01 10:00:00 | 2023-01-01 10:00:00 |
বিঃদ্রঃ এখানে একই কর্মী (Employee ID 101) তিনটি ভিন্ন ভাতা পেয়েছেন: Transport Allowance, Housing Allowance, এবং Medical Allowance।
৪. Allowance Adjustments Table (ভাতার পরিবর্তন লগ):
allowance_adjustments টেবিলে একাধিক adjustment বা পরিবর্তন রেকর্ড থাকতে পারে। একটি নির্দিষ্ট কর্মীর জন্য বিভিন্ন সময়ে ভাতার পরিমাণ পরিবর্তন হলে, এখানে একাধিক রেকর্ড তৈরি হবে। একই কর্মীর জন্য পূর্ববর্তী ও নতুন পরিমাণ এবং পরিবর্তনের কারণ অনুযায়ী রেকর্ড রাখা হয়।
Demo Data:
| adjustment_id | employee_allowance_id | previous_amount | new_amount | adjustment_date | reason | created_at | updated_at |
|---|---|---|---|---|---|---|---|
| 1 | 1 | 3000 | 3500 | 2023-06-01 | প্রমোশন পাওয়ার কারণে | 2023-06-01 10:00:00 | 2023-06-01 10:00:00 |
| 2 | 1 | 3500 | 3800 | 2023-08-01 | আরও উন্নত পারফরমেন্স | 2023-08-01 10:00:00 | 2023-08-01 10:00:00 |
| 3 | 2 | 4500 | 5000 | 2023-06-15 | ব্যাচেলর পদে উন্নতি | 2023-06-15 10:00:00 | 2023-06-15 10:00:00 |
বিঃদ্রঃ এখানে Employee ID 101-এর জন্য employee_allowance_id = 1 এর অধীনে কয়েকবার পরিবর্তন করা হয়েছে: প্রথমে ৩০০০ থেকে ৩৫০০ এবং পরে ৩৫০০ থেকে ৩৮০০।
৫. Allowance Payments Table (ভাতার পরিশোধ ইতিহাস):
allowance_payments টেবিলেও একটি নির্দিষ্ট কর্মীর একাধিক রেকর্ড থাকতে পারে, কারণ প্রতিটি মাসে বা নির্দিষ্ট সময়ে ভাতা প্রদান করা হয়। প্রতিটি employee_allowance_id এর অধীনে একাধিক পরিশোধ ইতিহাস থাকতে পারে।
Demo Data:
| payment_id | employee_allowance_id | payment_date | paid_amount | payment_method | created_at | updated_at |
|---|---|---|---|---|---|---|
| 1 | 1 | 2023-07-01 | 3500 | Bank Transfer | 2023-07-01 10:00:00 | 2023-07-01 10:00:00 |
| 2 | 1 | 2023-08-01 | 3500 | Bank Transfer | 2023-08-01 10:00:00 | 2023-08-01 10:00:00 |
| 3 | 2 | 2023-07-01 | 5000 | Cash | 2023-07-01 10:00:00 | 2023-07-01 10:00:00 |
| 4 | 2 | 2023-08-01 | 5000 | Cash | 2023-08-01 10:00:00 | 2023-08-01 10:00:00 |
বিঃদ্রঃ এখানে Employee ID 101-এর জন্য employee_allowance_id = 1 এর অধীনে জুলাই এবং আগস্ট মাসের জন্য পরিশোধ করা হয়েছে।
সংক্ষেপে টেবিল অনুযায়ী তথ্য
- employee_allowances টেবিল – একই কর্মীর জন্য একাধিক ভাতা থাকতে পারে, ভিন্ন allowance_type_id দিয়ে।
- allowance_adjustments টেবিল – একটি কর্মীর ভাতা সমন্বয় বা পরিবর্তন সম্পর্কিত একাধিক রেকর্ড থাকতে পারে।
- allowance_payments টেবিল – একটি কর্মীর বিভিন্ন সময়ে ভাতা পরিশোধ সম্পর্কিত একাধিক রেকর্ড থাকতে পারে।
এই Allowance Management System ডিজাইনের মাধ্যমে আপনি সহজেই বুঝতে পারবেন কোন টেবিলে একই কর্মীর একাধিক রেকর্ড থাকতে পারে এবং সেগুলো কিভাবে বিভিন্ন তথ্য সংরক্ষণ করে।