### مستندات پروژه پایگاه داده سیستم مدیریت کارگاههای آموزشی
#### ۱. معرفی پروژه
**عنوان پروژه:** سیستم مدیریت کارگاههای آموزشی
**توضیح:** این پروژه برای مدیریت عملیاتهای مختلف کارگاههای آموزشی طراحی شده است. سیستم شامل مدیریت کارگاهها، شرکتکنندگان، مدرسین، دورههای آموزشی، و ثبتنامها است. هدف اصلی این سیستم، بهبود کارایی در برنامهریزی و اجرای کارگاههای آموزشی و مدیریت فعالیتهای مربوط به آنها است.
#### ۲. شرح جداول پایگاه داده
##### جدول کارگاهها (`Workshops`)
- **توضیح:** این جدول شامل اطلاعات مربوط به کارگاههای آموزشی است که برگزار میشود.
- **فیلدها:**
- **WorkshopID:** شناسه منحصر به فرد برای هر کارگاه (کلید اصلی).
- **Title:** عنوان کارگاه.
- **Description:** توضیحات کارگاه.
- **Location:** مکان برگزاری کارگاه.
- **StartDate:** تاریخ شروع کارگاه.
- **EndDate:** تاریخ پایان کارگاه.
- **InstructorID:** شناسه مدرس مسئول کارگاه (کلید خارجی که به جدول `Instructors` متصل است).
##### جدول شرکتکنندگان (`Participants`)
- **توضیح:** این جدول شامل اطلاعات مربوط به افرادی است که در کارگاههای آموزشی شرکت میکنند.
- **فیلدها:**
- **ParticipantID:** شناسه منحصر به فرد برای هر شرکتکننده (کلید اصلی).
- **FirstName:** نام شرکتکننده.
- **LastName:** نام خانوادگی شرکتکننده.
- **Email:** آدرس ایمیل شرکتکننده.
- **PhoneNumber:** شماره تماس شرکتکننده.
- **Address:** آدرس محل سکونت شرکتکننده.
##### جدول مدرسین (`Instructors`)
- **توضیح:** این جدول شامل اطلاعات مربوط به مدرسین که کارگاهها را ارائه میدهند است.
- **فیلدها:**
- **InstructorID:** شناسه منحصر به فرد برای هر مدرس (کلید اصلی).
- **FirstName:** نام مدرس.
- **LastName:** نام خانوادگی مدرس.
- **Email:** آدرس ایمیل مدرس.
- **PhoneNumber:** شماره تماس مدرس.
- **Expertise:** تخصصهای مدرس.
##### جدول دورههای آموزشی (`Courses`)
- **توضیح:** این جدول شامل اطلاعات مربوط به دورههای آموزشی که در کارگاهها ارائه میشود است.
- **فیلدها:**
- **CourseID:** شناسه منحصر به فرد برای هر دوره آموزشی (کلید اصلی).
- **Title:** عنوان دوره آموزشی.
- **Description:** توضیحات دوره آموزشی.
- **WorkshopID:** شناسه کارگاهی که دوره آموزشی در آن برگزار میشود (کلید خارجی که به جدول `Workshops` متصل است).
##### جدول ثبتنامها (`Registrations`)
- **توضیح:** این جدول شامل اطلاعات مربوط به ثبتنامهای شرکتکنندگان در کارگاهها و دورههای آموزشی است.
- **فیلدها:**
- **RegistrationID:** شناسه منحصر به فرد برای هر ثبتنام (کلید اصلی).
- **ParticipantID:** شناسه شرکتکننده (کلید خارجی که به جدول `Participants` متصل است).
- **CourseID:** شناسه دوره آموزشی که در آن ثبتنام کرده است (کلید خارجی که به جدول `Courses` متصل است).
- **RegistrationDate:** تاریخ ثبتنام.
#### ۳. شرح روابط جداول
- **ارتباط بین جدول کارگاهها و جدول مدرسین:** هر کارگاه توسط یک مدرس خاص ارائه میشود، بنابراین بین این دو جدول یک ارتباط چند به یک (Many-to-One) برقرار است.
- **ارتباط بین جدول کارگاهها و جدول دورههای آموزشی:** هر دوره آموزشی در یک کارگاه خاص برگزار میشود، بنابراین بین این دو جدول یک ارتباط چند به یک (Many-to-One) برقرار است.
- **ارتباط بین جدول دورههای آموزشی و جدول ثبتنامها:** هر ثبتنام مربوط به یک دوره آموزشی خاص است، بنابراین بین این دو جدول یک ارتباط چند به یک (Many-to-One) برقرار است.
- **ارتباط بین جدول شرکتکنندگان و جدول ثبتنامها:** هر ثبتنام متعلق به یک شرکتکننده خاص است، بنابراین بین این دو جدول یک ارتباط چند به یک (Many-to-One) برقرار است.
#### ۴. توضیحات اضافی
- **کلیدهای اصلی:** هر جدول دارای یک کلید اصلی است که بهصورت منحصر به فرد هر رکورد را شناسایی میکند.
- **کلیدهای خارجی:** کلیدهای خارجی برای برقراری ارتباط بین جداول استفاده میشوند. به عنوان مثال، `InstructorID` در جدول `Workshops` به جدول `Instructors` و `WorkshopID` در جدول `Courses` به جدول `Workshops` متصل است.
#### ۵. مثالهای استفاده
- **دریافت لیست شرکتکنندگان یک کارگاه خاص:**
- با استفاده از `WorkshopID` در جدول `Courses` و سپس با استفاده از `CourseID` در جدول `Registrations`، میتوان لیست تمامی شرکتکنندگانی که در یک کارگاه خاص ثبتنام کردهاند را مشاهده کرد.
- **مشاهده دورههای آموزشی ارائه شده توسط یک مدرس خاص:**
- با استفاده از `InstructorID` در جدول `Workshops` میتوان دورههای آموزشی که توسط مدرس خاصی ارائه میشود را از جدول `Courses` مشاهده کرد.
- **پیگیری ثبتنامهای یک شرکتکننده خاص:**
- با استفاده از `ParticipantID` در جدول `Registrations` میتوان تمامی دورههای آموزشی که یک شرکتکننده خاص در آنها ثبتنام کرده است را مشاهده کرد.
---
این مستندات ساختار و توضیحات ضروری برای درک و استفاده از پایگاه داده سیستم مدیریت کارگاههای آموزشی را ارائه میدهد و میتواند بهعنوان راهنمایی برای توسعه و بهبود این سیستم مفید باشد.