انجمن برنامه نویس

سوال : طراحی نمودار er برای پروژه مدیریت هتل

شروع موضوع توسط omid-boy ‏20/5/14 در انجمن پایگاه داده SQL Server

گنجینه های
برنامه نویسی
فیلم های آموزشی
زبان های برنامه نویسی
فیلم های آموزشی
پروژه محور C#
فیلم های آموزشی
برنامه نویسی اندروید
فیلم های آموزشی
طراحی سایت
فیلم های آموزشی
برنامه نویسی پایه
گنجینه برنامه نویسی C# آموزش برنامه نویسی C سیستم مدیریت بانک آموزش اندروید - مقدماتی آموزش زبان HTML اصول و مبانی برنامه نویسی
گنجینه آموزش ASP .Net آموزش برنامه نویسی C++‎ پیاده سازی مدیریت آتلیه آموزش اندروید - تکمیلی آموزش زبان CSS آموزش الگوریتم و فلوچارت
گنجینه برنامه نویسی PHP آموزش برنامه نویسی C# پیاده سازی سیستم هتلداری آموزش اندروید - پیشرفته آموزش زبان Java Script آموزش تبدیل فلوچارت به کد
گنجینه آموزش طراحی وب آموزش برنامه نویسی جاوا شبیه سازی دستگاه عابربانک آموزش ساخت لیست ایمیل آموزش زبان jQury برنامه نویسی اسمال بیسیک
گنجینه برنامه نویسی متلب آموزش برنامه نویسی PHP پیاده سازی مدیریت آموزشگاه آموزش ساخت گالری تصاویر آموزش زبان XML آموزش برنامه نویسی اسمبلی
گنجینه برنامه نویسی اندروید آموزش برنامه نویسی پایتون پیاده سازی سیستم صدور بلیت آموزش کنترل ربات با اندروید آموزش طراحی Responsive طراحی سایت ویژه کودکان
گنجینه برنامه نویسی VB .Net آموزش برنامه نویسی اندروید پیاده سازی سیستم نوبت دهی آموزش ارتباط با دیتابیس سرور ساخت سایت خبری کدنویسی سریع با Emmet
گنجینه زبان های برنامه نویسی آموزش برنامه نویسی زبان R سیستم حسابداری و انبارداری زبان بیسیک فور اندروید (B4A) ساخت سایت فروشگاه آموزش کار با پایگاه داده
  1. omid-boy
    karbar Rank

    تاریخ عضویت:
    ‏20/5/14
    ارسال ها:
    3
    تشکر شده:
    0
    امتیاز دستاورد:
    0
    سلام خدمت همه دوستان
    واسه پروژه مدیریت هتل با زبان C# و بانک SQL server میخوام یه نمودار ER طراحی کنم
    خودم اینو طراحی کردم ولی رابطه هاو نمیدونم
    لطفا کمک کنید
    واسه پروژه پایانی هست
    eer.jpg
    اینو طراحی کردم ولی یه نمودار مثل این عکس پایینی میخوام
     

    پیوست ها:

    • eer.jpg
      eer.jpg
      اندازه فایل:
      کیلوبایت 97.2
      نمایش ها:
      26
  2. blackpage
    karbar Rank

    تاریخ عضویت:
    ‏21/5/14
    ارسال ها:
    16
    تشکر شده:
    4
    امتیاز دستاورد:
    0
    پاسخ : طراحی نمودار er برای پروژه مدیریت هتل

    ببین دوست عزیز , هر کدوم از اون مربع هایی که کشیدی یک جدول محسوب میشند.
    هر جدول یک کلید داره که دیگه اینارو میدونی...
    الان من نگاه کردم دیدم جدول کارکنان واسه خودش تنهاست. خوب نمیشه که, باید ارتباطش بدی..
    شما باید یک جدول پذیرش درست کنی.
    این جدول کلید خاصی نمیخواد , بلکه در این جدول شما ستونهایی درست کنی که برای سه جدول دیگه کلید محسوب مشن.
    یعنی بیایی این جدول پذیرشو بهانه ای برای مرتبط کردن این سه جدول قرار بدی.
    حالا اگر متوجه نشدی بگو.
     
    elahi از این پست تشکر کرده است.
  3. omid-boy
    karbar Rank

    تاریخ عضویت:
    ‏20/5/14
    ارسال ها:
    3
    تشکر شده:
    0
    امتیاز دستاورد:
    0
    پاسخ : طراحی نمودار er برای پروژه مدیریت هتل

    سلام ممنون از راهنماییت
    با این راهنمایی که کردی من الان ایو حدودی طراحی کردم eer.jpg حالا یه سوال با طراجی بانک اطلاعاتی من یه کمی تغییر کرد، این تغیرات تو سورس برنامه هم باید اعمال کنم؟
     
  4. blackpage
    karbar Rank

    تاریخ عضویت:
    ‏21/5/14
    ارسال ها:
    16
    تشکر شده:
    4
    امتیاز دستاورد:
    0
    پاسخ : طراحی نمودار er برای پروژه مدیریت هتل

    سلام امید جان
    من تو این نمودارت یه تصحیح کوچیک اعمال کردم اما فکر کنم کامل نباشه eer.jpg
    .من خودم خیلی وقت پیش ها برای یک نفر پروژه هتل انجام دادم با تمام این نمودار هاشو .. به طور کامل .اگر بتونم فایلشو پیدا کنم برای توضیح بیشتر بهت میدم.
    صبر کن اونو پیدا کنم از روی اون کامل بهت میگم که جاییشو اشتباه نکرده باشم.
    قطعا توی سورس هات هم باید تغییراتی بدی اما خیلی کوچیک. مثلا کلید هایی ممکنه جابه جا بشه که تو سورس هم اسمشون عوض کنی . در این حد.ولی خوب تو جدولهاتو کوئری هات هم تغییرات الزامیه.
    با سی شارپ کار میکنی؟
     
  5. omid-boy
    karbar Rank

    تاریخ عضویت:
    ‏20/5/14
    ارسال ها:
    3
    تشکر شده:
    0
    امتیاز دستاورد:
    0
    پاسخ : طراحی نمودار er برای پروژه مدیریت هتل

    ممنون از راهنماییتون
    آره با c# کار میکنم
    راستی این یکی رو هم طراحی کردم
    EER.png
     
  6. blackpage
    karbar Rank

    تاریخ عضویت:
    ‏21/5/14
    ارسال ها:
    16
    تشکر شده:
    4
    امتیاز دستاورد:
    0
    پاسخ : طراحی نمودار er برای پروژه مدیریت هتل

    سلام امیدجان
    نمودارت درست نیست.من نمونه ای رو که قبلا انجام دادمو برات گذاشتم تا ببینی.
    2.PNG
    خوب دقت کن : ما تو این جا دو نوع جدول داریم : 1- جدول موجودیت ها : مشتری - اتاق - رستوران -سالن تئاتر.
    2-جدول واسطه ها : offer room , offer servis
    نوع اول که عادی نوشته میشه و هیچی. نوع دوم همون جدولهایی هستند که رابطه باهاشون برقرار میکنیم جنسشون از نوع فعل و انجام کار هست.مثلا ارائه کردن اتاق یا ارائه خدمات.ببین تو جدول ارائه اتاق, که بین اتاق و مشتری هست. ما کلید مخصوصی در این جدول نداریم. در حقیقت نگاه کن, شما بین مشتری و اتاق چه وجه مشترکی پیدا میکنی؟؟ هیچی. پس بیا یک جدول بسازیم که کلیدهای این دو وجوودیت بشه کلیدهاش تا به این واسطه یه ارتابطی ایجاد کنیم. مثلا متوجه بشیم که مشتری ایکس با فلان آی دی در فلان اتاق بوده. حالا من واسش تاریخو ساعت هم گذاشتم که تو ه ساعتیو چه روزو ...
    بین مشتری و سرویس هم همینطور.
    حالا بیا ارتباط بین موجودیت Hotel Services با موجودیتهای رستوران و سالن تئاتر ببین. خوب دقت کن که بین اینها هم یک فعل have داریم.
    یادت باشه جدولهای offer room و offer services از نوع دوم بودن و از جنس فعل و کلیدشون میشد کلید جدولهایی که میخوان ارتباط بدن . حالا نگاه کن,اینجا بین رستوران و موجودیت ارائه سرویس هتل ما فعل have داریم اما این کار به جدول تبدیل نشده مثل ارائه دادن میدونی چرا؟ چون مثلا بین موجودیت رستوران و موجودیت سرویس های هتل ما کلید مشترک Services Number داریم. پس اینها مستقیم با هم در ازتباط هستند مثل موجودیت اتاق و مشتری یا مشتری و سرویس ها بدون هیچ وجه مشترکی نیستند. پس Have به جدول تبدیل نشد.
    در کل:
    1_شما بیا اول موجودیت هاتو مشخص کن.به هیچی کار نداشته باش.
    2_برای همشون فیلدهایی که دارنو مشخص کن.تو این مرحله اصلا به بیه هیچ کاری نداشته باش.فیلد هر موجودیت با توجه به ماهیت خودش بنویس . فیلد هارو میتونی صفت هم در نظر بگیری برای موجودیتت.غیر ضروری هارو هم حذف کن.
    3_بعد بیا روند کار با خودت بگو , مثلا مشتری رزرو میکند اتاق را, میبنی که این دوتا با هم سرو کار دارند پس بین مشتری و اتاق یک خط بکش و وسطش یک لوزی بکش بنویس رزرو کردن.
    4_خوب میبینی موجودیت اتاق و مشتری که در ارتباط قرار گرفتند و با هم کار دارند, وجه مشترکی ندارند. پس رزرو کردن باید بشه یک جدول میانجی گر بین این دوتا :)
    5_پس بدور لوزی رزور کردن(تو نمودار خودم منoffer-rooms نوشتم) یک مستطیل میکشی چون نیاز شد که تبدیل به جدول بشه تا بین اتاقو مشتری که وجه مشترک ندارند میانجی گری کنه .
    6_ بعدش اولین کاری که میکنی بلافاصله برای این جدول رزرو باید کلید این دوتا جدولی که همیخواد بینشون میانجی گری کنه براش به عنوان فیلد بنویسی و کلید تعریف کنی ولی خوب کلید اصلی نیستندو جدولهای میانجی گر کلید اصلی ندارند.پس کلیدهای اتاق و مشتری براش به عنوان فیلد قرار میدهیم.
    7_بعدش دید به فیلدهای دیگه هم نیازه و میتونه کمک کنه برای تکمیل شدن ,مثل تاریخ و ساعت رزرو . اینهارو هم تکمیل کن.
    8_همین روندو بین سایر موجودیتهایی که طبق منطق قضیه میتونند با هم در ارتباط باشند رو بیان کن و کم کم تکمیل میشه.
    منظورم از منطق قضیه این هست که مثلا ت ویک هتل واقعا چه چیزاها در ارتباطند,بر اون اساس موجودیتهاتو ارتباط بده.
    یک نکته مهم :وقتی مرحله 3 انجام دادی,تو مرحله 4 بینشون وجه مشترک پیدا شد,دیگه نمیخواد اون لوزی و فعل بینشون جدول کنی دلیلشم واضحه چون وجه مشترک دارند و نیازی به واسطه گر نیست(مثل have بین سرویس رستوران و سرویسهای هتل که شماره سرویس بینشون مشترک).اون لوزی که جدول نمیشه در حد تعریف واسه توضیح نمودار میمونه و چیزی نیست که تو بانک اطلاعت بخواد پیاده بشه. چرا که تو بانک اطلاعاتت فقط جدول ها هستند که پیاده سازی میشوند.


    این منطق و روندی که به طور کلی بیان کردم واسه طراحی هر بانک اطلاعاتی به کار میاد.
    توی نموداری که کشیدی : الان پذیرش کی انجام میده؟ کارکنان پذیرش میکنند ؟ یا کارکنان هم مثل مشتری ها باید پذیرش بشن؟
    احتمالا حالت اول منظورت بود . خود تا اینجاش درست,اما به نظرت مهمه که چه مشتری توسط چه کسی پذیرش شده؟وواقعا موضوع مهمتر از این تو یک هتل نیست؟ ;) البه غلط نیستا خوبه ولی ببین اولویت و کار اصلی تو : " رزرو کردن اتاق توسط مشتری" هست پس اتاقو مشتری مهم هستند.تازه اگر همین کارکنان و مشتری هم درست باشه بین کار کنان و مشتری وجه مشترک میبینی؟ خیر. پس فعل پذیرشی که تو لوزی کشیدی باید بشه مربع و لوزی یعنی جدول بشه تا ارتباط برقرار کنه که برای برقراری این ارتباط باید حتما دارای فیلد های کد مشتری و کد پرسنلی باشه تا میانجی گریو بتونه انجام بده.

    حالا این کار منم ببین امیدوارم به کارت بیاد.
    این توضیحات:
    1.PNG
    نمدار ER:
    2.PNG
    نمودار منطقی:
    3.PNG
    جدول های طراحی شدش با SQL:
    4.PNG

    موفق باشی
     
    elahi از این پست تشکر کرده است.
  7. irhotelbooking
    karbar Rank

    تاریخ عضویت:
    ‏2/3/17
    ارسال ها:
    1
    تشکر شده:
    0
    امتیاز دستاورد:
    0
    ممنونم از پاسخ های خیلی خوبی دادید استفاده کردم