القيود Constraints:
ماذا سيحدث لو تمّ حذف سجل توفيق الحكيم من جدول
المؤلفين؟
في هذه الحالة ستظل هناك روايات في جدول الكتب تشير إلى
سجل توفيق الحكيم، بينما هو محذوف.. هذا بالتأكيد وضع مثاليّ لحدوث أخطاءٍ مزعجة
في برنامجك، لهذا يجبُ أن تراعي منطقيّة وصحّة العلاقات المرجعيّة، وهو ما يعرف
باسم التكامل المرجعي بين الجداول Referential
Integrity،
فلو قمت بحذف سجل توفيق الحكيم من جدول المؤلفين، فيجب عليك أيضا أن تحذف كل
الروايات والكتب التي ألفها من جدول الكتب.
وللتأكد من فرض هذا التكامل، يمكننا تعريف ما يسمى
بالقيود Constraints.. مثلا: لو أضفت قيد المفتاح الأجنبي Foreign-Key
Constraint، فإن قاعدة البيانات
سترفض حذف أي مؤلف بينما ما تزال هناك كتب تابعة له.. هذا يجبرك على حذف كتب هذا
المؤلف أولا قبل أن تقوم بحذفه.
ويوجد
قيد آخر نوهنا إليه سابقا، وهو قيد التفرد Unique Constraint، وهو يُفرض على المفتاح الأساسي للجدول لضمان تفرد معرّف كل سجل..
ويُفرض قيد التفرد أيضا على المفتاح الفرعي في حالة واحدة فقط، وهي عند التعامل مع
علاقة واحد بواحد One-to-one.
وسنرى
كيف نضيف هذه القيود في سيكويل سيرفر وآكسيس لاحقا.
من
كتاب: من الصفر إلى الاحتراف برمجة قواعد البيانات في فيجوال بيزيك دوت نت ADO
.NET
للتنزيل
من مكتبة الكتب العربية برابط مباشر:
ليست هناك تعليقات:
إرسال تعليق
ملحوظة: يمكن لأعضاء المدونة فقط إرسال تعليق.