الانتقال إلى المحتوى

كيف احدد نوع هذه العلاقة


‫شاذلى احمد‬‎

Recommended Posts

السلام عليكم

عايز اعرف نوع العلاقه هل هى واحد : لواحد     او     واحد : للكل       او    الكل : للكل 

هى علاقه فى مشروع فندق بين جدول الغرف وجدول النزلاء

 

جدول النزلاء مثلا يتكون من :

رقم النزيل

اسم النزيل

الجنسية

العمر

رقم جواز السفر

 

 

وجدول الغرف يتكون من :

رقم الغرفه

اسم الغرفه

 

علما بانى وضعت رقم النزيل كمفتاح اجنبى فى جدول الغرف , ورقم الغرفه مفتاح اجنبى فى جدول النزلاء بدون ان اعرف نوع العلاقه هل هى واحد لواحد او واحد للكل .......الخ

 

الرجاء الافاده اخوكم فى اول الطريق وناوى ان شاء الله اواصل للنهاية 

تم تعديل بواسطة ‫شاذلى احمد‬‎
رابط هذا التعليق
شارك

عليكم السلام ..... العلاقة هي علاقة(( واحد الى متعدد)) ((one-To -many)) .... لان النزيل ينزل في غرفة واحدة .... اما الغرفة يمكن ان ينزل فيها عدة نزلاء ...

رابط هذا التعليق
شارك

طيب طريقة وضع المفاتيح الاجنبية صح ولا غلط فى الربط بين الجدولين

رابط هذا التعليق
شارك

اخي الحبيب المفتاح الاجنبي هو واحد للجدولين ....... اي مثلا الرقم ... يكون اساسي في احد الجداول ونفسه(الرقم) يكون اجنبي في الجدول الاخر ...... وفي موظوعك الافظل ان يكون رقم الغرفة هو المفتاح الاساسي (في جدول الغرف) ونفسه تضعه كمفتاح اجنبي في جدول النزلاء. 

رابط هذا التعليق
شارك

رقم النزيل فى جدول النزلاء مفتاح اساسى

و رقم الغرفة فى جدول الغرف مفتاح اساسى

و تضيف عمود فى جدول النزلاء برقم الغرفة و يبقى مفتاح اجنبى

رابط هذا التعليق
شارك

اخي الحبيب المفتاح الاجنبي هو واحد للجدولين ....... اي مثلا الرقم ... يكون اساسي في احد الجداول ونفسه(الرقم) يكون اجنبي في الجدول الاخر ...... وفي موظوعك الافظل ان يكون رقم الغرفة هو المفتاح الاساسي (في جدول الغرف) ونفسه تضعه كمفتاح اجنبي في جدول النزلاء. 

اوكى يعنى انا ماشى صح , تسلم كتيييييييييير

رابط هذا التعليق
شارك

رقم النزيل فى جدول النزلاء مفتاح اساسى

و رقم الغرفة فى جدول الغرف مفتاح اساسى

و تضيف عمود فى جدول النزلاء برقم الغرفة و يبقى مفتاح اجنبى

تمام , وكمان تضيف عمود جديد فى جدول الغرف برقم النزيل ويكون مفتاح اجنبى , مش كده ؟

رابط هذا التعليق
شارك

عليكم السلام ..... العلاقة هي علاقة(( واحد الى متعدد)) ((one-To -many)) .... لان النزيل ينزل في غرفة واحدة .... اما الغرفة يمكن ان ينزل فيها عدة نزلاء ...

طيب ايه استفدت انا من انى عرفت انو العلاقة  واحد الى متعدد

رابط هذا التعليق
شارك

الخطا عندك اخي انك وظعت رقم النزيل في جدول الغرف وهذا خطا ............. 

طيب اذا انا عايز اعمل استعلام عن عدد النزلاء فى عرفه معينه , مش المفروض يكون رقم النزيل مفتاح اجنبى فى جدول الغرف

رابط هذا التعليق
شارك

 

رقم النزيل فى جدول النزلاء مفتاح اساسى

و رقم الغرفة فى جدول الغرف مفتاح اساسى

و تضيف عمود فى جدول النزلاء برقم الغرفة و يبقى مفتاح اجنبى

تمام , وكمان تضيف عمود جديد فى جدول الغرف برقم النزيل ويكون مفتاح اجنبى , مش كده ؟

 

لا

علاقة ال one to many

يبقى فيه جدول ماستر و جدول ديتيل

الجدول الماستر عندك هنا هو جدول الغرف و الديتيل هو النزلاء

ميزة المفتاح الاجنبى هو الربط بين الجدوليين

فا لما مثلا احب اعرف بيانات الغرفة اللى نازل فيها رقم نزيل معين فا بيبقى من رقم الغرفة اللى موجود فى جدول النزلاء اروح بيه فى جدول الغرف و اطلع بياناتها و هكذا

