المتابعون للمدونة

السبت، 25 يونيو 2016

إنشاء العلاقات في سيكويل سيرفر


إنشاء العلاقات في سيكويل سيرفر:

في متصفح الكائنات Object Explorer أسدل عناصر قاعدة بيانات الكتب Books، وبزر الفأرة الأيمن اضغط "مخططات قاعدة البيانات" Database Diagrams، ومن القائمة الموضعية اضغط الأمر New Database Diagram.. سيؤدي هذا إلى عرض نافذة اختيار الجداول التي ستستخدمها في رسم المخطط.. حدد جدولا أو أكثر بالفأرة، ثم اضغط الزر Add لإضافتها إلى صفحة المخطط، ثم اضغط Close لإغلاق النافذة والانتقال إلى صفحة المخطط.. هذه النافذة تشبه نافذة إنشاء العلاقات في آكسيس، ولكنها تمنحك ميزات إضافية، فبإمكانك تغيير أسماء أعمدة أي جدول بمجرد ضغطها وتحريرها في هذا المخطط، كما يمكنك ضغط أي حقل بزر الفأرة الأيمن وضغط الأمر Set Primary Key من القائمة الموضعية لجعل هذا الحقل مفتاحا أساسيا.
 
وفي الوضع الطبيعي، يعرض المستطيل الممثل لكل جدول أسماء أعمدته، لكنك تستطيع أن تعرض أيضا تفاصيل كل عمود (اسمه، ونوع بياناته، والسماح بتركه فارغا)، وذلك بضغط مستطيل الجدول بزر الفأرة الأيمن لعرض القائمة الموضعية، ثم ضغط القائمة الفرعية Table View، وضغط الأمر Standered.. كما يمكنك اختيار طرق عرض أخرى، كأن تختار عرض المفاتيح الأساسية الموجودة في الجدول فقط Keys، أو اختيار عرض اسم الجدول فقط Name Only، بل يمكنك تصميم طريقة عرض خاصة بك Custom.. مبدئيا ستعرض هذه الطريقة تفاصيل الجدول الأساسية، ولكن يمكنك إضافة أية تفاصيل أخرى بضغط الزر Modify Custom، واستخدام النافذة التي ستظهر لنقل التفاصيل التي تريد عرضها من القائمة اليسرى إلى القائمة اليمنى، وذلك بضغط الزر < .

 
وكما ترى في الصورة أعلاه، فقد أضفنا عمود القيمة الافتراضية للعمود، وهذا سيؤدي إلى عرض مخطط الجدول كما في الصورة.. ولو أردت العودة إلى طريقة العرض التقليدية، فاضغط الأمر Column Names لعرض أسماء الأعمدة فقط.

 
وكما في آكسيس، يمكنك سحب أي حقل من جدول وإلقاؤه على أي حقل في جدول آخر لتكوين علاقة بين الجدولين.. سيؤدي هذا إلى ظهور نافذة توضح الجدولين والعمودين الداخلين في العلاقة، لتتيح لك تغييرهما إن أردت:
 
وبعد أن تضغط OK ستظهر نافذة توضح اسم وخصائص العلاقة بين الجدولين:
 
في هذه النافذة يمكنك إدخال اسم العلاقة، وتحديد مواصفاتها، بطريقة مماثلة للتي اتبعناها في Access.. لاحظ أن اسم العلاقة الافتراضي يكون على الصيغة:
FK_T1_T2n، حيث FK اختصار "المفتاح الفرعي" Foreign Key، و T1 هو اسم الجدول الأول (الذي يحتوي على المفتاح الأساسي)، و T2 هو اسم الجدول الثاني (الذي يحتوي على المفتاح الفرعي)، و n هو رقم العلاقة، وهو يبدأ بالرقم 1، ويمكنك حذفه لو كانت هناك علاقة واحدة فقط بين الجدولين.. وعلى كل حال، يمكنك تغيير هذا الاسم إلى أي اسم آخر يناسبك، بتغيير الخاصية (Name) الموجودة أسفل النافذة.. كما تحتوي هذه النافذة على الخصائص التالية:
 
