الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف اجعل قيمة PK تنتقل اوتوماتيكيا الى قيمةFK

بدأه khsnas في 5 يوليو 2011 · 5 رد · 770 مشاهدة · في قواعد بيانات Microsoft SQL Server
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

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

وجعلت رقم الغرفة ROOM_NO مفتاح رئيسى لجدول الغرف وجعلته ايضا مفتاح غريب FOREIGN فى جدول الضيف لكى اعرف ان الضيف رقم كذا يشغل الغرفة رقم كذا

وجعلت رقم الضيف GUEST_ID مقتاح رئيسى فى جدول الضيف وجعلته ايضا مفتاح غريب FOREIGN فى جدول الغرف لكى اعرف ان الغرفة رقم كذا يشغلها الضيف رقم كذا

كما فى الصورة فى المرفقات

post-239611-064094700 1309862881_thumb.j

السؤال الان كيف احعل قيمة المفتاح الغريب يتم ادخالها اوتوماتيكيا عندما اقوم بادخال قيمة المفتاح الرئيسى المقابل لها

اى عندما ياتى ضيف واعطيه GUEST_ID مثلا 10 ويحجز الغرفة رقم 50 مثلا..... كيف اجعل قيمة FOREIGN KEY فى جدول الغرف الذى هو GUEST_ID ياخذ القيمة 10 اوتوماتيكيا بعد ادخالها فى جدول الضيف

وكذلك قيمة FOREIGN KEY فى جدول الضيف الذى هو ROOM_NO ياخذ القيمة 50 اوتوماتيكيا

افيدونى افادكم الله

المرفقات
DB.JPG
#2

السلام عليكم.

يفضل إنشاء جدول ثالث ( يسمى أحياناً جدول كسر علاقة ) بحيث يكون فيه حقلين: Room_No و Guest_Id ( الحقلين كمفتاح رئيسي مركب ) , و يتم إزالة حقل Guest_Id من جدول Room و أيضاً إزالة حقل Room_No من جدول Guest

عند الادخال: يجب أن تقوم بإدخال رقم الغرفة و رقم الضيف في الجدول الثالث.

1
#3
Adel Khayata كتب:

السلام عليكم.

يفضل إنشاء جدول ثالث ( يسمى أحياناً جدول كسر علاقة ) بحيث يكون فيه حقلين: Room_No و Guest_Id ( الحقلين كمفتاح رئيسي مركب ) , و يتم إزالة حقل Guest_Id من جدول Room و أيضاً إزالة حقل Room_No من جدول Guest

عند الادخال: يجب أن تقوم بإدخال رقم الغرفة و رقم الضيف في الجدول الثالث.

اخى الكريم شكرا للرد لكن هل سوف يكون هناك علاقة بين الجدول الثالث وجدولى الغرف والضيف وكيف ستتم عملية تحديث القيم اوتوماتيكيا كما شرحت فى اول الاستفسار

#4

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

الحقل Room_No في الجدول الثالث يكون مربوط بمفتاح Foreign مع الجدول Room

الحقل Guest_Id في الجدول الثالث يكون مربوط بمفتاح Foreign مع الجدول Guest

عملية الادخال في هذا الجدول لن تكون اوتوماتيكية: انت في الفورم سيكون لديك رقم الغرفة و رقم الضيف و يجب إدخال هذين الرقمين في الجدول الثالث من قبل برنامجك ( عن طريق تعليمة Insert على الجدول الثالث )

#5
Adel Khayata كتب:

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

الحقل Room_No في الجدول الثالث يكون مربوط بمفتاح Foreign مع الجدول Room

الحقل Guest_Id في الجدول الثالث يكون مربوط بمفتاح Foreign مع الجدول Guest

عملية الادخال في هذا الجدول لن تكون اوتوماتيكية: انت في الفورم سيكون لديك رقم الغرفة و رقم الضيف و يجب إدخال هذين الرقمين في الجدول الثالث من قبل برنامجك ( عن طريق تعليمة Insert على الجدول الثالث )

شكرا لك اخى الكريم مرة ثانية

لكن ما اقصده بعملية الادخال الاوتوماتيكية هى عندما ندخل القيم فى الجدول الثالث فى حقلى Room_No و Guest_Id كيف تنتقل تلك القيم الى المكافئ لهما فى جدولى الغرف والضيف اوتوماتيكيا ولا ارجع للاقوم بادخال نفس القيم فى جدولى الغرف والضيف ............ ارجو ان اكون قد شرحت لك بطريقة جيدة وتكون الفكرة وصلت

#6

أخي التسلسل المنطقي يفترض يكون كالتالي:

جدول الغرف يحتوي على كل بيانات الغرف الموجودة في القندق و كل غرفة يجب أن يكون لديها رقم في الجدول Room

جدول الضيوف: عندما يأتي ضيف جديد, يتم إنشاء سجل جديد في جدول ال Guest يحتوي على البيانات الخاصة بهذا الضيف و بمجرد الإنشاء سيكون لديك رقم للضيف في جدول ال Guest

الآن: في صفحة حجز الغرفة للضيف: عندما تختار الغرفة و الضيف سيكون لديك رقم الغرفة و رقم الضيف و هاتين القيمتين يجب إدخالهما ( يدوياً من قبل برنامجك ) إلى الجدول الثالث و هو الذي سيشير إلى أن الغرفة س قد تم استخدامها من قبل الضيف ع

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…