با ختصار شديد هو عمود اجنبى واحد يربط بين الاثنيين و فى جدول واحد و العمود ده بيكون هو العمود الاساسى فى الجدول الماستر

رابط هذا التعليق
شارك

 

الخطا عندك اخي انك وظعت رقم النزيل في جدول الغرف وهذا خطا ............. 

طيب اذا انا عايز اعمل استعلام عن عدد النزلاء فى عرفه معينه , مش المفروض يكون رقم النزيل مفتاح اجنبى فى جدول الغرف

 

بنقدر نطلع البيان ده عادى من جدول النذلاء لانه رقم الغرفة موجود فى جدول النزلاء 

بص يا سيدى ده تصور للجدوللين

جدول النزلاء:

رقم النزيل  PK

أسم النزيل

عمره

رقم جواز السفر

تاريخ الحجز

مدة الاقامة

رقم الغرفة Fk من جدول الغرف يعنى البيان اللى حيكتب فيه لازم يكون موجود مقابل ليه فى الجدول التانى (الغرف )

 

جدول الغرف:

رقم الغرفة PK

حالة الغرفة

سعر الحجز

اى بيانات اخرى

 

يعنى ده تصور بسيط عن موضوعك

رابط هذا التعليق
شارك

السلام عليكم ورحمة الله 

 

يوجد لديك جدولين 

الجدول الأول البيانات الأساسية للعميل أو النزيل ويحتوي البيانات المرتبطه ببيانات النزيل فقط وهي 

رقم النزيل وهو مفتاح الجدول PK

اسم العميل 

تاريخ الميلاد  (وليس العمر حيث ان العمر قيمه ثابته يجب تغييرها بمرور السنوات ولكن باستخدام تاريخ الميلاد يمكنك استنتاج عمر النزيل في اي وقت وبعد مرور اي عدد من السنوات بطرح تاريخ الميلاد من تاريخ اليوم )

رقم جواز السفر 

رقم الموبايل 

المهنه 

عنوان السكن 

واي بيانات تتعلق بكيان الشخص او الانسان 

وبالتالي تاريخ الحجز ومدة الأقامه ليست من صفات الانسان 

 

الجدول الثاني البيانات الأساسية للغرف وتشمل 

رقم الغرفة  وهي مفتاح الجدول PK

وصف الغرفه 

السعر 

حالة الغرفة ( محجوزة - شاغرة - في الصيانه - ... ) 

 

لتسجيل العلاقة بين النزيل والغرف تتم من خلال تسجيل بيانات عملية الحجز 

ويشمل جدول الحجز الأعمدة التالية : 

رقم الحجز وهو مفتاح الجدول pk

تاريخ الحجز 

رقم النزيل وهو مفتاح اجنبي fk مع جدول النزيل

مدة الإقامة المتوقعه

تاريخ الوصول المتوقع

تاريخ الوصول الفعلي

تاريخ المغادرة 

رقم الغرفه وهو مفتاح اجنبي fk مع جدول الغرف ( بإفتراض أن النزيل سيقوم بحجز غرفة واحده فقط )

عدد المرافقين

+ بيانات اخرى مرتبطه بعملية الحجز 

 

فالعلاقة بين النزيل والغرفة many to many 

ولتنفيذ العلاقة تم اضافة الجدول الوسيط الخاص بعملية الحجز واصبحت هناك علاقتين كل منهما one to many 

النزيل مع الحجز ... بمعنى ان النزيل يمكن ان يقوم بعملية حجز واحدة أو أكثر ..... وأنه لا يمكن إجراء حجز بدون وجود رقم عميل 

العلاقة بين الغرف والحجز 

الغرفة يمكن الا يكون هناك حجز لها ..... وايضا الغرفة يمكن اشغالها مرة واحدة أو أكثر 

الغرفة يتم اشغالها من خلال وجود حجز 

رابط هذا التعليق
شارك

السلام عليكم ورحمة الله 

 

يوجد لديك جدولين 

الجدول الأول البيانات الأساسية للعميل أو النزيل ويحتوي البيانات المرتبطه ببيانات النزيل فقط وهي 

رقم النزيل وهو مفتاح الجدول PK

اسم العميل 

تاريخ الميلاد  (وليس العمر حيث ان العمر قيمه ثابته يجب تغييرها بمرور السنوات ولكن باستخدام تاريخ الميلاد يمكنك استنتاج عمر النزيل في اي وقت وبعد مرور اي عدد من السنوات بطرح تاريخ الميلاد من تاريخ اليوم )

رقم جواز السفر 

رقم الموبايل 

المهنه 

عنوان السكن 

واي بيانات تتعلق بكيان الشخص او الانسان 

وبالتالي تاريخ الحجز ومدة الأقامه ليست من صفات الانسان 

 

