السلام عليكم ورحمة الله
أنا زميل لكم من قسم VB.Net ولا أكتب في هذا القسم عادة، وهذه أول مشاركة لي هنا وهي عبارة عن استفسار.
قد سبق لي أن صممت برامج إدارية بسيطة تعتمد قواعد البيانات. حيث أنشأ دائماً علاقات بين الجداول. هذه بعض الأمثلة:


ولكي أوضح اسفساري تخيل:
1- لدينا جدول للعملاء اسمه Customer في حقول وأهم حقل CustomerID وهو Primary Key في هذا الجدول.
2- لدينا جدول للطلبات اسمه Order فيه حقول وأهم حقلين هما OrderID وهو Primary Key في هذا الجدول و CustomerID وهو Foreign Key في هذا الجدول.
3- كالعادة ننشأ علاقة رأس بأطراف بين الجدولين عبر الحقل CustomerID.
نأتي للتطبيق في VB.Net:
حينما أريد أن أختار طلبات العميل 10001 فإني أكتب جملة SQL وأرسلها إلى DataAdapeter والجملة هي:
SELECT * FROM Order WHERE CustomerID=10001
وإذا أردت أن أعرض معلومات العميل 10001 علي كتابة جملة أخرى هي:
SELECT * FROM Customer WHERE CustomerID=10001
وهاتان الجملتان تعملان حتى في ظل عدم وجود علاقة بين الجدولين.
السؤال: متى أستشعر عملياً فائدة العلاقات والسبب من إنشائها؟
ما أعرفه إلى الآن أنها تساعدني في التأكد من ترابط الإدخالات في أكثر من جدول (في المثال السابق: لا يتم إدخال طلب لعميل في ظل عدم وجود سجل له في جدول العملاء). هذه الميزة لا أقلل من شأنها ولكني بشكل أو بآخر أستخدم VB.Net للتحقق من وجود السجل المتبوع قبل إنشاء سجل تابع. ولهذا فهي تكاد تكون غير محسوبة.
الميزة التي تجعلني أنشأ علاقات أن التغيير بالحذف أو التعديل على سجل متبوع يحذف أو يعدل جميع السجلات التابعة. وهذا ما يجعلني أنشأ علاقات.
هل هناك فوائد ملموسة للعلاقات بين الجدوال غير:
1- التأكد من ترابط الإدخالات.
2- عكس التغييرات التي تحدث للسجل المتبوع على جميع السجلات التابعة.
ملحوظة: أنني أستخدم VB.Net كـ Interface و لا أستخدم Access. كما أن ما سبق يبرر إنشاء العلاقات ولكني أستفسر عن مزيد من الفوائد للعلاقات.
أخوكم.