-      Check existing data on creation or re-enabling:
إذا جعلت قيمة هذه الخاصية Yes (وهي القيمة الافتراضية)، فسيتم التحقّق من صحّة البيانات الموجودة حاليا في الجدولين، للتأكد من أنها تتفق مع شروط العلاقة التي سيتم إنشاؤها.

-       Enforce for replication:
إذا جعلت قيمة هذه الخاصية Yes (وهي القيمة الافتراضية)، فسيتم إنشاء العلاقة في قاعدة البيانات الجديدة عند نسخ قاعدة البيانات الحالية.

-       Enforce foreign key constraint:
إذا جعلت قيمة هذه الخاصية Yes (وهي القيمة الافتراضية)، فسيتم التحقق من قيد المفتاح الفرعي، وهو يتأكد من عدم وجود بيانات في الجدول الفرعي مرتبطة بمفتاح غير موجود في الجدول الأساسي.. بعبارة أخرى: هذا القيد يدفع قاعدة البيانات لتحقيق التكامل المرجعي Referential Integrity بين الجدولين، لهذا لو حاولت حذف سجل من الجدول الأساسي وكان مرتبطا ببيانات في الجدول الفرعي، فسيحدث خطأ ولن يتم تنفيذ هذه العملية.. ولو أردت أن تنفذ عملية الحذف، فعليك أولا أن تحذف السجلات ذات الصلة من الجدول الفرعي، ثم تحذف بعدها السجل الأساسي المرتبط بها من الجدول الأساسي.

-       INSERTs and UPDATEs Specifications:
اضغط العلامة + المجاورة لهذه الخاصية، لتظهر لك الخاصيتان التاليتان:

§      قاعدة الحذف Delete Rule:
تتحكم هذه الخاصية في ماذا يحدث عندما يتم حذف بعض السجلات الداخلة في العلاقة.

§      قاعدة التحديث Update Rule:
تتحكم هذه الخاصية في ماذا يحدث عندما يتم تحديث بيانات بعض السجلات الداخلة في العلاقة.

والجدول التالي يوضح القيم المختلفة لهاتين الخاصيتين: 

No Action
عدم اتخاذ أي إجراء.. هذه هي القيمة الافتراضية في النافذة.
Cascade
عند تحديث المفتاح الأساسي، يتم تلقائيا تحديث خانة المفتاح الفرعي في السجلات المرتبطة به في الجدول الفرعي.
وعند حذف سجل المفتاح الأساسي، يتم تلقائيا حذف جميع السجلات المرتبطة به في الجدول الفرعي.
Set Null
عند حذف أو تحديث المفتاح الأساسي، يتم وضع قيمة منعدمة DBNull في خانة المفتاح الفرعي في السجلات المرتبطة به في الجدول الفرعي.
Set Default
عند حذف أو تحديث المفتاح الأساسي، يتم وضع القيمة الافتراضية في خانة المفتاح الفرعي في السجلات المرتبطة به في الجدول الفرعي.

 
اضغط OK لإغلاق النافذة، حيث سيظهر خط بين الجدولين، يمثل هذه العلاقة.
 

 
ملاحظة:
لكي تنشئ علاقة بين حقلين، يجب أن يكون لهما نفس نوع البيانات ونفس الطول، وإلا فسيرفض سيكويل سيرفر إنشاء العلاقة.. لهذا تأكد من أن للمفاتيح الأساسية والمفاتيح الفرعية نفس النوع لتصلح للدخول في العلاقات.

 وتستطيع تغيير شكل خط العلاقة بمرونة، بمجرد سحب أي جزء منه بالفأرة، كما أن طرف بدايته يأخذ شكل مفتاح للإشارة إلى حقل المفتاح الأساسي، بينما يأخذ طرفه الآخر شكل علامة "ما لا نهاية" للإشارة إلى علاقة "واحد بمتعدد".