الجدول الثاني البيانات الأساسية للغرف وتشمل 

رقم الغرفة  وهي مفتاح الجدول PK

وصف الغرفه 

السعر 

حالة الغرفة ( محجوزة - شاغرة - في الصيانه - ... ) 

 

لتسجيل العلاقة بين النزيل والغرف تتم من خلال تسجيل بيانات عملية الحجز 

ويشمل جدول الحجز الأعمدة التالية : 

رقم الحجز وهو مفتاح الجدول pk

تاريخ الحجز 

رقم النزيل وهو مفتاح اجنبي fk مع جدول النزيل

مدة الإقامة المتوقعه

تاريخ الوصول المتوقع

تاريخ الوصول الفعلي

تاريخ المغادرة 

رقم الغرفه وهو مفتاح اجنبي fk مع جدول الغرف ( بإفتراض أن النزيل سيقوم بحجز غرفة واحده فقط )

عدد المرافقين

+ بيانات اخرى مرتبطه بعملية الحجز 

 

فالعلاقة بين النزيل والغرفة many to many 

ولتنفيذ العلاقة تم اضافة الجدول الوسيط الخاص بعملية الحجز واصبحت هناك علاقتين كل منهما one to many 

النزيل مع الحجز ... بمعنى ان النزيل يمكن ان يقوم بعملية حجز واحدة أو أكثر ..... وأنه لا يمكن إجراء حجز بدون وجود رقم عميل 

العلاقة بين الغرف والحجز 

الغرفة يمكن الا يكون هناك حجز لها ..... وايضا الغرفة يمكن اشغالها مرة واحدة أو أكثر 

الغرفة يتم اشغالها من خلال وجود حجز 

شكرا كتيييييييييييييير .

طيب اذا عايز اضيف مصروفات النزيل  خلال فترة اقامته مثلا حساب البوفيه  هل حاعمل جدول جديد او اضيفها مع جدول الحجز ؟

مثلا اذا اريد ان استعلم عن مصروفات النزيل فى تاريخ معين مثلا حساب البوفيه , بعطينى مثلا الحساب عدد واحد قهوه + و2 شاى + بيرغر

رابط هذا التعليق
شارك

السلام عليكم ورحمة الله 

 

لمتابعة الخدمات المقدمة للنزيل 

يتطلب منك الجداول التالية 

 

- جدول رموز الخدمات وسعر كل خدمة ( رمز الخدمة  Pk - وصف الخدمة - سعر الخدمة ) 

 

جدول لتسجيل بيانات الفاتورة ( جدولين ) 

- جدول رئيسي يحتوى 

رقم  الفاتورة pk 

تاريخ الفاتورة 

رقم الحجز ( FK  مع جدول بيانات الحجز ) 

رقم الموظف مقدم الخدمة FK  مع جدول بيانات الموظفين 

+ ..... 

 

جدول تفصيلي للفاتورة 

- رقم الفاتورة FK  مع جدول الفاتورة الرئيسي 

- رقم مسلسل داخل الفاتورة على مستوى كل خدمة مقدمة  مع ملاحظة أن رقم الفاتورة ورقم المسلسل هما معا مفتاح الجدول 

- رمز نوع الخدمة ( FK  مع جدول رموز الخدمات ) 

- الكميه ( العدد)  من الخدمة 

- سعر الخدمة 

- قيمة الخدمة ( العدد * سعر الخدمة ) ... يمكن عدم الإحتفاظ بالقيمة في الجدول لانها قيمة محسوبة يمكن حسابها عند طباعة الفاتورة وعند اجراء العمليات الحسابيه بالبرنامج

 

 

امثلة على بيانات الجداول

101  شاي        2

102 قهوة تركي 3 

 

201 سندوتش جبنه 2

202 ستدوتش مربه 2

 

301 غسيل قميص  1

302 غسيل بدله    4

 

وهكذا

 

جدول الفواتير الرئيسي  

111 01092014 222 55

112 01092014 223 66

113 02092014 222 66 

 

جدول تفصيلي القاتورة 

111 1 301 5 1 5

111 2 302 1 4 4

111 3 101 4 2 8 

112 1 101 3 2 6

113 1 101 3 2 6 

113 2 201 2 2 4 

رابط هذا التعليق
شارك

باشمهندس امجد

تحليل النظم بيبقى عن طريق زيادة الممارسة ولا عن طريق بعض الاساسيات ؟

رابط هذا التعليق
شارك

السلام عليكم ورحمة الله 

 

لمتابعة الخدمات المقدمة للنزيل 

يتطلب منك الجداول التالية 

 

- جدول رموز الخدمات وسعر كل خدمة ( رمز الخدمة  Pk - وصف الخدمة - سعر الخدمة ) 

 

