فيما يلى سنسرد الطريقة الخاصة بخطوات تحويل مخطط البيانات ERD الى مخطط البيانات النهائى Relation Model
الخظوة الاولى :
لكل وحدة بيانتات
عادية (قائمة بذتها) Regular Entity وسوف نطلق عليها E فى مخطط البيانات والموجود فى الشكل السابق ERD ، سنلحق لها جدول Relation و سوف نطلق عليها Rنضع به كل خصائص البيانات البسيطة ( الغير
مركبة ) Simple Attributes
الموجود فى E.
وفى حالة وجود خصائص
بيانات مركبة Component Attribute
فى E
نضع فى R
فقط خصائص البيانات التى البسيطة الخاصة بها Simple Component
Attributes
، ثم نقوم باختيار احد الخصائص البيانات التى تعتبر مفاتيح Key Attribule E على انه هو المفتاح Primary Key للجدول Relation و المسماة R .
اذا كان المفتاح Key الذى تم اختياره مركب Composite ، فان مجموعة خصائص البيانات البسيطة Simple
Attributes
والتى يتكون منها هذا المفتاح المركب Composite Key سوف تقوم هى ذاتها بتكون المفتاح الاساسى Primary Key للجدول Relation والمساوة R .
ففى مثال الشركة Company ، قمنا بانشاء الجداول EMPLOYEE ، DEPARTMENT و PROJECT وذلك لكى تتناسب مع وحدات البيانات العادية Regular
Entity Types
والتى تسمى EMPLOYEE
، DEPARTMENT
و PROJECT
.
لم يتم ادراج المفتاح
الخارجى Foreign Key
او خصائص البيانات الدالة على العلاقات Relationship Attributes وذلك اذا كان هناك اصلا داع لوجودها ، وسيتم
ادراجهم فى خطوات تالية .
وكمثال لهم خصائص
البيانات Attributer
مثل SUPERSSN
و DNO
فى وحدة بيانات Entity
والمساوة EMPLOYEE
، وايضا خصائص البيانتات Attributes
مثل MGRSSN
و MGRSTARTDATAE
فى وحدة بيانات Entity
والمساوة DEPARTMENT
، وايضا DNAME
فى وحدة بيانات PROJECT
.
وفى مثالنا باختيار SSN ، DNUMBER و PNUMBER كمفتاح اساسية Primary Keys للجداول EMPLOYEE ، DEPARTMENT ، PROJECT على التوالى .
الخطوة الثانية :
لكل محدة بيانات تابعة
(ضعيفة) Weak Entity
وسنميها W
فى مخطط البيانات ER Schema
ولها وحدة بيانات تملكها Owner Entity Type وسوف نسميها E ، قم بانشاء جدول Relation وسوف نسمية R ، وضع به كل خصائص البيانات البسيطة Simple
Attributes
( او المكونات البسيطة Simple Component فى حالة خصائص البيانات المركزية Composite
Attributes
) الخاصة بـــــ W
.
و بالاضافة لذلك ، ضع
المفتاح الاساسى Primary Key
( او المفاتيح الاساسية ) التى تتناسب مع وحدة البيانات ( او محدات البيانات )
المالكة Owner Entity Types
كمفتاح خارجى لـــــ R
، ويجب توخى الحذر عند تحديد نوع العلاقة الخاصة بال W .
ويصبح المفتاح الاساسى
Primary
Key
لــــR
هو مجموعة المفاتيح الاساسية Primary keys الخاصة بوحدة البيانات المالكة Owner
Entities
لـــــ R
والمفتاح الجزئى Partial key
الخاص بوحدة بيانات التابعة Weak Entity ل W
، ان وجد.
وفى مثالنا ، قمنا
بانشاء الجدول Relation
والمسماة DEPENDENT
فى هذة الخطوة وذلك كى تتناسب مع وحدة البيانات Weak Entity والمسماة DEPENDENT . ووضعنا به مفتاح اساسى Primary Key تسمى SSN من جدول EMPLOYEE وذلك الخاص بوحدة البيانات المالكة Owner Entity وذلك كمفتاح خارجى Foreign Key فى جدول Dependent ، وقمنا باعادة تسمية بـــــESSN.
ويصبح وبذلك المفتاح الاساسى Primary
Key الخاص
بجدول DEPENDENT مكون من {ESSN, DEPENDENT_NAME} وذلك لان DEPENDENT_NAME هو تالمفتاح الفرعى Partial Key الخاص بالجدول DEPENDENT .الخطوة ثالثة:
لكل علاقة ثنائية 1:1
والتى تسمى R
فى مخطط البيانات ER Schema
، حدد الجداول S
و T
التى تتناسب مع وحدات البيانات Entities المشاركة فى R .
قم باختيار احدهما
ولنقل S
مثلا – وضع كمفتاح خارجى Foreign Key
فى S
المفتاح الاساسى Primary Kay
الخاص بــــ T
. ومن الافضل اختيار S
على اساس اختيار وحدة البيانات Entity Type ذات الاشتراك الكامل Total Participation فى R
.
ضع كل خصائص البيانات
البسيطة Simple Attributes
(او المكونات البسيطة فى حالة خصائص البيانات المركبة Composite Attributes ) الخاصة بالعلاقة R وذلك كخصائص بيانات Attributes فى S
.
وفى مثالنا ، قمنا
بتحويل العلاقة Relationship
1:1 MANAGES
وذلك باختيار وحدة البيانات المشتركة بها Participating Entity Types والتى تسمى DEPARTMENT لتقوم بدور الـــــ S ، وذلك لانها ذات مشاركة كاملة Total Participation فى العلاقة MAMAGES (حيث ان لكل قسم مدير ). ثم نضع المفتاح
الاساسى Primary KEY
الخاص بالجدول EMPLOYEE
كمفتاح خارجى Foreign Key
حدول DEPARTMENT
ونعيد تسميته بـــــMGRAAN
. ونضع كذلك خصائص البيانات البشيطة Simple Attributes والمسماة START _DATE من العلاقة MANAGES وذلك فى الجدول DEPARTMENT ونعيد تسميتها بـــــMGRSTAREDATE .
لاحظ انه يمكن عمل
تحويل اخر بديل هنا ، وذلك عن طريق دمج وحدتى البيانات Entity Types والعلاقة Relationship وذلك فى جدول واحد.
وذلك البديل يكون مناسبا ى حالة كون وحدتى البيانات
اشتراك او تمثيل كامل Total Participation فى
علاقة .
الخطوة الرابعة:
لكل علاقة ثنائية
عادية 1 : ن R
، نحدد العلاقة S
التى تمثل وحدة البيانات المشاركة Participating Entity من جانب N للتحويل ، ونضع كمفتاح خارجى Foreign Key فى Sالمفتاح الاساسى Primary Key
الخاص بـــــ T
التى تمثل الجانب الاخر المشارك فى العلاقة R ، وذلك لان كل سطر موجود فى الجانب ن مرتبط
بسطر واحد على الكثر من الجانب 1 فى هذة العلاقة.
ضع اى خصائص بيانات
بسيطة Simple Attributes
(او المكونات البسيطة فى حالة خصائص البيانات المركبة Composite Attributes) من علاقة R التى هى 1 : ن كخصائص بيانات Attributes فى S
.
وفى مثالنا ، سنقوم
الان بتحويل علاقة 1 : ن الخاصة بكل من WORKS_ON ، CONTROLS و SUPERVISION
وبالنسبة WORKS_ON ، نضع المفتاح الاساسى Primary Key والمسماة DNUMBER من جدول DEPARTMENT وذلك كمفتاح خارجى Foreign Key من جدول EMPLOYEE ونعيد تسميته لــــــDNO .
تم تحويلها عن طريق المفتاح الخارجى Foregn Key والتى تسمى DNUM الخاص بــــ PROJECT ، الذى يشير (يرجع) الى المفتاح الاساسى DNUMBER فى حدول DEPARTMENT .
وبالنسبة WORKS_ON ، نضع المفتاح الاساسى Primary Key والمسماة DNUMBER من جدول DEPARTMENT وذلك كمفتاح خارجى Foreign Key من جدول EMPLOYEE ونعيد تسميته لــــــDNO .
وبالنسبة لـــــ SUPERVISION ، نضع المفتاح الاساسى Primary Key الخاص بجدول EMPLOYEE كمفتاح خارجى Foreign Key فى جدول EMPLOYEE ذاته – وذلك لان هذة العلاقة هى علاقة عكسية
متبادلة Recursive-
ونطلق عليه SUPERSSN
.
وبالنسبة لـــــCONTROLS ، تم تحويلها عن طريق المفتاح الخارجى Foregn Key والتى تسمى DNUM الخاص بــــ PROJECT ، الذى يشير (يرجع) الى المفتاح الاساسى DNUMBER فى حدول DEPARTMENT .
الخطوة الخامسة:
لكل علاقة ثنائية N : M : R ، ننشئ جدول جديد وليكن S وذلك ك كمفاتيح كى نمثل R .
ونضع كمفاتيح خارجية Foreign Key فى S
المفتاح الاساسية Primary Key
الخاصة بالجداول Relations
التى تمثل وحدات البيانات المشتركة فى العلاقة R ، سيتكون منهم المفتاح الاساسى Primary Key الخاص بــــS . وكذلك نضع فى S كل خصائص البيانات البسيطة Simple
Attributes
الموجودة بالعلاقة R
م : ن (او المكونات البسيطة فى حالة خصائص البيانات المركبة Composite Attributes ) .
ونلاحظ اننا لا نستطيع
تمثيل علاقة N : M
بالستخدام مفتاح خارجى Foreign Key
واحد فى واحد جانبى العلاقات المشاركة – كما فعلنا فى العلاقةات الثنائية 1 : 1 :
او 1 : N
– وذلك لان N : M
تعتبر نسبة الاتصال بينهم Cardinality Ratio .
وفى مثلنا، قمنا
بتحويل العلاقة WORKS-ON N : M ووضعنا بدلا منها جدول WORKS-ON .
ووضعنا المفاتيح
الاساسية Primary Key
الخاصة بكل من العلاقات PROJECT
او EMPLOYEE
كمفتيح خارجية Foreign Key
فى جدول WORKS-ON
واعدنا تسميتهم الى PNO
و ESSN
بالترتيب .
ووضعنا كذلك فى جدول WORKS-ON حقل خصائص بيانات HOURS الذى كان يتبع العلاقة WORKS-ON .
ويصبح بذالك المفتاح
الاساسى Primary Key
للجدول WORKS-ON
مكون من المفاتيح الخارجية {ESSN, PNO}Foreign Key .
ملحوظة:
يمككنا تحويل الثنائية
1 : 1 او 1 : N
بذات طريقة تحويل العلاقات الثنائية N : M
. وهذا البديل يكونة مناسب عادة عندما يكون حدوث العلاقة قليل نوعا ما ، وذلك
لتجنب الحصول على قيم معدومة null values فى المفاتيح الخارجية Foreign Key .
وفى هذة الحالة ، يصبح
المفتاح الاساسى Primary Key
الخاص بالعلاقة والذى يتم وضعه فى جدول سيكون فقط احد المفاتيح الخارجية Foreign Key التى تشير (ترجع) الى وحدات البيانات
المشاركة فى العلاقة .
وفى علاقة N : 1 ، يسصبح هذا هر المفتاح الخارجى Foreign Key الذر سيشير (يرجع) الى وحدة البيانات
الموجودة على الجنب N
.
وفى العلاقة 1 : 1 ، يكون المفتاح خارجى Foreign
Key الذى
يشير (الرجوع) الى العلاقة ذات الاشتراك (او التمثيل) الكامل Total
Participation (ان
وجت) هو الذى يتم اختيارة المفتاح اساسى Primary
Key .
الخطوة السادسة :
لكل حقل خصائص بيانات
متعدد القيم ، ننشئ له جدول جديد R .
هذا الجدول R سيحتوى على حقل خصائص بيانات يتناسب مع A ، بالاضافة الى حقل مفتاح اساسى K . ويكون بمثابة مفتاح خارجى Foreign Key فى R
– والخاص بالجدول او بالعلاقة التى تحتوى على A كحقل خصائص بيانات .
ويصبح المفتاح الاساسى
Primary
Key
الخاص بـــــR
مكون من A
و K
.
واذا كان حقل خصائص
البيانات متعدد القيم هذا مركب IComposite ، فنضمن الجدول R مكونات البسيطة فقط .
ففى مثلنا ، قمنا بعمل
جدول DEPT_LOCATONS
، حيث يمثل حقل خصائص البيانات DLOCATION حقل خصائص البيانات متعدد القيم Multivalued
Attributes الخاص بمواقع الـــــ DEPARTMENT ، حيث DNUMBER – كمفتاح خارجى Foreign Key -
يمثل المفتاح الاساسى Primary Key
الخاص بجدول DEPARTMENT
الخطوة السابعة :
لكل علاقة متعددة
الجوانب درجة اشتراك العلاقات بها R
حيث N
> 2
(اى اكثر من علاقتين يشركوا بها ) ، ننشئ جدول جديد S وذلك لتمثل R . ونضع كمفتاتيح خارجية Foreign Key فى S
كل المفاتيح الاساسية Primary Key
الموجودة بالعلاقات المشتركة فى العلاقة R
وكذالك نضع خصائص البيانات البسيطة Simple Attributes الخاصة بالعلاقة متعددة درجة اشتراك
العلاقات بها (او المكونت البسيطة غى حالة خصائص البيانات المركبة Composite
Attributes
) وذلك كخصائص الجدول S
.
ويكون عادة
المفتاح الاساسى Primary Key
الــــS
مكون من كل مفتاتيح الخارجية Foreign Key التى تشير (ترجع) الى العلاقات المشاركة فى R .
لكن ، اذا
كانت نسبة اشتراك الى علاقة E
فى R
تساوى 1؛ فلا يجب ان يحتوى المفتاح الاساسى Primary Key الذى يشير الى العلاقة ،E الى تتناسب مع علاقة E .
كمثال ، اخذا فى الاعتبار العلاقة SUPPLY، يمكن تحويلها الى الجدول SUPPLY ، والذى يتكون مفتاحه الاساسى
من مجموعة المفاتيح من مجموعة المفاتيح الخارجية {SNAME< PARTNO, PROJAME} .
0 التعليقات:
إرسال تعليق
ملحوظة: يمكن لأعضاء المدونة فقط إرسال تعليق.