ولمراجعة أو تعديل خصائص العلاقة، اضغط خطّ العلاقة بزرّ الفأرة الأيمن، ومن القائمة الموضعيّة اضغط الأمر Properties.. ستظهر نافذة الخصائص وبها خصائص العلاقة، بحيث يمكنك تعديلها كيفما شئت.. أما لو شئت حذف العلاقة، فاضغط الخط الممثل لها بزر الفأرة الأيمن، ومن القائمة الموضعية اضغط الأمر Delete Relationship From database، وأكد رسالة الحذف الذي ستظهر لك بضغط Yes.

وتتيح لك صفحة المخططات بعض التسهيلات الإضافية:

-   إذ يمكنك مثلا أن تغير نسبة العرض Zoom باستخدام القائمة المنسدلة الموجودة على شريط الأدوات، أو باستخدام القائمة الفرعية Zoom التي تعرضها القائمة الموضعية عند الضغط بزر الفأرة الأيمن في أي منطقة خالية من صفحة المخططات.

-   كما يمكنك أن تختار أيضا من القائمة الموضعية إضافة تعليق نصي، وذلك بضغط الأمر Add Text Annotation، حيث سيؤدي هذا إلى إدراج مربع نص على صفحة المخطط لتكتب فيه ما تشاء، مع قدرتك على سحب إطاره بالفأرة لتغيير حجمه أو موضعه، ولو ضغطت داخله بزر الفأرة الأيمن، فيمكنك اختيار تغيير الخط من القائمة الموضعية وذلك بضغط الأمر Set Text Annotation Font.

-   ويمكنك عرض لافتة على خط كل علاقة توضح اسم العلاقة، وذلك بضغط الأمر Show Relationship Labels.

-   كما يمكنك عرض خط أزرق يمثل حدود صفحة الطباعة لكي تضمن عدم تجاوز الجداول له في حالة رغبتك في طباعة المخطط، وذلك بضغط الأمر View Page Breaks.

-   وبعد أن تنتهي من تصميم المخطط، استخدم الأمر Copy Diagram to Clipboard لنسخه كصورة إلى لوحة قصاصات الويندوز، ومن ثم يمكنك لصقه في أي برنامج تحرير صور مثل Paint أو حتى Word لتستطيع طباعته أو استخدامه في وثائقك.

-   كما يمكنك طباعة المخطط مباشرة باستخدام الأمرين Page Setup و Print من القائمة الرئيسية File.

والآن قم بحفظ هذا المخططّ، وذلك بضغط Ctrl+S حيث ستظهر لك نافذة تسألك عن اسم المخطّط.. سمّه Diagram1 مثلا.. ستظهر لك رسالة تنذرك بأنّ هناك تغييرات ستحدث لبعض الجداول لتمنحك الفرصة للتراجع.. لو أردت ألا تظهر لك هذه الرسالة في كل مرّة، فأزل علامة الاختيار من مربّع الاختيار Warn About Tables Affected.. اضغط Yes لإتمام العمليّة وإغلاق الرسالة.

لاحظ أنك تستطيع إنشاء أكثر من مخطط وحفظها بأسماء مختلفة.. هذا يتيح لك تقسيم العلاقات بين الجداول على أكثر من مخطط، وذلك إذا كانت جداول قاعدة البيانات كثيرة جدا ومن العسير وضعها كلها معا في مخطط واحد.

من كتاب: من الصفر إلى الاحتراف برمجة قواعد البيانات في فيجوال بيزيك دوت نت ADO .NET.. للتنزيل:
http://mhmdhmdy.blogspot.com.eg/2016/02/blog-post_28.html

ليست هناك تعليقات:

إرسال تعليق

ملحوظة: يمكن لأعضاء المدونة فقط إرسال تعليق.

صفحة الشاعر