السلام عليكم
ارجو المساعدة لو سمحتو عندي جدول العملاء في مشروع ATM عندما اجري عملية الحذف لاحد العملاء يظهر الخطأ التالى
[
attachment=12441]
وسببه تقريبا تعارض لوجود حقل CustomerID كمفتاح اساسي في جدول العملاء وهو ايضا مفتاح ثانوي في جدول الايداعات والمسحوبات طبقا لهذه العلاقة
[
attachment=12442]
كيف احل هذه المشكلة
بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته
أختي الكريمة،
الخطأ بسبب وجود علاقة عادية تربط بين مفتاح ثانوي FK العمود Deposits.CustomerID و مفتاح أساس PK العمود Customers.ID.
التعامل مع جدول متربط بعلاقة مع جدول آخر تحتاج للتركيز في نوع العلاقة بين الجداول.
مثلا الخطأ الموجود في الصورة، فالعلاقة (عادية) والعمود Customers.ID لديه بيانات مرتبطه به في العمود Deposits.CustomerID وعليه لا يمكن إتمام عملية الحذف.
إذ أنه في حالة العلاقة العادية يجب أولا حذف كل الاسطر من الجدول Deposits التي يتطابق فيها بيانات حقول CustomerID مع قيمة حقل ID في الجدول Customers.
هناك تخصيص لنوع العلاقة يقوم بمهمات الحذف والتعديل بشكل آلي:
يؤدي التخصيص من نوع Cascade إلى الحذف أو التحديث بشكل آلي وذلك في الخاصية INSERT And UPDATE specification للعلاقة،
وتحتوي خاصيتين Delete Rule وUpdate Rule فإذا تمت تخصيصهما على الخاصية Cascade فسيتم الحذف أو التحديث تلقائياً،
أي أن يكونا:
Delete Rule = Cascade
Update Rule = Cascade
أتمنى لكم التوفيق
اشكرك للرد والتوضيح
ممكن لو سمحت معلومات اكتر عن طريقة استخدام خاصية cascade لاجراءالتحديث والحذف بشكل صحيح من خلال لينك او مراجع خاصة بالسيكوال سيرفر