Presentation is loading. Please wait.

Presentation is loading. Please wait.

تابع الفصل الثاني: مبادى البناء ونماذج العلاقات لقواعد البيانات

Similar presentations


Presentation on theme: "تابع الفصل الثاني: مبادى البناء ونماذج العلاقات لقواعد البيانات"— Presentation transcript:

1 تابع الفصل الثاني: مبادى البناء ونماذج العلاقات لقواعد البيانات
تابع الفصل الثاني: مبادى البناء ونماذج العلاقات لقواعد البيانات

2 التداخل الوظيفي Functional dependency
ان عملية تطبيع البيانات مبنية على مبدأ التداخل الوظيفي للبيانات بين الخصائص التابعة لأي كيان. و لكي نفهم عملية التطبيع يجب أن نتعرف أولاً على مبدأ التداخل الوظيفي و الذي يعرف بأنه : في أي علاقة R لها عدة خصائص منها (X,Y) بينهما تداخل وظيفي و يرمز له بالرمز X ----> Y إذا و إذا فقط كل قيمة ل X في R تقابلها قيمة وحيدة فقط لY بمعنى آخر ان X تحدد (تعين) Y و يمكن ان تكون هذه الخصائص مركبة . فلو أخذنا في الاعتبار المثال السابق لأمكننا التفريق بين ثلاث حالات : R (S#, C#, Sname, Cname, Teacher, Office, Grade, ISBN, ) ففي الأولى الخاصية يحددها المفتاح الرئيسي S#,C# -----> Mark وفي الثانية الخاصية يحددها جزء من المفتاح الرئيسي S# > Sname C# > Cname وأخيراً الخاصية يحددها المفتاح الرئيسي بصورة غير مباشرة C# > Teacher Teacher ----> Office

3

4 سؤال : متى يكون الاعتماد كلياً؟ الحل: في حالة وجود المفتاح الرئيسي المحدد. استنتاجات: إذا كان X →Y فلا يعني ذلك أن Y→X

5 سؤال: كيف يمكن استخراج الاعتمادات الوظيفية في العلاقة؟ إما باستخدام المتطلبات الموجودة أو كان لدينا مجموعة من العناصر أو البيانات تستخرج منها الإعتمادات الوظيفية، و يجب أن يتوفر التالية في X → Y : X (1) يجب أن تؤدي إلى Y في كل العناصر(الخصائص) . (2) إذا كانت X عبارة عن مفتاح رئيسي أو مفتاح مرشح للعلاقة R إذن X تؤدي إلى كل العناصر: X → كل الخصائص ;

6 تطبيع البيانات تتمثل عملية التطبيع في تحليل التداخلات الوظيفية Functional dependency بين الخصائص Attributes المختلفة والمكونة لبيانات أي جدول Table . ومهمة التطبيع هي: التقليل من أي تعقيد ينتج عن وصف البيانات وتمثيلها بالصور المختلفة , فالبيانات المطبعة تعتبر أكثر مرونة في التخزين وكذلك فهي أسهل معالجة من البيانات الغير مطبعة . ويتم الحصول على البيانات المطبعة عبر إجراء سلسلة من التحويرات على بيانات الجدول أو الجداول وحتى القضاء على جميع التداخلات بين البيانات المختلفة .

7 خطوات التطبيع الشكل التالي يوضح خطوات التطبيع المختلفة , حيث يتم :
أولا وضع تصور مبدئي للبيانات . ثانيا تحويل التصور إلى جدول بيانات غير مطبعة Non-normalized ثم يتم إزالة المجموعات المتكررة Repeating groups في البيانات الغير مطبعة لينتج عن ذلك ما يسمى بشكل التطبيع الأول واختصارا يدعى1NF . يلي ذلك إزالة أي علاقات نسبية Partial dependency كي يتم الحصول على شكل التطبيع الثاني 2NF .والعلاقة النسبية تتمثل في وجود علاقة بين أي خاصية وجزء من المفتاح المركب (مفتاح يتكون من أكثر من حقل واحد ). أخيرا يتم إزالة أي علاقة تحويليةTransitive dependencyوذلك للحصول على شكل التطبيع الثالث 3NF

8 مثال: لو أخذنا المثال السابق للنظام الدراسي لطلاب مرحلة دراسية معينة كمثال لقاعدة بيانات يراد تصميمها فإنه يمكن حصر مجموعة البيانات المدونة (تم كتابة جميع بيانات القاعدة في علاقة واحدة) بالجدول التالي : تعرف البيانات بهذه الصورة بأنها بيانات غير مطبعة Non-normalized أو بيانات في شكل التطبيع صفر 0NF . لكي تكون العلاقة (الجدول) في الشكل الأول يجب أن تكون بيانات كل حقل Attribute غير قابلة للتحليل Atomic أي أن محتوى أي حقل لكل سجل يحتوي على معلومة واحدة .

9 شكل التطبيع الأول و لتحويل هذه البيانات إلى شكل التطبيع الأول نعيد كتابة الجدول السابقة كما يلي :

10 لاحظي وجود عيوب في جداول البيانات الغير مطبعة وهو احتوائها أحيانا على بيانات مكررة في أكثر من موضع , ففي الجدول السابق لاحظي تكرار بيانات المادة CS705 في أكثر من سجل . عند الرغبة في تغيير أسم المادة من DBase إلى DBMS مثلاً فإن ذلك يتطلب البحث داخل الجدول و ذلك لتغيير جميع حالات ورود المادة المعنية وعند السهو أو الفشل في تعديل جميع الحالات الواردة بالجدول ينجم عن ذلك الحصول على بيانات غير دقيقة Inconsistent وغير صحيحة مائة بالمائة . إضافة لذلك فمن العيوب الأخرى لتكرار البيانات هو الاستغلال السيئ للذاكرة أي الإسراف الكبير في حجم الذاكرة المستغلة . يعتبر هذا الجدول في شكل التطبيع الأول 1NF ورغم ذلك فإن هذا التمثيل للبيانات لا يعتبر مثاليا حيث لا تزال هناك العديد من التداخلات بين البيانات والتي ينتج عنها ما يسمى بشذوذ البيانات Data anomalies وهو شذوذ في عمليات الإدخال والإلغاء والتعديل .

11 شذوذ الإدخال نتيجة لتركيبة الجدول وعدم توافق محتوياته ينجم عن ذلك عدم إمكانية إضافة بيانات معينة لعدم توفر بيانات أعمدة أخرى متعلقة بها. فلو أردنا إدخال بيانات مادة جديدة (مثل (Comp Network ورمزها CS821 لاحظي أن ذلك غير ممكن حتى يتم تسجيل طالب واحد على الأقل كي يدرس تلك المادة لان رقم الطالب S# يشكل جزء من المفتاح المركب S# + C# . كذلك الحال عند الرغبة في إضافة , بيانات محاضر جديد .

12 شذوذ التعديل نتيجة لتكرار بعض البيانات في جداول معينة وعند الرغبة في تعديل بعض البيانات المتكررة قد لا يتم تعديل جميع البيانات المعنية وبالتالي تكون البيانات غير متكاملة أي غير صحيحة . فلو أردنا تعديل أسم المادة ( ( Dbase وإذا لم يتم تعديل جميع حالات المادة الواردة بالجدول ينجم عن ذلك الحصول على بيانات غير متوافقة وغير صحيحة .

13 شذوذ الإلغاء ينجم هذا النوع من الشذوذ عند إلغاء الحالة الوحيدة لسجل وردت بياناته بالجدول . فلو افترضنا وجود بيانات مادة تم تدريسها لطالب واحد فقط (CS 801مثلاً) وإذا تم إسقاط المادة لذلك الطالب أو ألغيت بياناته لظروف أخرى كانتقال الطالب إلى مكان آخر أو حرمانه نهائيا من الدراسة , يلاحظ أنه إثر إلغاء بيانات الطالب المعنى سيتم إلغاء بيانات المادة وكذلك المحاضر و المرجع.

14 و يمكن تصور العلاقات بين خصائص الجدول السابق كالتالي:
ملاحظة: تظهر العلاقات التحويلية في صورة أسهم منقطة

15 مثال:

16 مشاكل البيانات اولا :تكرار البيانات :
بيانات الطالب يتكرر تخزينها مع تسجيلة لكل مقرر. تتكرر بيانات كل مقرر مع كل طالب يسجل ذلك المقرر. تتكرر بيانات كل مدرس مع كل مقرر يسجله طالب ما.

17 مشاكل البيانات ثانيا :مشاكل ادخال البيانات :
عند ادخال بيانات مقرر لم يسجله اي طالب لانستطيع ادخال بيانات المقرر لانه لم يسجل طالب واحد على الاقل هذا المقرر. ثالثا :مشاكل حذف البيانات : عند حذف بيانات طالب وهو الطالب الوحيد المسجل للمقرر يتم حذف بيانات هذا المقرر ونفقد بياناته . رابعا :مشاكل التعديل : عند تعديل بيانات مقرر او طالب يجب ان نجري نفس التعديل على كافة مواضع تخزين تللك البيانات .

18 التطبيع والاعتماد الوظيفي للبيانات
الاعتماد الجزئي : اعتماد خاصيه او مجموعه من الخصائص على خاصيه او مجموعه اخرى من الخصائص في نفس الوقت الذي تعتمد فيه خاصيه اخرى او مجموعه ثانيه على خاصيه او مجموعه مختلفه من الخصاىص مثال : الخصائص (المقرر وعدد ساعاته ورقم المدرس ) تعتمد على (رمز المقرر) في الوقت الذي يعتمد (التقدير)على كل من (رمز المقرر ورقم الطالب)

19 / علاقة الحقول ببعضها: توجد نوعين اساسين من العلاقة للحقول:
أعتماد على مفتاح أساسي، وهي اعتماد حقل غير مفتاح لحقل أخر مفتاح لتحديد قيمتها. مثل أعتماد اسم الموظف على رقم الموظف في المثال السابق. أعتماد على حقل غير مفتاح، وهي اعتماد حقل على حقل أخر غير مفتاح بالجدول. مثل على ذلك بالنظر للمثال السابق يتم تحديد التكلفة بالساعة حسب الفئة الوظيفية. حيث أن الحقلين لا يعتبرون مفتاح رئيسي .

20 ماهي المجموعة المكرره؟
عند وجود جدول يوجد فيه اعتماد حقل غير مفتاح على حقل أخر غير مفتاح يتكون لدينا مجموعة مكرره. أو عند تحديد أكثر من قيمة لحقل واحد. وسيتم توضيح كذلك في أمثلة لاحقة.

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

22

23 اعتقد الموظف بأن العمل انتهى للجدول وكاد ان يسلمة لمديرة ولكن لاحظ بأن بعض السجلات لا يوجد لها مفتاح ؟ فقرر أن يضيف رقم المشروع لكل سجل وجعله مفتاح للسجل فقام بتحويل الجدول إلى ما يلي:

24

25 ولكن الموظف اكتشف بأن كل سجل سيتكرر فية رقم المشروع ولا يمكن تحديد الموظف فقرر إضافة رقم الموظف كمفتاح اساسي. فأصبح للجدول مفتاح مركب (رقم المشروع + رقم الموظف).

26 المستوى الأول: وما قام بة الموظف دون علم هو تحويل الجدول إلى المستوى الأول من التسوية بكل بساطة حيث أن شروطها كما يلي: 1- لكل جدول يوجد مفتاح/مفاتيح يحدد سجل معين (إضافة رقم المشروع والموظف كمفاتيح) 2-التخلص من أي مجموعة مكرره (لا يوجد مجموعة مكرره لأن كل حقل يمثل قيمة واحدة من المجال التابع له. 3- جميع الحقول معتمدة على المفتاح/المفاتيح الأساسية (حيث يمكن تحديد أي قيمة من السجل من خلال معرفة رقم المشروع ورقم الموظف) ويكمن توضيحها بالعلاقات التالية: رقم المشروع + رقم الموظف > اسم المشروع، اسم الموظف، الفئة الوظيفية، تكلفة الساعة، عدد الساعات


Download ppt "تابع الفصل الثاني: مبادى البناء ونماذج العلاقات لقواعد البيانات"

Similar presentations


Ads by Google