মাল্টি-কোম্পানি ভিত্তিক এবং প্রতিটি কোম্পানির সাথে সম্পর্কিত একটি উন্নত প্রশিক্ষণ ও উন্নয়ন ব্যবস্থাপনা (Training & Development Management) মডিউলের ডেটাবেজ ডিজাইন নিচে দেয়া হলো। প্রতিটি টেবিলের কাজ, ফিল্ডের বিবরণ, এবং রিলেশন উল্লেখ করা হয়েছে যা একটি কার্যকরী এবং জটিল প্রশিক্ষণ ও উন্নয়ন ব্যবস্থাপনার জন্য উপযোগী।
Training & Development Management Database Design with Field Details
স্টেপ ১: Training Programs Creation (প্রশিক্ষণ প্রোগ্রাম তৈরি)
1. training_programs টেবিল:
এই টেবিলটি বিভিন্ন প্রশিক্ষণ প্রোগ্রাম সংরক্ষণ করবে, যেমন সফট স্কিল, টেকনিক্যাল ট্রেনিং, এবং লিডারশিপ ট্রেনিং। প্রতিটি কোম্পানির জন্য পৃথক প্রশিক্ষণ প্রোগ্রাম থাকবে।
| Field Name | Data Type | Description |
|---|---|---|
| training_program_id | INT (PK) | প্রতিটি প্রশিক্ষণ প্রোগ্রামের জন্য ইউনিক আইডি |
| company_id | INT (FK) | কোম্পানির আইডি (যার সাথে প্রোগ্রাম সম্পর্কিত) |
| program_name | VARCHAR(100) | প্রশিক্ষণ প্রোগ্রামের নাম |
| description | TEXT | প্রোগ্রামের বিবরণ |
| program_type | ENUM | প্রোগ্রামের ধরণ (যেমন, Soft Skill, Technical) |
| duration | INT | প্রোগ্রামের সময়কাল (ঘন্টায়) |
| created_at | TIMESTAMP | তৈরি করার তারিখ |
| updated_at | TIMESTAMP | আপডেট করার তারিখ |
রিলেশন:
company_idcompanies টেবিলের সাথে সংযুক্ত থাকবে, যা নিশ্চিত করবে যে প্রতিটি প্রশিক্ষণ প্রোগ্রাম নির্দিষ্ট কোম্পানির অধীনে রয়েছে।
স্টেপ ২: Training Batches Creation (প্রশিক্ষণের ব্যাচ তৈরি)
2. training_batches টেবিল:
এই টেবিলটি বিভিন্ন প্রশিক্ষণ প্রোগ্রামের অধীনে প্রশিক্ষণ ব্যাচ সংরক্ষণ করবে। প্রতিটি প্রোগ্রামের জন্য একাধিক ব্যাচ হতে পারে, এবং এখানে ব্যাচের শুরুর ও শেষ তারিখ উল্লেখ থাকবে।
| Field Name | Data Type | Description |
|---|---|---|
| batch_id | INT (PK) | প্রতিটি প্রশিক্ষণ ব্যাচের জন্য ইউনিক আইডি |
| training_program_id | INT (FK) | প্রশিক্ষণ প্রোগ্রাম আইডি |
| batch_name | VARCHAR(50) | ব্যাচের নাম |
| start_date | DATE | প্রশিক্ষণের শুরুর তারিখ |
| end_date | DATE | প্রশিক্ষণের শেষের তারিখ |
| created_at | TIMESTAMP | তৈরি করার তারিখ |
| updated_at | TIMESTAMP | আপডেট করার তারিখ |
রিলেশন:
training_program_idtraining_programs টেবিলের সাথে সংযুক্ত থাকবে, যা নিশ্চিত করবে যে প্রতিটি ব্যাচ একটি নির্দিষ্ট প্রশিক্ষণ প্রোগ্রামের অধীনে রয়েছে।
স্টেপ ৩: Employee Enrollment in Training
3. training_enrollments টেবিল:
এই টেবিলটি কর্মীদের প্রশিক্ষণ প্রোগ্রামে এনরোলমেন্ট সংরক্ষণ করবে। প্রতিটি কর্মীকে নির্দিষ্ট ব্যাচে প্রশিক্ষণের জন্য অন্তর্ভুক্ত করা হবে।
| Field Name | Data Type | Description |
|---|---|---|
| enrollment_id | INT (PK) | এনরোলমেন্টের জন্য ইউনিক আইডি |
| batch_id | INT (FK) | প্রশিক্ষণ ব্যাচ আইডি |
| employee_id | INT (FK) | কর্মীর আইডি |
| enrollment_date | TIMESTAMP | এনরোলমেন্টের তারিখ |
| status | ENUM | এনরোলমেন্ট অবস্থা (Enrolled, Completed, Dropped) |
| created_at | TIMESTAMP | তৈরি করার তারিখ |
| updated_at | TIMESTAMP | আপডেট করার তারিখ |
রিলেশন:
batch_idtraining_batches টেবিলের সাথে এবংemployee_idemployees টেবিলের সাথে সংযুক্ত থাকবে, যা নিশ্চিত করবে যে প্রতিটি এনরোলমেন্ট নির্দিষ্ট কর্মী ও ব্যাচের সাথে সম্পর্কিত।
স্টেপ ৪: Training Attendance Tracking (প্রশিক্ষণ উপস্থিতি ট্র্যাকিং)
4. training_attendance টেবিল:
এই টেবিলটি প্রশিক্ষণে কর্মীদের উপস্থিতি ট্র্যাক করবে। প্রতিটি কর্মীর জন্য প্রতিদিনের উপস্থিতি ট্র্যাকিং করা হবে।
| Field Name | Data Type | Description |
|---|---|---|
| attendance_id | INT (PK) | উপস্থিতির জন্য ইউনিক আইডি |
| enrollment_id | INT (FK) | এনরোলমেন্ট আইডি |
| attendance_date | DATE | উপস্থিতির তারিখ |
| status | ENUM | উপস্থিতি অবস্থা (Present, Absent, Excused) |
| created_at | TIMESTAMP | তৈরি করার তারিখ |
| updated_at | TIMESTAMP | আপডেট করার তারিখ |
রিলেশন:
enrollment_idtraining_enrollments টেবিলের সাথে সংযুক্ত থাকবে, যা নিশ্চিত করবে যে প্রতিটি উপস্থিতি নির্দিষ্ট কর্মী ও ব্যাচের সাথে সম্পর্কিত।
স্টেপ ৫: Training Feedback Collection (প্রশিক্ষণের পর্যালোচনা সংগ্রহ)
5. training_feedback টেবিল:
এই টেবিলটি প্রশিক্ষণ শেষ হওয়ার পর কর্মীদের থেকে প্রশিক্ষণের পর্যালোচনা সংগ্রহ করবে। এতে কর্মীদের প্রশিক্ষণের গুণগত মান এবং তাদের সন্তুষ্টি সম্পর্কে তথ্য থাকবে।
| Field Name | Data Type | Description |
|---|---|---|
| feedback_id | INT (PK) | প্রতিটি পর্যালোচনার জন্য ইউনিক আইডি |
| enrollment_id | INT (FK) | এনরোলমেন্ট আইডি |
| rating | INT | প্রশিক্ষণের রেটিং (১-৫ স্কেলে) |
| comments | TEXT | কর্মীর মন্তব্য |
| feedback_date | TIMESTAMP | পর্যালোচনা প্রদানের তারিখ |
| created_at | TIMESTAMP | তৈরি করার তারিখ |
| updated_at | TIMESTAMP | আপডেট করার তারিখ |
রিলেশন:
enrollment_idtraining_enrollments টেবিলের সাথে সংযুক্ত থাকবে, যা নিশ্চিত করবে যে প্রতিটি পর্যালোচনা নির্দিষ্ট কর্মীর প্রশিক্ষণের অভিজ্ঞতার উপর ভিত্তি করে।
স্টেপ ৬: Training Materials Management (প্রশিক্ষণ উপকরণ ব্যবস্থাপনা)
6. training_materials টেবিল:
এই টেবিলটি প্রতিটি প্রশিক্ষণ প্রোগ্রামের জন্য ব্যবহৃত উপকরণ বা রিসোর্স সংরক্ষণ করবে, যেমন স্লাইড, ভিডিও, এবং ডকুমেন্ট।
| Field Name | Data Type | Description |
|---|---|---|
| material_id | INT (PK) | প্রতিটি প্রশিক্ষণ উপকরণের জন্য ইউনিক আইডি |
| training_program_id | INT (FK) | প্রশিক্ষণ প্রোগ্রাম আইডি |
| material_name | VARCHAR(100) | উপকরণের নাম |
| material_type | ENUM | উপকরণের ধরণ (Slide, Video, Document) |
| material_url | TEXT | উপকরণের লিংক বা অবস্থান |
| created_at | TIMESTAMP | তৈরি করার তারিখ |
| updated_at | TIMESTAMP | আপডেট করার তারিখ |
রিলেশন:
training_program_idtraining_programs টেবিলের সাথে সংযুক্ত থাকবে, যা নিশ্চিত করবে যে প্রতিটি উপকরণ একটি নির্দিষ্ট প্রশিক্ষণ প্রোগ্রামের অধীনে রয়েছে।
Training & Development Management Module সম্পর্কের সারাংশ
- training_programs টেবিলটি বিভিন্ন প্রশিক্ষণ প্রোগ্রাম সংরক্ষণ করে, যা প্রতিটি কোম্পানির জন্য পৃথকভাবে নির্ধারিত হয়।
- training_batches টেবিলটি প্রতিটি প্রশিক্ষণ প্রোগ্রামের অধীনে প্রশিক্ষণের ব্যাচ তৈরি ও সংরক্ষণ করে।
- training_enrollments টেবিলটি প্রতিটি কর্মীর প্রশিক্ষণ প্রোগ্রামে অন্তর্ভুক্তি বা এনরোলমেন্ট তথ্য সংরক্ষণ করে, যা কর্মীদের প্রশিক্ষণ প্রোগ্রামে যোগদান ও প্রক্রিয়া নিশ্চিত করে।
- training_attendance টেবিলটি প্রশিক্ষণে প্রতিদিন কর্মীদের উপস্থিতি ট্র্যাক করে।
- training_feedback টেবিলটি প্রশিক্ষণ শেষে কর্মীদের মতামত এবং সন্তুষ্টির রেটিং সংরক্ষণ করে, যা প্রশিক্ষণের মান উন্নয়নে সহায়ক।
- training_materials টেবিলটি প্রশিক্ষণের জন্য প্রয়োজনীয় উপকরণ এবং রিসোর্স সংরক্ষণ করে, যাতে প্রশিক্ষণ প্রক্রিয়া সঠিকভাবে সম্পন্ন হয়।