جدول لتسجيل بيانات الفاتورة ( جدولين ) 

- جدول رئيسي يحتوى 

رقم  الفاتورة pk 

تاريخ الفاتورة 

رقم الحجز ( FK  مع جدول بيانات الحجز ) 

رقم الموظف مقدم الخدمة FK  مع جدول بيانات الموظفين 

+ ..... 

 

جدول تفصيلي للفاتورة 

- رقم الفاتورة FK  مع جدول الفاتورة الرئيسي 

- رقم مسلسل داخل الفاتورة على مستوى كل خدمة مقدمة  مع ملاحظة أن رقم الفاتورة ورقم المسلسل هما معا مفتاح الجدول 

- رمز نوع الخدمة ( FK  مع جدول رموز الخدمات ) 

- الكميه ( العدد)  من الخدمة 

- سعر الخدمة 

- قيمة الخدمة ( العدد * سعر الخدمة ) ... يمكن عدم الإحتفاظ بالقيمة في الجدول لانها قيمة محسوبة يمكن حسابها عند طباعة الفاتورة وعند اجراء العمليات الحسابيه بالبرنامج

 

 

امثلة على بيانات الجداول

101  شاي        2

102 قهوة تركي 3 

 

201 سندوتش جبنه 2

202 ستدوتش مربه 2

 

301 غسيل قميص  1

302 غسيل بدله    4

 

وهكذا

 

جدول الفواتير الرئيسي  

111 01092014 222 55

112 01092014 223 66

113 02092014 222 66 

 

جدول تفصيلي القاتورة 

111 1 301 5 1 5

111 2 302 1 4 4

111 3 101 4 2 8 

112 1 101 3 2 6

113 1 101 3 2 6 

113 2 201 2 2 4 

السلام عليكم استاذنا ما رايك فى الجداول واذا يوجد فيها سلبيات فى الصوره ادناه , هل اقدر انتقل للفورم بعد هذه المرحله ام يوجد اضافات تنصحنى بيها

فى المثال تبع جدول الفواتير وجدول تفصيلى الفواتير لم افهم هذه الارقام

 

post-143416-0-85441500-1409988855_thumb.jpg

تم تعديل بواسطة ‫شاذلى احمد‬‎
رابط هذا التعليق
شارك

السلام عليكم ورحمة الله

 

يوجد بعض التعديلات في الرسم

مرفق التعديل

الله يعطيك العافيه استاذى ,,, اطلعت على التعديلات كانت اخطاء غباء منى :unsure: وتم التعديل

وكده هل اقدر اتجه للفورم ام يوجد خطوه اخرى ,

مثلا ممكن اعمل مخطط انسيابى لعمل البرنامج , طبعا هذا اول مشروع  لى

رابط هذا التعليق
شارك

السلام عليكم ورحمة الله

 

يمكنك البدء بحصر شاشات الإدخال وشاشات الإستعلام والتقارير المطلوبه

 

يمكنك ايضا التوسع بعد ذلك في البرنامج  باضافة إجراءات مالية واداريه اخرى

 

يمكنك حاليا اضافة جدول رموز الجنسيات لاستخدامه مع جدول البيانات الأساسية للنزيل ( رمز جنسية النزيل )

يمكنك إضافة جدول البيانات الأساسية للموظفين لأستخدامه مع جدول الحجز( الموظف القائم بالحجز )  وجدول الفاتورة الرئيسي ( الموظف مقدم الخدمة)

 

يمكنك الإطلاع ايضا على هذا الموقع "هدية"  والذي يحتوى مجموعه متنوعه من ال erd

 

http://databaseanswers.org/data_models/index.htm

رابط هذا التعليق
شارك

السلام عليكم ورحمة الله

 

يمكنك البدء بحصر شاشات الإدخال وشاشات الإستعلام والتقارير المطلوبه

 

يمكنك ايضا التوسع بعد ذلك في البرنامج  باضافة إجراءات مالية واداريه اخرى

 

يمكنك حاليا اضافة جدول رموز الجنسيات لاستخدامه مع جدول البيانات الأساسية للنزيل ( رمز جنسية النزيل )

يمكنك إضافة جدول البيانات الأساسية للموظفين لأستخدامه مع جدول الحجز( الموظف القائم بالحجز )  وجدول الفاتورة الرئيسي ( الموظف مقدم الخدمة)

 

يمكنك الإطلاع ايضا على هذا الموقع "هدية"  والذي يحتوى مجموعه متنوعه من ال erd

 

http://databaseanswers.org/data_models/index.htm

اوووووووو الموقع رهيب حيساعدنى كتير .......... شكرااااااااا كتير بارك الله فيك

رابط هذا التعليق
شارك

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   تمت استعادة المحتوى السابق الخاص بك.   مسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

جاري التحميل
×
×
  • أضف...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية