### مستندات پروژه پایگاه داده سیستم مدیریت مراکز تفریحی
#### ۱. معرفی پروژه
**عنوان پروژه:** سیستم مدیریت مراکز تفریحی
**توضیح:** این پروژه برای مدیریت اطلاعات و عملیاتهای مربوط به مراکز تفریحی طراحی شده است. سیستم شامل مدیریت مراکز تفریحی، فعالیتهای تفریحی، مشتریان، رزروها و پرداختها است. هدف اصلی این سیستم، بهبود کارایی در مدیریت فعالیتها، پیگیری رزروها و پردازش پرداختها در مراکز تفریحی است.
#### ۲. شرح جداول پایگاه داده
##### جدول مراکز تفریحی (`RecreationCenters`)
- **توضیح:** این جدول شامل اطلاعات مربوط به مراکز تفریحی است.
- **فیلدها:**
- **CenterID:** شناسه منحصر به فرد برای هر مرکز تفریحی (کلید اصلی).
- **Name:** نام مرکز تفریحی.
- **Location:** مکان مرکز تفریحی.
- **Description:** توضیحات مرکز تفریحی.
- **ContactNumber:** شماره تماس مرکز تفریحی.
- **Email:** آدرس ایمیل مرکز تفریحی.
##### جدول فعالیتهای تفریحی (`Activities`)
- **توضیح:** این جدول شامل اطلاعات مربوط به فعالیتهای تفریحی ارائهشده در مراکز تفریحی است.
- **فیلدها:**
- **ActivityID:** شناسه منحصر به فرد برای هر فعالیت (کلید اصلی).
- **Name:** نام فعالیت.
- **Description:** توضیحات فعالیت.
- **Price:** قیمت هر فعالیت.
- **CenterID:** شناسه مرکز تفریحی که فعالیت در آن ارائه میشود (کلید خارجی که به جدول `RecreationCenters` متصل است).
##### جدول مشتریان (`Customers`)
- **توضیح:** این جدول شامل اطلاعات مربوط به مشتریانی است که از خدمات مراکز تفریحی استفاده میکنند.
- **فیلدها:**
- **CustomerID:** شناسه منحصر به فرد برای هر مشتری (کلید اصلی).
- **FirstName:** نام مشتری.
- **LastName:** نام خانوادگی مشتری.
- **Email:** آدرس ایمیل مشتری.
- **PhoneNumber:** شماره تماس مشتری.
- **Address:** آدرس محل سکونت مشتری.
##### جدول رزروها (`Bookings`)
- **توضیح:** این جدول شامل اطلاعات مربوط به رزروهای مشتریان برای فعالیتهای تفریحی است.
- **فیلدها:**
- **BookingID:** شناسه منحصر به فرد برای هر رزرو (کلید اصلی).
- **CustomerID:** شناسه مشتری که رزرو را انجام داده است (کلید خارجی که به جدول `Customers` متصل است).
- **ActivityID:** شناسه فعالیت تفریحی که رزرو شده است (کلید خارجی که به جدول `Activities` متصل است).
- **BookingDate:** تاریخ رزرو.
- **BookingTime:** زمان رزرو.
- **NumberOfPeople:** تعداد افراد برای رزرو.
- **TotalAmount:** مبلغ کل رزرو.
##### جدول پرداختها (`Payments`)
- **توضیح:** این جدول شامل اطلاعات مربوط به پرداختهای انجامشده برای رزروها است.
- **فیلدها:**
- **PaymentID:** شناسه منحصر به فرد برای هر پرداخت (کلید اصلی).
- **BookingID:** شناسه رزرو (کلید خارجی که به جدول `Bookings` متصل است).
- **PaymentDate:** تاریخ پرداخت.
- **Amount:** مبلغ پرداختشده.
- **PaymentMethod:** روش پرداخت (کارت اعتباری، نقدی، انتقال بانکی).
#### ۳. شرح روابط جداول
- **ارتباط بین جدول فعالیتهای تفریحی و جدول مراکز تفریحی:** هر فعالیت تفریحی در یک مرکز تفریحی خاص ارائه میشود، بنابراین بین این دو جدول یک ارتباط چند به یک (Many-to-One) برقرار است.
- **ارتباط بین جدول رزروها و جدول مشتریان:** هر رزرو توسط یک مشتری خاص انجام میشود، بنابراین بین این دو جدول یک ارتباط چند به یک (Many-to-One) برقرار است.
- **ارتباط بین جدول رزروها و جدول فعالیتهای تفریحی:** هر رزرو مربوط به یک فعالیت تفریحی خاص است، بنابراین بین این دو جدول یک ارتباط چند به یک (Many-to-One) برقرار است.
- **ارتباط بین جدول پرداختها و جدول رزروها:** هر پرداخت مربوط به یک رزرو خاص است، بنابراین بین این دو جدول یک ارتباط چند به یک (Many-to-One) برقرار است.
#### ۴. توضیحات اضافی
- **کلیدهای اصلی:** هر جدول دارای یک کلید اصلی است که بهصورت منحصر به فرد هر رکورد را شناسایی میکند.
- **کلیدهای خارجی:** کلیدهای خارجی برای برقراری ارتباط بین جداول استفاده میشوند. به عنوان مثال، `CenterID` در جدول `Activities` به جدول `RecreationCenters` و `ActivityID` در جدول `Bookings` به جدول `Activities` متصل است.
#### ۵. مثالهای استفاده
- **دریافت لیست فعالیتهای ارائهشده در یک مرکز تفریحی خاص:**
- با استفاده از `CenterID` در جدول `Activities`، میتوان لیست تمامی فعالیتهای تفریحی ارائهشده در یک مرکز تفریحی خاص را مشاهده کرد.
- **مشاهده رزروهای انجامشده توسط یک مشتری خاص:**
- با استفاده از `CustomerID` در جدول `Bookings`، میتوان لیست تمامی رزروهایی که یک مشتری خاص انجام داده است را مشاهده کرد.
- **پیگیری پرداختها برای یک رزرو خاص:**
- با استفاده از `BookingID` در جدول `Payments`، میتوان لیست تمامی پرداختهای مربوط به یک رزرو خاص را مشاهده کرد.
---
این مستندات ساختار و توضیحات ضروری برای درک و استفاده از پایگاه داده سیستم مدیریت مراکز تفریحی را ارائه میدهد و میتواند بهعنوان راهنمایی برای توسعه و بهبود این سیستم مفید باشد.