تصميم قواعد البيانات
مرجع سريع إلى عملية تصميم قواعد البيانات وتخطيطها
تأليف
إيدرين وات
نيلسون إنج
ترجمة
أيمن طارق القاضي
علا عباس
تحرير
آيات اليطقان
إعداد وإشراف
جميل بيلوني
جميع الحقوق محفوظة © 2022أكاديمية حسوب
النسخة الأولى v1.0
هذا العمل مر َّخص بموجب رخصة المشاع الإبداعيَ :نسب ال ُمص ِّنف -غيـر تجاري -التـرخيص
بالمثل 4.0دولي
عن الناشـر
ُأنتج هذا الكتاب برعاية شركة حسوب وأكاديمية حسوب.
تهدف أكاديمية حسوب إلى توفير دروس وكتب عالية الجودة في مختل ف المج الات وتق دم دورات ش املة
لتعلُّم البرمج ة بأح دث تقنياته ا معتم د ًة على التط بيق العملي ال ذي يؤه ل الط الب ل دخول س وق
العمل بثقة.
حسوب مجموعة تقنية في مهمة لتطوير العالم العربي .تبني حسوب منتج ات تر ِّكز على تحس ين مس تقبل
العمل ،والتعليم ،والتواصل .تدير حسوب أكبر منصتي عمل حر في العالم العربي ،مستقل وخمسات ويعمل في
فيها فريق شاب وشغوف من مختلف الدول العربية.
جدول المحتويات
تمهيد 9
.1ما قبل ظهور أنظمة قواعد البيانات 11
1.1النظام القائم على الملفات 11
1.2عيوب النظام القائم على الملفات 12
1.3نظام قواعد البيانات 13
1.4معنى البيانات 14
1.5مصطلحات أساسية 15
1.6تمارين 15
.2مفاهيم قواعد البيانات الأساسية 17
2.1ما هي قاعدة البيانات؟ 17
2.2خصائص قاعدة البيانات 18
2.3أنواع مستخدمي قاعدة البيانات 19
2.4نظام إدارة قواعد البيانات وتصنيفاتها 20
2.5مصطلحات أساسية 24
2.6تمارين 25
.3خصائص قواعد البيانات والمزايا التي تقدمها 26
3.1خصائص قواعد البيانات 27
3.2دعم عدة واجهات عرض للبيانات 28
3.3مصطلحات أساسية 30
3.4تمارين 30
.4نمذجة البيانات وأنواعها 31
4.1أنواع نماذج البيانات 32
4.2مدى تجريد البيانات 34
4.3طبقات تجريد البيانات 36
4.4تخطيطات قاعدة البيانات 37 Schemas
4.5استقلالية البيانات المنطقية والمادية 38
4.6مصطلحات أساسية 38
تصميم قواعد البيانات جدول المحتويات
40 4.7التمارين
41 .5نموذج البيانات العلائقية RDM
41 5.1المفاهيم الأساسية في نماذج البيانات العلائقية
45
45 5.2خصائص الجدول
46 5.3المفاهيم الأساسية
46 5.4المصطلحات الأساسية
47
48 5.5تمارين
49 .6نموذج الكيان والعلاقة ERوتمثيل البيانات
49
51 6.1الكيان ومجموعة الكيان ونوع الكيان
54 6.2ارتباط الوجود
61 6.3أنواع الكيانات
63 6.4السمات
68 6.5المفاتيح
68
71 6.6مصطلحات أساسية
72 6.7تمارين
73
78 .7قواعد السلامة وقيودها لضمان سلامة البيانات
79 7.1سلامة النطاق Domain Integrity
82
82 7.2قيود المؤسسة Enterprise Constraints
83 7.3قواعد العمل Business Rules
84 7.4أنواع العلاقات
84 7.5مصطلحات أساسية
86 7.6تمارين
87
.8نمذجة الكيان العلاقي ERعند تصميم قواعد البيانات
8.1التصميم العلاقي Relational Designوالتكرار Redundancy
8.2حالة الإدخال الشاذة Insertion Anomaly
8.3حالة التحديث الشاذة Update Anomaly
8.4حالة الحذف الشاذة Deletion Anomaly
8.5كيفية تجنب الحالات الشاذة
8.6مصطلحات أساسية
6
تصميم قواعد البيانات جدول المحتويات
87 8.7تمارين
89 .9الاعتماديات الوظيفية Functional Dependencies
90
91 9.1قواعد الاعتماديات الوظيفية
94 9.2قواعد الاستدلال Inference Rules
95 9.3مخطط الاعتمادية Dependency Diagram
96
96 9.4مصطلحات أساسية
97 .10فهم عملية التوحيد Normalization
97 10.1ما هو التوحيد Normalization؟
98 10.2النماذج الموحدة Normal Forms
99 10.3النموذج الموحد الأول First Normal Formأو 1NFاختصا ًرا
101 10.4النموذج الموحد الثاني Second Normal Formأو 2NF
103 10.5النموذج الموحد الثالث Third Normal Formأو 3NF
104 10.6نموذج بويس-كود الموحَّد BCNF
104 10.7التوحيد وتصميم قواعد البيانات
107 10.8المصطلحات الأساسية والاختصارات
107
109 10.9تمارين
111 .11عملية تطوير قواعد البيانات
111 11.1دورة حياة تطوير البرمجيات -نموذج الشلال Waterfall
112 11.2دورة حياة قاعدة البيانات Database Life Cycle
114 11.3جمع المتطلبات Requirements Gathering
115
115 11.4التحليل Analysis
116 11.5التصميم المنطقي Logical Design
116
117 11.6التطبيق Implementation
11.7تحقيق التصميم Realizing the Design
11.8ملء قاعدة البيانات Populating the Database
11.9إرشادات لتطوير مخطط ER
11.10مصطلحات أساسية
11.11تمارين
7
تصميم قواعد البيانات جدول المحتويات
118 .12لغة الاستعلامات الهيكلية SQL
119 12.1إنشاء قاعدة بيانات Create Database
123
128 12.2قيود الجدول Table Constraints
129 12.3الأنواع التي يُعرفها المستخدم User Defined Types
129
131 12.4مصطلحات أساسية
132 12.5تمارين
138
141 .13لغة معالجة البيانات DMLالخاصة بلغة SQL
141 13.1تعليمة SELECT
142 13.2تعليمة INSERT
146 13.3تعليمة UPDATE
149 13.4تعليمة DELETE
150
154 13.5الدوال المبنية مسبقا Built-in Functions
155 13.6ضم الجداول Joining Tables
159 13.7مصطلحات أساسية
159 13.8تمارين
160
162 .14الملحق أ :مثال عملي عن تصميم قاعدة بيانات لجامعة
162 14.1عملية التصميم
165
167 .15الملحق ب :أمثلة عملية عن إنشاء مخططات ERD
15.1التمرين الأول :شركة تصنيع Manufacturer
15.2التمرين الثاني :وكيل سيارات Car Dealership
.16الملحق ج :حل تمرين باستخدام لغة SQL
16.1الجزء الأول :استخدم لغة DDL
16.2الجزء الثاني :إنشاء عبارات لغة SQL
16.3الجزء الثالث :الإدخال والتعديل والحذف والفهارس
8
تمهيد
تسبق كل عملية تنفيذية عملية تصميمية تخطيطية مثل عملية تخطيط أي بن اء ودراس ته وتحليل ه ورس مه
على المخططات قبل البدء ببنائه وتنفيذه على الأرض وكذلك الحال مع قواع د البيان ات فقب ل تنفي ذها برمج ًي ا،
يكون هنالك مرحلة تصميمية يجري فيها تصميم قواعد البيانات وتخطيط جداولها والأعمدة التي تحتويها وأن واع
البيانات فيها والروابط الرابطة بينها والقيود المقيدة لها وهكذا ،فلعملية التصميم تل ك أهمي ة كب يرة لأي قاع دة
بيانات ،ولا يكاد يخلو أي نظام برمجي يتعامل مع البيانات من قاع دة بيان ات ل ذا لاب د من إج راء تص ميم م تين
مناسب لقاعدة البيانات التي س ُيبنى عليها النظام.
يعد موضوع تصميم قواعد البيانات مادة أساسية تد َّرس في السنوات الأولى من تخصص عل وم الحاس وب
والتخصصات المتعلقة بهندسة الحاسوب والبرمجيات في الجامعة ولابد من تعلم الموضوع ودراسته قب ل الب دء
بتعلم كيفية تنفيذ قاعدة بيانات برمج ًيا ،فلا يمكن بناء قاعدة بيانات قوية متينة الارتباطات سليمة القيود موحَّدة
عديمة التكرارات دون دراسة موض وع التص ميم نظريً ا وإتقان ه عمل ًي ا وذل ك بتص ميم قواع د بيان ات نموذجي ة
والإطلاع على تصميمات أخرى لقواعد بيانات صممها مهندسون أك َّفاء.
يشرح هذا الكتاب عملية تصميم قاعدة بيانات شرحًا م وج ًزا غ ير مخ ل ،إذ يب دأ أواًل بتغطي ة ك ل المف اهيم
المتعلقة بقواعد البيانات بد ًءا من فكرة قاع دة البيان ات بالأص ل واختلافه ا عن أي نظ ام تخ زين بيان ات ،وح تى
العملية التصميمية وعمليات نمذجة البيانات وتمثيلها وعمليات الربط بين جداول البيان ات وم ا يق وم عليه ا ثم
يبني بعدها على ذلك كله شارحًا عملية تصميم قواعد البيانات وتطويرها حتى رسم مخط ط ERالنه ائي لج داول
قاعدة البيانات ،وهو مخطط نموذج الكيان والعلاقة الواصف لقاع دة البيان ات وج داولها وك ل تفص يلة فيه ا ،ثم
يشرح بعدها كيفية تنفيذ المخطط الناتج عبر لغ ة SQLولا يغيب عن ه التط رق إلى أنظم ة إدارة قواع د البيان ات
DBMSمع ذكر أشهرها.
تصميم قواعد البيانات تمهيد
هذا الكتاب مترجم عن كتاب " Database Design - 2nd Editionتصميم قاعدة بيانات -الإصدار الثاني"
لصاحبيه إيدرين وات Adrienne Wattونيلس ون إنج Nelson Engوه و مب ني في الأص ل على ع دة مص ادر
ركيزتها كتاب Database Designللمؤلف الأول إيدرين وات ،فالمص ادر المب ني عليه ا ك ل فص ل مدرج ة في
نهايته ويمكنك الرجوع إلى الكتاب الأجنبي الأصل إن أردت الإطلاع عليها ،كما أن هذا الكتاب الأجنبي يُعتم د في
بعض الجامعات لتدريس مادة تصميم قواعد البيانات في فصول قسم علوم الحاسوب وتصميم البرمجيات.
انتبه إلى أن هذا الكتاب لا يركز على عملية تنفيذ قواعد البيانات وبرمجتها بل يركز على عملية تصميم قاع دة
بيانات وكيفية نم ذجتها وإن ك ان يتط رق إلى لغ ة SQLس ري ًعا ش ارحًا باقتض اب كيفي ة إنش اء قاع دة بيان ات
والعمليات الأساسية للتعديل عليها ،أما إذا أردت الاستزادة والتعمق في هذا الموض وع ،فننص حك ب الرجوع إلى
كتاب ملاحظات للعاملين بلغة SQLوكتاب الدليل العملي إلى قواعد بيانات PostgreSQLوتوثيق لغة SQLمن
موسوعة حسوب وأي كتب ومصادر أخرى تصب في هذا المجال.
تجد في نهاية كل فصل من فصول الكتاب قائمة بالمص طلحات الأساس ية ال تي ناقش ها الفص ل وتح دث
عنها بالعربية وما يقابلها بالإنجليزية ليس هل علي ك البحث عنه ا أو الرج وع إلى أي مص ادر أجنبي ة كم ا تج د في
نهايته تمارين تساعدك على ترسيخ ما تعلمت ،لذا ننصحك بالاهتمام بها لتحقيق أقص ى اس تفادة مم ا تعلمت
من الفصل ،وإن احتجت إلى أي مساعدة ،فلا تترد بطرح سؤالك في قسم الأسئلة والأجوبة في أكاديمية حسوب
أو في مجتمع حسوب .IO
إذا ك ان ل ديك اق تراح أو تص حيح على النس خة العربي ة من الكت اب أو أي ملاحظ ة ح ول أي مص طلح من
المص طلحات المس تعملة ،ي رجى إرس ال بري د إلك تروني إلى [email protected]إذا ض َّمن َت ج ز ًءا من
الجملة التي يظهر الخطأ فيها على الأقل ،فهذا يس ِّهل علينا البحث ،وحبذا إضافة أرقام الصفحات والأقسام.
جميل بيلوني
2022/02/20
10
.1ما قبل ظهور أنظمة قواعد البيانات
قطعت الطريقة التي تدير بها أجهزة الحاسوب البيانات شو ًطا طوياًل على مدار العقود القليلة الماض ية ،كم ا
يأخذ مستخدمي الحاسوب اليوم المزايا العديدة الموجودة في نظام قواعد البيانات أمرًا مسلَّ ًما به على ال رغم من
عدم مرور وقت طويل على اعتماد أجهزة الحاسوب النظام القائم على الملفات File-based Systemوالذي يُ َع ّد
النهج الأقل في الأناقة والتكلفة لإدارة البيانات.
1.1النظام القائم على الملفات
يُ َع ّد تخزين المعلومات في ملفات دائمة في الحاسوب إحدى طرق الحفاظ عليها ،فمثاًل ،يملك نظام الشركة
عد ًدا من البرامج التطبيقية والمص َّممة لمعالجة ملفات البيانات تلك ،ثم تولي د المخرج ات والنت ائج في ملف ات
أخرى ،حيث تُص َّمم هذه البرامج بنا ًء على طلب المستخ ِدمين في المؤسسة ،كما تضاف برامج جديدة إلى النظام
عند الحاجة إليها ،ويسمى هذا النظام بالنظام القائم على الملفات ،File-based Systemفمثاًل ،يمكن اس تخدام
النظام القائم على الملفات لإدارة بيانات نظام مصرِفي تقلي دي كم ا ه و موض ح في الش كل أدن اه ،حيث يوج د
أقسام مختلفة في المصرِف ،ولك ل منه ا ب رامج خاص ة لإدارة ومعالج ة ملف ات البيان ات المختلف ة ،كم ا يمكن
استخدام برامج لأداء عمليات عديدة في الأنظمة المصرفية ،مثل :الخصم من الحساب أو ائتمانه ،وإنشاء كش ف
برصيد الحساب ،وإضافة قروض عقارية جديدة ،وإنشاء كشوف حسابات شهرية.
تصميم قواعد البيانات ما قبل ظهور أنظمة قواعد البيانات
الشكل :1.1مثال على نظام قائم على الملفات لبنك يستعمله لإدارة البيانات
1.2عيوب النظام القائم على الملفات
يملك النظام الق ائم على الملف ات والمس تخ َدم لحف ظ المعلوم ات التنظيمي ة العدي د من العي وب ،وال تي
دفعت فيما بعد لتطوير أنظمة جديدة أكثر كفاءة ،نذكر منها التالي:
1.2.1تكرار البيانات Data redundancy
غال ًبا ما تُنشأ ملفات البيانات الخاصة بالمؤسسة من طرف العديد من الم برمجين من أقس ام مختلف ة على
مدى فترات طويلة من الزمن ،مما يؤدي إلى تكرار البيانات عند تحديث أحد الحقول في أك ثر من موض ع واح د،
حيث تسبب هذه العملية العديد من المشاكل ،منها:
• عدم توحيد تنسيق البيانات.
• الاحتفاظ بالمعلومة نفسها في عدة أماكن مختلفة ،أي ضمن ملفات مختلفة.
• عدم تناسق البيانات ،وهو الموقف الذي تتعارض فيه النسخ المختلفة من البيان ات نفس ها ،مم ا يُه در
مساحة التخزين ويضاعف الجهد.
1.2.2عزل البيانات
عزل البيانات هو الخاصية التي تحدد متى وكيف تصبح التغييرات التي يتم إجراؤها بواس طة عملي ة معين ة
مرئي ًة للمستخ ِدمين المتزامنين ،والأنظمة المتزامنة الأخرى؛ ويؤدي حدوث أي مش كلة في مزامن ة البيان ات إلى
صعوبة استرجاع البيانات المنا ِسبة من ِقبل التطبيق ات الأخ رى ال تي تص ل لنفس البيان ات وال تي ربم ا تك ون
مخزَّنة في عدة ملفات مختلفة.
12
تصميم قواعد البيانات ما قبل ظهور أنظمة قواعد البيانات
1.2.3مشاكل السلامة
تُ َع ّد مش اكل س لامة البيان ات عي ًب ا آخ رًا لاس تخدام النظ ام الق ائم على الملف ات ،حيث تش ير س لامة
البيانات data integrityإلى صيانة البيانات ،والتأكد من صحة وتناسق البيانات الموجودة في قاعدة البيان ات،
حيث يجب مراعاة العوامل التالية أثناء معالجة هذه المشكلة:
• يجب على قيم البيانات استيفاء قيود تناسق معينة ومح َّددة في برامج التطبيق.
• من الصعب إجراء تغييرات على برامج التطبيق من أجل فرض قيود جديدة.
1.2.4مشاكل الأمان
يُ َع ّد الأمان مشكل ًة في النظام القائم على الملفات للأسباب التالية:
• وجود قيود تتعلق بالحصول على الصلاحيات.
• تُضاف متطلبات التطبيق إلى النظام بطرق مخصصة ،لذلك من الصعب فرض القيود.
1.2.5الوصول المتزامن
التزامن هو قدرة قاعدة البيانات على السماح لعدة مستخ ِدمين بالوص ول للس جل نفس ه دون الت أثير س ل ًبا
على معالجة المعا َملات .يجب على النظام القائم على الملفات إدارة التزامن وضبطه باس تخدام ب رامج تطبيقي ة،
حيث يُق َفل الملف ويُم َنع الوصول إليه عندما يفتحه تطبيق ما ،مما يعني أنه لا يمكن لأي ش خص آخ ر الوص ول
إلى ذاك الملف في الوقت نفسه آنذاك.
تُدير أنظمة قواعد البيان ات عملي ة ال تزامن من خلال الس ماح لع دة مس تخ ِدمين من الوص ول إلى الس جل
نفسه ،ويُ َع ّد هذا فرق مهم بين قواعد البيانات والأنظمة القائمة على الملفات.
1.3نظام قواعد البيانات
دفعت الصعوبات الناشئة عن استخدام النظام القائم على الملف ات إلى تط وير نظ ام جدي د لإدارة الكمي ات
الكبيرة من المعلومات التنظيمية ،والذي يُسمى بنظام قاعدة البيانات.
تلعب قواعد البيانات وتقنيتها دو ًرا مه ًما في معظم المجالات التي تُستخ َدم فيها أجهزة الحاس وب ،بم ا في
ذلك الأعمال التجارية ،والتعليم ،والطب ،وغيره ا ،وس نبدأ في ه ذا الفص ل بتق ديم بعض المف اهيم الأساس ية
المتعلقة بهذا المجال لفهم أساسيات أنظمة قواعد البيانات.
1.3.1دور قواعد البيانات في إدارة الأعمال
يستخ ِدم الجميع قواعد البيانات بطريقة أو بأخرى ،حتى ولو كانت استخدامات بسيطة مثل تخزين معلومات
عن أصدقائهم وعائلاتهم فقط ،كما يمكن تدوين هذه البيانات أو تخزينه ا على جه از حاس وب باس تخدام برن امج
13
تصميم قواعد البيانات ما قبل ظهور أنظمة قواعد البيانات
معالجة النص وص ،أو يمكن حفظه ا على ص ورة ج داول ،وم ع ذل ك ف إ ّن أفض ل طريق ة لتخ زين البيان ات هي
اس تخدام ب رامج إدارة قواع د البيان ات ،وهي أدوات برمجي ة قوي ة تس مح ل ك بتخ زين البيان ات ،ومعالجته ا،
واسترجاعها بعدة طرق مختلفة.
تتت ّبع معظم الشركات معلوم ات العملاء من خلال تخزينه ا في قاع دة بيان ات ،وق د تش مل ه ذه البيان ات
العملاء ،أو الموظفين ،أو المنتجات ،أو الطلبات ،أو أي شيء آخر يساعد الشركة في تنفيذ مهامها.
1.4معنى البيانات
تُ َع ّد البيان ات Dataمعلوم ات واقعي ًة ،مث ل :القياس ات ،أو الإحص ائيات ح ول الأش ياء والمف اهيم ،كم ا
تُستخ َدم للمناقشات ،أو على أساس جزء من العملي ات الحس ابية ،و يمكن أن تك ون ه ذه البيان ات شخ ًص ا ،أو
مكانًا ،أو ح َدثًا ،أو إجرا ًء ،أو أي شيء آخر ،حيث تُم ِّثل كل معلوم ة أو حقيق ة معين ة عنص رًا من عناص ر البيان ات
أي .data element
إذا كانت البيانات معلومات ،وكانت المعلومات هي ما نعتمد عليه في العم ل ،فيمكن ك الب دء في معرف ة
المكان الذي قد تخزِّن هذه البيانات فيه ،فمثاًل ،يُمكن تخزين البيانات في:
• ملفات تخزين مخصصة
• جداول البيانات
• المجلدات
• الدفاتر
• القوائم
• الأوراق
تخزِّن كل هذه المواد المعلومات وكذلك قاعدة البيانات.
بسبب الطبيعة الميكانيكية لقواعد البيانات ،نجد أ َّن لها مقدرة كبيرة على إدارة ومعالجة المعلومات ال ُمخزَّن ة
فيها ،مما يجعل هذه المعلومات أكثر فائدة لعملك.
يمكننا البدء من خلال هذا الفهم للبيانات في رؤية كيف يمكن لقاعدة البيانات تخزين مجموعة من البيانات،
وتنظيمها ،وإجراء بحث سريع عليها ،واسترجاعها ،ومعالجتها .ويتضمن هذا الكتاب والفص ول التالي ة الكث ير من
التفاصيل عن أنظمة إدارة قواعد البيانات وكيفية التعامل معها.
14
تصميم قواعد البيانات ما قبل ظهور أنظمة قواعد البيانات
1.5مصطلحات أساسية
• التزامن :Concurrencyهو قدرة قاعدة البيانات على السماح لعدة مستخدمين من الوصول إلى
السجل نفسه دون التأثير سل ًبا على معالجة المعاملات.
• عنصر البيانات :Data elementحقيقة أو معلومة واحدة.
• عدم تناسق البيانات :Data inconsistencyالحالة التي تتعارض فيها النسخ المختلفة للبيانات
نفسها بعضها مع بعض.
• عزل البيانات :Data isolationالخاصية التي تحدد متى وكيف تصبح التغييرات التي تجري بواسطة
عملية معينة مرئي ًة للمستخ ِدمين المتزامنين والأنظمة المتزامنة الأخرى.
• سلامة البيانات :Data integrityيشير إلى الصيانة والتأكد من أن البيانات في قاعدة البيانات
صحيحة وم ّتسقة.
• تكرار البيانات :Data redundancyحالة تحدث في قاعدة بيانات عندما يحتاج أحد الحقول إلى
التحديث في أكثر من جدول.
• نظام قاعدة البيانات :Database approachوهو الذي يسمح بإدارة كميات كبيرة من المعلومات
التنظيمية.
• برامج إدارة قواعد البيانات :Database management softwareأداة برمجية قوية تتيح لك تخزين
البيانات ،ومعالجتها ،واسترجاعها بطرق مختلفة.
• النظام القائم على الملفات :File-based systemوهو عبارة عن برنامج تطبيق مص َّمم للتعامل مع
ملفات البيانات.
1.6تمارين
.1ناقش كل من المصطلحات التالية:
◦ البيانات
◦ الحقل
◦ السجل
◦ الملف
.2ما هو تكرار البيانات؟
15
تصميم قواعد البيانات ما قبل ظهور أنظمة قواعد البيانات
.3ناقش عيوب النظام القائم على الملفات.
.4اشرح الفرق بين البيانات والمعلومات.
.5استخدم الجدول أدناه للإجابة على الأسئلة التالية.
◦ كم عدد السجلات التي يحتوي عليها الملف؟
◦ كم عدد الحقول في كل سجل؟
◦ ما المشكلة التي قد تواجهها إذا أردت إنشاء قائمة مرتبة حسب المدينة؟
◦ كيف يمكنك حل هذه المشكلة عن طريق تعديل هيكلة الملف؟
PROJECT PROJECT MANAGER MANAGER PROJECT BID PRICE
CODE MANAGER PHONE ADDRESS
21-5Z Holly B. Parker 904-338-3416 3334 Lee Rd., $16٬833٬460٫00
Gainesville, FL
37123
25-2D Jane D. Grant 615-898-9909 218 Clark Blvd., $12,500٬000٫00
Nashville, TN
36362
25-5A George F. Dorts 615-227-1245 124 River Dr., $32٬512٬420٫00
Franklin, TN
29185
25-9T Holly B. Parker 904-338-3416 3334 Lee Rd., $21٬563٬234٫00
Gainesville, FL
37123
27-4Q George F. Dorts 615-227-1245 124 River Dr., $10٬314٬545٫00
Franklin, TN
29185
29-2D Holly B. Parker 904-338-3416 3334 Lee Rd., $25٬559٬999٫00
Gainesville, FL
37123
31-7P 0/11liam K. Moor 904-445-2719 216 Morton Rd., $56٬850٬000٫00
Stetson, FL 30155
16
.2مفاهيم قواعد البيانات الأساسية
سنتعرف في هذا الفصل على أهم المصطلحات والمفاهيم الأساسية في قواعد البيان ات ب د ًءا من التع رف
على مفهوم قاعد البيانات بحد ذاته ثم التعرف إلى الصفات التي تتصف فيها قواعد البيانات وأخي ًرا التعرف على
مفهوم أنظمة إدارة قواعد البيانات وتصنيفاتها المندرجة ضمنها.
2.1ما هي قاعدة البيانات؟
الشكل :2.1قاعدة البيانات هي مستودع للبيانات
تصميم قواعد البيانات مفاهيم قواعد البيانات الأساسية
تُ َع ّد قاعدة البيانات databaseتجميعة مشتركة من البيانات ذات الصلة ،وتُس تخ َدم ل دعم أنش طة من َظم ة
معينة ،كما يمكن النظر إلى قاعدة البيانات على أساس مستودع للبيانات التي تُعرَّف م ر ًة واح د ًة ،ومن ثم يمكن
الوصول إليها من مستخ ِدمين مختل ِفين كما هو موضح في الشكل التالي.
2.2خصائص قاعدة البيانات
تملك قاعدة البيانات الخصائص التالية:
• تُم ِّثل بعض جوانب العالم الحقيقي ،أو تجميعة من عناصر البيانات - data elementsأو الحقائق -facts
التي تُم ِّثل معلومات مستقاة من الواقع.
• تُ َع ّد قاعدة البيانات منطقي ًة ،ومتماسك ًة ،و ُمتسق ًة داخل ًيا.
• ُصم َمت قاعدة البيانات وبُنيت و ُم ِلئت بالبيانات لخدمة غرض مع ّين.
• يُخزَّن كل عنصر بيانات في حقل .field
• تُك ِّون مجموعة الحقول جدواًل ،tableفمثاًل ،يحت وي ك ل حق ل في ج دول الموظ ف على بيان ات ح ول
موظف فردي.
يمكن أن تحت وي قاع دة البيان ات على العدي د من الج داول ،فمثاًل ،ق د يحت وي نظ ام
العضوية membership systemعلى جدول عنوان ،وجدول عضو فردي كما هو موضح في الشكل .2
تتكون منظمة عالم العلوم مثاًل من عدة أعضاء ،وهم :أفراد ،individualsومن ازل جماعي ة ،group homes
وأعمال تجارية ،businessesوش ركات ،corporationsحيث يملك ون عض وية نش طة في ه ذه المنظم ة ،كم ا
يمكن شراء العضوية لمدة سنة أو سنتين ،وبعد ذلك يمكن تجديدها لمدة سنة أو سنتين أي ًضا.
نلاح ظ في الش كل أ ّن مي ني م اوس Minnie Mouseق د ج ددت عض وية العائل ة في منظم ة ع الم
العل وم ،Science Worldكم ا نلاح ظ أ ّن ك ل ش خص يمل ك المع رِّف رقم 100755يعيش في العن وان
التالي .Rodent Lane 8932 :والأعضاء الأفراد كما يظهر في الشكل وهم Mickey Mouse :و Minnie Mouse
وحتى Moose Mouseكما هو ظاهر.
18
تصميم قواعد البيانات مفاهيم قواعد البيانات الأساسية
الشكل :2.2نظام العضوية في Science World
2.3أنواع مستخدمي قاعدة البيانات
يندرج مستخدمو قواعد قواعد البيانات ضمن أحد التصنيفات التالية:
.1المسWتخدمون النهWائيون :End Usersهم الأش خاص ال ذين تتطلب وظ ائفهم الوص ول إلى قاع دة
بيانات للاستعلام عن التقارير وتحديثها وإنشائها.
.2مستخدم التطبيق :Application userهو الش خص ال ذي يص ل إلى برن امج تط بيقي موج ود لأداء
المهام اليومية.
.3المستخدمون الخبراء :Sophisticated usersهم المستخدمون الذين لديهم ط ريقتهم الخاص ة في
الوصول إلى قاعدة البيانات .هذا يعني أنهم لا يستخدمون البرنامج التطبيقي المت و ّفر في النظ ام ،فق د
يح ّددون التطبيق الخ اص بهم أو يص ِفون ح اجتهم مباش ر ًة باس تخدام لغ ات اس تعلام .يحتف ظ ه ؤلاء
المستخدمون المتخصصون بقواعد بياناتهم الشخصية باستخدام حزم البرامج الج اهزة ال تي ت وفر أوام ر
قائم ًة على القوائم menu driven commandsوسهلة الاستخدام مثل برنامج .MS Access
.4مبرمجو التطبيقات :Application Programmersيط ّبق هؤلاء المستخدمون برامج تطبيقية محددة
للوصول إلى البيانات المخزَّنة ،حيث يجب أن يكونوا على دراية بنظم إدارة قواعد البيانات لإنجاز مهامهم
بطريقة سليمة.
.5مسؤولو قاعدة البيانWات :ق د يك ون مس ؤول قاع دة البيان ات - Database Administratorأو DBA
اختصا ًرا -شخ ًصا أو مجموعة من الأشخاص في مؤسس ٍة ،المسؤولين عن إعطاء التص ريح بالوص ول إلى
قاعدة البيانات ومراقبة استخدامها وإدارة جميع الموارد لدعم استخدام نظام قاعدة البيانات بأكمله.
19
تصميم قواعد البيانات مفاهيم قواعد البيانات الأساسية
2.4نظام إدارة قواعد البيانات وتصنيفاتها
يُ َع ّد نظ ام إدارة قواع د البيان ات - database management systemأو DBMSاختص ا ًرا -تجميع ًة من
البرامج التي تُمكِّن المس تخ ِدمين من إنش اء قواع د البيان ات ،databasesوالحف اظ عليه ا ،والتحكم في جمي ع
عمليات الوصول إليها ،كما يُ َع ّد اله دف الأساس ي لنظ ام إدارة قواع د البيان ات ه و توف ير بيئ ة ملائم ة وفعال ة
للمستخ ِدمين لاسترجاع المعلومات وتخزينها.
يمكننا باستخدام نظام قواعد البيانات DBMSتمثيل النظام المصرفي التقليدي كما هو موض ح في الش كل
التالي ،حيث يُستخ َدم في هذا المثال المصرفي نظ ام إدارة قواع د البيان ات من ِق َب ل قس م ش ؤون الم وظفين،
وقسم الحسابات ،وقسم إدارة القروض ،للوصول إلى قاعدة البيانات المشتركة للشركة.
يمكن تصنيف أنظمة إدارة قواعد البيانات بنا ًء على عدة معايير ،مثل :نموذج البيانات ،data modelوأعداد
المستخدمين ،user numbersوتوزيع قاعدة البيانات database distribution؛ وفيما يلي بيان تفصيلي لكل
من هذه المعايير.
الشكل :2.3نظام إدارة قواعد البيانات المصرفية
2.4.1التصنيف على أساس نموذج البيانات
نموذج البيانات الأكثر انتشا ًرا والمستخدم اليوم ه و نم وذج البيان ات العلائقي ة ،relational data model
وذلك لأن جميع نظم إدارة قواعد البيانات ،مث ل ،Oracle :و ،MS SQL Serverو ،DB2و ،MySQLتدعم ه ،ولا
تزال النماذج التقليدية traditional modelsالأخرى مثل نماذج البيانات الهرمية ،hierarchical data models
20
تصميم قواعد البيانات مفاهيم قواعد البيانات الأساسية
ونم اذج بيان ات الش بكة network data modelsمس تخ َدم ًة في الص ناعة بص ورة أساس ية على منص ات
الحواسيب المركزية ،ولكن نجدها محصور ًة في استخدامات بسيطة بسبب تعقيدها ،ويشار إليها على أنها نماذج
تقليدية traditional modelsلأنها سبقت النم وذج العلائقي .relational modelوق د ظه رت في الس نوات
الأخيرة نماذج البيانات كائنية التوجه ،object-oriented data modelsوهي نظ ام لإدارة قاع دة بيان ات ،حيث
تُم َّثل فيه المعلومات في شكل كائنات كما هو مستخدم في البرمجة كائنية التوجه.
تختلف قواعد البيانات كائنية التوجه عن قواعد البيان ات العلائقي ة ،relational databasesوال تي تعتم د
على الج دول أي تُ َع ّد جدولي ة التوج ه ،table-orientedكم ا تجم ع أنظم ة إدارة قواع د البيان ات كائنية
التوجه - Object-oriented database management systemsوتختصر إلى -OODBMSبين إمكانيات قاعدة
البيانات وإمكانيات لغات البرمجة كائنية التوجه.
ما زال انتشار قواعد البيانات كائنية التوجه ضعيف موازنة بقواعد البيان ات العلائقي ة وذل ك يرج ع إلى ع دم
تعرُّف المستخدمين عليها بعد ،ويوجد بعض الأمثلة على نظم إدارة قواعد البيانات كائنية التوجه ،وهي:
• O2
• ObjectStore
• Jasmine
2.4.2التصنيف على أساس أعداد المستخدمين
يمكن تصنيف نظم إدارة قواعد البيانات بنا ًء على عدد المس تخ ِدمين الق ادر على دعمهم ،حيث من الممكن
دعم مس تخ ِدم وحي د ويس مى نظ ام قواع د بيان ات أح ادي المس تخ ِدم ،ingle-user database system
أو دعم العدي د من المس تخ ِدمين بص ورة متزامن ة ويس مى نظ ام قواع د بيان ات متع دد
المستخ ِدمين .multiuser database system
2.4.3التصنيف على أساس توزيع قاعدة البيانات
توجد أربعة أنظمة توزيع رئيسية لأنظمة قواعد البيانات ،ويمكن استخدامها لتصنيف قواعد البيانات حس ب
ماهو موضح أدناه.
ا .الأنظمة المركزية Centralized systems
يُخزَّن نظام إدارة قواعد البيانات DBMSوقاعدة البيانات databaseعند استخدام الأنظم ة المركزي ة لقواع د
البيانات centralized database systemفي موقع واحد تستخدمه أنظم ًة أخ رى عدي د ًة كم ا ه و مو َّض ح في
الشكل التالي.
21
تصميم قواعد البيانات مفاهيم قواعد البيانات الأساسية
استخ َدمت العديد من المكتبات الكندية في أوائل الثمانينيات نظام GEAC 8000لتحويل دليل أو فه رس
البطاقات اليدوية إلى أنظمة فهرس مركزية يمكن قراءتها آل ًيا ،حيث يحتوي كل فهرس على حق ل ب اركود مش ابه
لذلك الموجود في منتجات المتاجر.
الشكل :2.4مثال على نظام قاعدة بيانات مركزية.
ب .نظام قاعدة البيانات الموزعة
ي و َّزع نظ ام إدارة قواع د البيان ات DBMSوقاع دة البيان ات databaseفي نظ ام قاع دة البيان ات الموزع ة
distributed database systemمن مواقع مختلفة متصلة بشبكة حاسوب ،كما هو مو َّضح في الشكل التالي.
22
تصميم قواعد البيانات مفاهيم قواعد البيانات الأساسية
الشكل :2.5مثال على نظام قاعدة بيانات موزعة.
ج .أنظمة قواعد البيانات الموزعة المتجانسة
تستخ ِدم أنظمة قواعد البيانات الموزع ة المتجانس ة Homogeneous distributed database systems
برنامج إدارة قواعد البيانات نفس ه من مواق ع متع ددة ،كم ا يمكن تب ادل البيان ات بين ه ذه المواق ع المختلف ة
بسهولة ،فمثاًل ،تستخ ِدم أنظم ة معلوم ات المكتب ات library information systemsمن الب ائع نفس ه مثل
نظام Geac Computer Corporationلإدارة قواعد البيانات نفسه ،والذي يسمح بتبادل البيانات بس هولة بين
مواقع مكتبة Geacالمختلفة.
د .أنظمة قواعد البيانات الموزعة غير المتجانسة
تس تخ ِدم مواق ع مختلف ة برن امج إدارة قواع د بيان ات مختل ف في نظ ام قاع دة البيان ات الموزع ة غ ير
المتجانسة ،heterogeneous distributed database systemولكن هناك برامج مشتركة إضافية تدعم تبادل
البيانات بين هذه المواقع ،فمثاًل ،تستخ ِدم أنظمة قاعدة بيانات المكتبات المختلف ة تنس يق الفهرس ة المق روءة
آل ًيا - machine-readable catalogingأي MARCاختصا ًرا -نفسه لدعم تبادل بيانات تسجيلات المكتبة.
23
تصميم قواعد البيانات مفاهيم قواعد البيانات الأساسية
2.5مصطلحات أساسية
• عناصر البيانات :data elementsحقائق تُم ِّثل معلومات مستقاة من الواقع.
• قاعدة البيانات :databaseتجميعة مشتركة من البيانات ذات الصلة ،وتُستخ َدم لدعم أنشطة منظمة
مع َّينة.
• نظام إدارة قواعد البيانات database management systemأو :DBMSتجميعة من البرامج التي
تُمكِّن المستخ ِدمين من إنشاء قواعد البيانات ،والحفاظ عليها ،والتحكم في جميع عمليات الوصول
إليها.
• الجدول :tableمجموعة من الحقول .fields
• نظام قاعدة البيانات المركزي :centralized database systemيُخزَّن نظام إدارة قواعد البيانات
DBMSوقاعدة البيانات databaseعند استخدام الأنظمة المركزية لقواعد البيانات centralized
database systemفي موقع واحد تستخدمه أنظم ًة أخرى عديد ًة
• نظام قاعدة البيانات الموزعة :distributed database systemيو َّزع نظام إدارة قواعد البيانات
DBMSوقاعدة البيانات databaseفي نظام قاعدة البيانات الموزعة distributed database system
من مواقع مختلفة متصلة بشبكة حاسوب.
• نظام قاعدة البيانات الموزعة غير المتجانسة :heterogeneous distributed database system
تستخ ِدم مواقع مختلفة برنامج إدارة قواعد بيانات مختلف ،ولكن هناك برامج مشتركة إضافية تدعم
تبادل البيانات بين هذه المواقع.
• نظام قاعدة البيانات الموزعة المتجانسة :homogeneous distributed database systems
تستخ ِدم برنامج إدارة قواعد البيانات نفسه في مواقع متعددة.
• نظام قاعدة بيانات متعدد المستخ ِدمين :multiuser database systemهو نظام إدارة قاعدة
بيانات يدعم عدة مستخ ِدمين بصورة متزامنة.
• نموذج البيانات كائنية التوجه :object-oriented data modelنظام لإدارة قواعد البيانات ،حيث
تُم َّثل المعلومات فيه على صورة كائنات كما هو مستخدم في البرمجة كائنية التوجه.
• نظام قاعدة بيانات أحادي المست ِخدم :single-user database systemنظام إدارة قاعدة بيانات
يدعم مستخدم واحد فقط في كل مرة.
• النماذج التقليدية :traditional modelsهي نماذج البيانات التي سبقت النموذج العلائقي
.relational model
24
تصميم قواعد البيانات مفاهيم قواعد البيانات الأساسية
• مبرمج التطبيق :application programmerهو المستخدم الذي يط ّبق برامجًا تطبيقية محددة
للوصول إلى البيانات المخزَّنة.
• مستخدم التطبيق :application userيمكنه الوصول إلى برنام ٍج تطبيقي لأداء المهام اليومية.
• مسؤول قاعدة البيانات database administratorأو :DBAهو الشخص المسؤول عن إعطاء
التصريح بالوصول إلى قاعدة البيانات ومراقبة استخدامها وإدارة جميع الموارد لدعم استخدام نظام
قاعدة البيانات بأكمله.
• المستخدم النهائي :end userهو الشخص الذي تتطلب وظيفته الوصول إلى قاعدة بيانات
للاستعلام عن التقارير وتحديثها وإنشائها.
• المستخدم الخبير :sophisticated userهو الشخص الذي يستخدم طر ًقا أخرى مختلفة عن البرنامج
التطبيقي للوصول إلى قاعدة البيانات.
2.6تمارين
.1ما هو نظام إدارة قواعد البيانات؟
.2ما هي خصائص نظام إدارة قواعد البيانات؟
.3اذكر ثلاثة أمثلة لقواعد بيانات مستقاة من الواقع مثل تحتوي المكتبة على قاعدة بيانات للكتب.
.4اذكر ثلاثة أمثلة لقواعد البيانات العلائقية المستخ َدمة والأكثر شيو ًعا.
.5ما الفرق بين أنظمة قواعد البيانات المركزية والموزعة؟
.6ما الفرق بين أنظمة قواعد البيانات الموزعة المتجانسة وبين غير المتجانسة؟
25
.3خصائص قواعد البيانات والمزايا التي
تقدمها
تعني إدارة المعلومات معالجة المعلومات وتنظيمها لتوظيفها بما يخدمنا بطريق ة نس تفيد منه ا في تنفي ذ
مهامنا ،كما منع نظام إدارة قواعد البيانات DBMSوجود الفوض ى العرض ية ال تي ك انت تح دث للبيان ات ال تي
نجمعها ونضيفها إلى قواعد البيانات ،حيث أصبح الوصول إليها أكثر سهول ًة وتكاماًل مع بقية عملن ا ،كم ا تس مح
لنا إدارة المعلومات باستخدام قاعدة بيانات أن نصبح مستخ ِدمين استراتيجيين للبيانات التي نملكها.
غال ًبا ما نحتاج إلى الوصول إلى البيانات وإعادة فرزها لأغراض مختلفة تشمل ما يلي:
• إنشاء القوائم البريدية
• كتابة التقارير الإدارية
• توليد قوائم بالقصص الإخبارية المختارة
• تحديد احتياجات العملاء المختلفة
تملك قواعد البيانات قدر ًة كبير ًة على معالجة البيانات ،مما يسمح لها بإجراء العمليات التالية:
• الفرز Sort
• المطابقة Match
• ربط البيانات Link
• تجميع البيانات Aggregate
• تخطي الحقول Skip fields
تصميم قواعد البيانات خصائص قواعد البيانات والمزايا التي تقدمها
• إجراء العمليات الحسابية Calculate
• ترتيب Arrangeالبيانات
تتعدد استخدامات قواعد البيانات وترتبط بمجالات كثيرة ،لذلك نجد من الممكن ربط قاع دة البيان ات بك ل
من الأنظمة التالية:
• موقع إلكتروني لتسجيل المستخ ِدمين
• تطبيقات الهواتف مثل تطبيق لتخزين بيانات عملاء من َظمة تقدم خدمات اجتماعية
• نظام السجلات الطبية لمنشأة رعاية صحية
• دفتر العناوين address bookالشخصية في عميل البريد الإلكتروني
• تجميعة من الملفات النصية
• نظام حجوزات الطيران
3.1خصائص قواعد البيانات
يمل ك نظ ام قواع د البيان ات ع د ًدا من الخص ائص والفوائ د ال تي تم يزه عن النظ ام الق ائم على
الملفات ،file-based systemحيث سنذكر منها ما يلي:
3.1.1طبيعة الوصف الذاتي لنظام قاعدة البيانات
يُشار إلى نظام قاعدة البيانات على أنه ذاتي الوص ف ،وذل ك بس بب احتوائ ه على قاع دة البيان ات نفس ها،
وعلى بيانات وصفية metadataبحيث تُح ِّدد البيان ات وتص فها ،والعلاق ات بين الج داول في قاع دة البيان ات،
حيث تُستخ َدم هذه المعلومات بواسطة برامج أنظمة إدارة قواعد البيانات ،DBMSأو مستخدمي قاعدة البيانات،
ويُ َع ّد هذا الفصل بين البيانات ومعلوماتها أحد الفروقات الرئيسية ال تي تم يز نظ ام قواع د البيان ات عن النظ ام
التقليدي القائم على الملفات ،والذي يكون فيه تعريف البيانات جز ًءا من برامج التطبيقات.
3.1.2العزل بين البرنامج والبيانات
تُح َّدد هيكلة ملفات البيانات في النظام القائم على الملفات داخل برامج التطبيق ،ل ذلك إذا أراد المس تخدم
تعديل هيكلة ملف مع َّين ،فعليه تعديل جميع البرامج التي تتصل بهذا الملف.
من الناحية الأخرى ،تُخزِّن قواعد البيانات هيكلة البيانات في دليل catalogالنظام وليس في البرامج ،لذلك
كل ما هو مطلوب لتعديل هيكل ملف مع َّين هو تعديل واحد فقط ،ويسمى هذا بالعزل بين البرامج والبيان ات أو
الاستقلالية بين البرامج والبيانات program-data independenceأي ًضا.
27
تصميم قواعد البيانات خصائص قواعد البيانات والمزايا التي تقدمها
3.2دعم عدة واجهات عرض للبيانات
تدعم قاعدة البيانات استخدام عدة واجهات لعرض البيانات ،حيث تُ َع ّد واجهة العرض viewمجموع ًة فرعي ًة
من قاعدة البيانات ،databaseوالتي تُعرَّف وتُخ َّصص لخدمة أغراض فئة مح د َّدة من مس تخ ِدمي النظ ام ،وق د
يملك مستخ ِدمين متعددين واجهات مختلف ًة في النظام ،حيث تحتوي كل منها على البيانات التي تهم مستخ ِدم
أو مجموعة من المستخ ِدمين دون غيرهم.
3.2.1مشاركة البيانات والنظام متعدد المستخدمين
ص ِّممت أنظمة قواعد البيانات لعدة مستخ ِدمين ،حيث ت تيح لع دد من المس تخ ِدمين الوص ول إلى قاع دة
البيانات نفسها في الوقت نفسه ،وذلك عن طريق استخدام اس تراتيجيات مع َّين ة تُس مى اس تراتيجيات التحكم
المتزامن ة ،concurrency control strategiesحيث تض من ه ذه الاس تراتيجيات ِص حة البيان ات ال تي يتم
الوصول إليها ،كما تُحافظ على سلامة البيانات أي ًضا.
يُ َع ّد تصميم أنظمة قواعد البيانات الحديثة المتعددة المستخ ِدمين تحس ًنا كبيرًا موازن ًة بتلك ال تي ك انت في
الماضي ،والتي تقتصر على شخص واحد في كل مرة.
3.2.2التحكم في تكرار البيانات
تُخزَّن البيانات في نظام قواعد البيانات -وفي الحالة المثالية -دون أي تكرار ،redundancyأي أ ّن كل عنصر
بيانات موجود في مكان واحد فقط في قاعدة البيانات .ولكن يحدث في بعض الح الات تك رار للبيان ات بغ رض
تحسين أداء النظام في أجزاء معينة ،كما يُتحكَّم في هذا التكرار عن طريق برمجة التطبيق ات ،وذل ك بالمحافظ ة
على الحد الأدنى منه عند تصميم قاعدة البيانات.
3.2.3تشارك البيانات
يملك تكامل جميع بيانات المؤسسة داخل نظام قاعدة البيانات العدي د من المزاي ا ،حيث يس مح بمش اركة
البيانات بين الموظفين وغ يرهم من ال ذين يمكنهم الوص ول إلى النظ ام ،وك ذلك يس مح للمس تخدمين بتولي د
المزيد من المعلومات من كمية مع َّينة من البيانات أكثر مما سيكون بدون التكامل.
3.2.4تطبيق قيود صارمة لضمان سلامة البيانات وصحتها
ت وفر أنظم ة إدارة قواع د البيان ات الق درة على تحدي د وف رض قي ود معين ة على البيان ات لض مان إدخ ال
معلوم ات ص حيحة من ِق َب ل المس تخ ِدمين ،والمحافظ ة على س لامة البيان ات ،إذ تُ َع ّد قي ود قاع دة
البيانات database constraintقواعد لفرض ما يمكن إدخاله أو تعديله في جدول مع َّين ،مث ل :الرم ز البري دي
باستخدام تنسيق مع َّين ،أو إضافة مدينة حقيقية في حقل المدينة.
28
تصميم قواعد البيانات خصائص قواعد البيانات والمزايا التي تقدمها
هناك أنواع عديدة من القيود في قواعد البيانات ،مثل :نوع البيان ات Data typeمث ل تح دد ن وع البيان ات
المسموح بها في الحقل مثل الأعداد فقط ،أو تفرد البيانات Data uniquenessمثل المفتاح الأساس ي وال ذي
يضمن ع دم إدخ ال أي تك رارات ،كم ا يمكن أن تك ون القي ود بس يط ًة -بحيث تف رض على الحق ل مباش ر ًة ،-أو
معقد ًة -أي برمجية.
3.2.5تقييد الوصول الغير مصرح به
لا يحظى جميع مستخدمي نظام قاعدة البيان ات بص لاحيات الوص ول نفس ها ،فمثاًل ،ق د يك ون ل دى أح د
المستخ ِدمين صلاحيات القراءة فقط -أي القدرة على قراءة الملفات دون إجراء أ ّي تع ديلات عليه ا -بينم ا يك ون
لدى مستخ ِدم آخر صلاحيات القراءة والكتابة -أي القدرة على قراءة الملفات والتعديل عليها ،-ولهذا السبب يجب
على نظام إدارة قاعدة البيانات توفير نظام أمان فرعي لإنشاء أنواع مختلفة من حس ابات المس تخ ِدمين ،والتحكم
فيها ،وتقييد الوصول الغير مصرح به.
3.2.6استقلالية البيانات
يوجد ميزة أخرى لنظام إدارة قواعد البيانات ،وهي الطريقة التي يسمح بها باستقلالية البيانات ،بمع نى آخ ر،
يتم فصل أوصاف بيانات النظام أو البيانات التي تصف البيانات -أي البيان ات الوص فية -metadataعن ب رامج
التطبيق ،وه ذا ممكن لأن نظ ام إدارة قاع دة البيان ات يع الج التغي يرات في هيك ل البيان ات ،ولا تُض َّمن ه ذه
التغيرات في البرنامج نفسه.
3.2.7معالجة المعاملات
يجب أن يتضمن نظام إدارة قواعد البيانات أنظم ًة فرعي ًة للتحكم في ال تزامن ،حيث تض من ه ذه الخاص ية
بق اء البيان ات متس ق ًة وص الح ًة أثن اء معالج ة المع ا َملات ح تى وإن ق ام العدي د من المس تخ ِدمين بتح ديث
المعلومات نفسها.
3.2.8تقديم عدة واجهات عرض للبيانات
يسمح نظام إدارة قواعد البيان ات DBMSللعدي د من المس تخدمين بالوص ول إلى قواع د البيان ات بص ورة
فردي ة أو بص ورة متزامن ة ،كم ا ليس من المهم أن يع رف المس تخ ِدمون كي ف وأين تُخ زَّن البيان ات ال تي
يصلون إليها.
3.2.9النسخ الاحتياطي واسترجاع البيانات التالفة أو المفقودة
يُ َع ّد النسخ الاحتياطي والاسترجاع طريق َتين لحماية البيانات من الض ياع ،حيث ي وفر نظ ام قواع د البيان ات
عملي ًة منفصل ًة عن عملية النسخ الاحتياطي للشبكة لنسخ البيانات احتياط ًيا واستعادتها ،ويُ َع ّد النسخ الاحتياطي
لقاعدة البيانات الطريقة الوحيدة لاستعادتها في حال فشل مح رك الأق راص الثابت ة وتع َّذر الوص ول إلى قاع دة
البيانات المخزنة عليه.
29
تصميم قواعد البيانات خصائص قواعد البيانات والمزايا التي تقدمها
إذا فشل نظ ام الحاس وب في منتص ف عملي ة تح ديث البيان ات ،فيك ون النظ ام الف رعي للاس ترجاع ه و
المسؤول عن التأكد من استعادة قاعدة البيانات إلى حالتها الأصلية ،ويكون ما س بق فائ دتَين إض افي َتين لنظ ام
إدارة البيانات.
3.3مصطلحات أساسية
• استراتيجيات التحكم المتزامنة :concurrency control strategiesتسمح للعديد من
المستخ ِدمين بالوصول إلى عنصر البيانات نفسه في الوقت نفسه.
• نوع البيانات :data typeيُح ِّدد نوع البيانات المسموح بها في حقل مع َّين مثل يمكن أن يقبل الحقل
أعدا ًدا فقط.
• تفرد البيانات :data uniquenessيضمن عدم إدخال بيانات مكرَّرة.
• قيود قاعدة البيانات :database constraintيُح ِّدد القيد ما يُسمح بإدخاله أو تعديله في جدول مع َّين
ومحدد.
• البيانات الوصفية :metadataتُح ِّدد وتصف البيانات والعلاقات بين الجداول في قاعدة البيانات.
• صلاحيات القراءة والكتابة :read and write privilegesالقدرة على قراءة الملفات وتعديلها.
• صلاحيات القراءة فقط :read-only accessالقدرة على قراءة الملفات فقط دون تعديلها.
• الوصف الذاتي :self-describingيُشار إلى نظام قاعدة البيانات على أنه ذاتي الوصف ،لأنه يحتوي
على قاعدة البيانات نفسها ،بالإضافة إلى البيانات الوصفية التي تُح ِّدد وتصف البيانات والعلاقات بين
الجداول في قاعدة البيانات.
• واجهة العرض :مجموعة فرعية من قاعدة البيانات.
3.4تمارين
.1ماذا يُم ِّيز نظام إدارة قاعدة البيانات DBMSعن النظام القائم على الملفات file-based system؟
.2ما هي استقلالية البيانات؟ وما أهميتها؟
.3ما هو الغرض من إدارة المعلومات؟
.4ناقش استخدام قواعد البيانات في بيئة العمل.
.5ما هي البيانات الوصفية؟
30
.4نمذجة البيانات وأنواعها
تُ َع ّد نمذجة البيانات Data Modelingالخطوة الأولى والأساسية عند تصميم أي قاعدة بيانات ،كما تُ َع ّد هذه
الخطوة مرحلة تصميم مجردة وعالية المستوى ،كما يشار إليها باسم التصميم المفاهيمي .conceptual design
الهدف من هذه المرحلة هو إعطاء وصف واضح لكل من:
• البيانات الواردة في قاعدة البيانات ،مثل الكيانات :طلاب ،ومحاضرون ،ودورات ،ومواد.
• العلاق ات بين عناص ر البيان ات ،data itemsمث ل :يش رف محاض رون على طلاب ،وي درِّس
محاضرون دورات.
• القيود المفروضة على البيانات ،مثل :يتكون رقم الطالب من ثماني ة خان ات بالض بط ،وتحت وي الم ادة
الدراسية على أربع أو ست درجات فقط.
يُع َّبر في الخطوة الثانية عن عناصر البيانات ،والعلاقات ،والقيود ،باس تخدام المف اهيم ال تي يوفره ا نم وذج
البيانات عالي المستوى ،ونظ ًرا لع دم وج ود تفاص يل التنفي ذ implementation detailsفي ه ذه المف اهيم،
فتكون نتيجة عملية نمذجة البيانات تمثياُل شبه رسمي لهيكل قاعدة البيانات ،وهذه النتيجة س هلة الفهم ،ل ذلك
تُستخ َدم على أساس مرجع للتأكد من تلبية جميع متطلبات المستخدم.
الخطوة الثالثة هي تصميم قاعدة البيانات ،حيث يكون لدينا خلال ه ذه الخط وة خط وتَين ف رعي َتين ،وهم ا:
التص ميم المنطقي لقاع دة البيان ات ،database logical designوال تي تح ِّدد قاع دة البيان ات في نم وذج
بيان ات لنظ ام إدارة قواع د بيان ات DBMSمع َّين ،والأخ رى هي التص ميم الم ادي لقاع دة
تصميم قواعد البيانات نمذجة البيانات وأنواعها
البيانات ،database physical designوال تي تح ِّدد بني ة تخ زين قاع دة البيان ات الداخلي ة ،أو طريق ة تنظيم
الملف ات ،أو تقني ات الفهرس ة ،وتتم ّّث ل هات ان الخطوت ان الفرعيت ان في التنفي ذ الفعلي لقاع دة
البيانات ،database implementationوخطوات أساسية لبناء العمليات وواجهات المستخدم.
تُم َّثل البيان ات في مراح ل تص ميم قاع دة البيان ات باس تخدام نم وذج بيان ات مع َّين ،حيث يك ون نم وذج
البيان ات data modelمجموع ة من المف اهيم ،أو الص يغ ال تي تص ف البيان ات ،والعلاق ات بينه ا ،ودلالاته ا
،semanticsوالقيود المفروضة عليها ،كما تتضمن معظم نماذج البيانات أي ًضا مجموع ًة من العمليات الأساسية
لمعالجة البيانات في قاعدة البيانات .database
4.1أنواع نماذج البيانات
تُ َع ّد نماذج البيانات وسيل ًة لتوصيف كيفية عرض البيانات وتخزينها ،وسنناقش أنواعها في هذا القسم.
4.1.1نماذج البيانات المفاهيمية عالية المستوى
توفر نماذج البيانات المفاهيمية عالية المستوى High-level Conceptual Data Modelsمفهو ًما لعرض
البيانات بأساليب قريبة من الأسلوب الذي يدرك به الإنس ان البيان ات ،والمث ال النم وذجي ه و نم وذج الكي ان
والعلاقة Entity Relationshipالذي يستخ ِدم المفاهيم الرئيسية ،مثل :الكيانات ،والسمات ،والعلاق ات ،حيث
يمثل الكيان كائ ًن ا واقع ًي ا ،مث ل :موظ ف ،أو مش روع ،كم ا يحت وي على س مات تمث ل خص ائص ،مث ل :اس م
الموظف ،وعنوانه ،وتاريخ ميلاده ،وتُم ِّثل العلاقات كيفية ارتباط الكيانات مع بعضها البعض ،فمثاًل ،توجد علاق ة
بين الموظف وكل مشروع عندما يعمل الموظف في العديد من المشاريع.
4.1.2نماذج البيانات المنطقية القائمة على السجلات
توفر نماذج البيانات المنطقي ة القائم ة على الس جلات Record-based Logical Data Modelsمف اهيم
يمكن للمستخ ِدمين فهمها واستيعابها كما أنه ا ليس ت بعي د ًة ج ًدا عن الطريق ة ال تي تُخ زَّن به ا البيان ات في
الحاسوب .هناك ثلاثة نماذج معروفة من هذا النوع ،وهي :نماذج البيانات العلائقية ،relational data models
ونماذج البيانات الشبكية ،network data modelsونماذج البيانات الهرمية .hierarchical data models
.1يُم ِّثل النمWوذج العلائقي relational modelالبيان ات على أس اس علاق ات أو ج داول ،فمثاًل ،تض م
العضوية في من َظمة عالم العل وم Science Worldالعدي د من الأعض اء كم ا في الش كل 2في فص ل
المف اهيم الأساس ية في قواع د البيان ات ،ويُ َع ّد ك ل من ُمع رِّف العض وية ،وت اريخ انته اء الص لاحية،
ومعلومات العنوان ،حقواًل في العضوية ،ويك ون الأعض اء أف را ًدا ،مث ل ،Mickey :و ،Minnieو،Mighty
و ،Doorو ،Tomو ،Kingو ،Manو ،Mooseكما يكون كل سجل بمثابة نسخة عن جدول العضوية.
32
تصميم قواعد البيانات نمذجة البيانات وأنواعها
.2يُم ِّثل النموذج الشبكي network modelالبيانات على أساس أنواع سجلات ،كم ا يُم ِّثل أي ًض ا ه ذا
النموذج نو ًعا محد ًدا من علاقة واحد إلى متعدد one to manyيسمى نوع المجموعة ،set typeكما هو
موضح في الشكل التالي.
الشكل :4.1مخطط النموذج الشبكي
.3يُم ِّثل النموذج الهرمي hierarchical modelالبيانات على أساس هيك ل ش جرة هرمي ة ،حيث يُم ِّثل
كل فرع من فروع التسلسل الهرمي عد ًدا من السجلات ذات الصلة ،ويوضح الشكل التالي هذا المخط ط
في صيغة النموذج الهرمي.
الشكل :4.2مخطط النموذج الهرمي
33
تصميم قواعد البيانات نمذجة البيانات وأنواعها
4.2مدى تجريد البيانات
سنلقي في هذا القسم نظر ًة على عملية تصميم قاعدة البيانات من حيث تخصيص ها لأداء وظ ائف معين ة،
فكما يبدأ أ ّي تصميم بمستوى عا ٍل من التجريد ثم يتنقل تدريج ًيا إلى التفاصيل الصغيرة ،ك ذلك ه و الح ال عن د
تصميم قاعدة البيانات ،فمثاًل ،تبدأ عند بناء منزل بعدد غرف النوم والحمامات فيه ،سوا ًء كان على مستوى واحد
أو مستويات عدة ،وتكون الخطوة التالية بتعيين مهندس معماري لتصميم المنزل تص مي ًما أك ثر تنظي ًم ا ودق ًة،
حيث يصبح هذا المستوى أكثر تفصياًل فيما يتعلق بأحجام الغرف ،وكيف سيتم توصيل الم نزل بالأس لاك ،وأين
س ُتوضع تركيبات السباكة ،وما إلى ذلك ،والخطوة الأخيرة هي تعيين مقاول لبناء المنزل.
يتبع تصميم قاعدة البيانات يتبع طريق ًة شبيه ًة بهذه ،حيث يب دأ بتحدي د المس تخ ِدمين لقواع د العم ل ،ثم
ينشئ مصممو ومحللو قاعدة البيانات تصميم قاعدة البيانات ،وبعدها ين ّف ذ مس ؤول قاع دة البيان ات التص ميم
باستخدام نظام إدارة قواعد البيانات .DBMS
تلخِّص الأقسام الفرعية التالية النماذج بترتيب تنازلي لمستوى التجريد.
4.2.1النماذج الخارجية
• تمثل واجهة عرض قاعدة البيانات للمستخدم.
• تحتوي على عدد من واجهات عرض خارجية مختلفة.
• ترتبط ارتبا ًطا وثي ًقا بالعالم الحقيقي الذي يراه المستخدم.
4.2.2النماذج المفاهيمية Conceptual models
• تو ِّفر إمكانيات مرنة لهيكلة البيانات .data-structuring
• تق ِّدم واجهة عرض مشتركة ،community viewوهي الهيكل المنطقي لقاعدة البيانات بأكملها.
• تحتوي على البيانات المخزنة في قاعدة البيانات.
• تظهر العلاقات بين البيانات بما في ذلك:
◦ القيود.
◦ المعلومات الدلالية مثل قواعد العمل.
◦ معلومات الأمان والسلامة.
• تُ َع ّد قاعدة البيانات مجموع ًة من الكيانات -أي الكائنات -objectsمن أنواع مختلفة.
34
تصميم قواعد البيانات نمذجة البيانات وأنواعها
• تم ِّثل الأساس لتحديد وإعطاء وص ف ع الي المس توى لكائن ات البيان ات الرئيس ية ،كم ا أنه ا تتجاه ل
التفاصيل عمو ًما.
• تح ِّدد هل قاعدة البيانات مستقلة بغض النظر عن قاعدة البيانات التي تستخدمها.
4.2.3النماذج الداخلية Internal models
النماذج الثلاثة الأكثر شهرة من هذا النوع ،هي :نموذج البيانات العلائقية ،relational data modelونموذج
البيانات الشبكية ،network data modelونموذج البيانات الهرمي ،hierarchical data modelومن السمات
الرئيسية لنماذج البيانات الداخلية:
• تُ َع ّد قاعدة البيانات مثل تجميعة من السجلات ذات الحجم الثابت.
• تُ َع ّد أقرب إلى المستوى المادي أو بنية الملف.
• تُم ِّثل قاعدة البيانات كما يراها نظام إدارة قواعد البيانات .DBMS
• تطالب المصمم بمطابقة خصائص وقيود النموذج المفاهيمي مع خصائص نموذج التنفيذ المختار.
• يتضمن مقابلة الكيانات في النموذج المفاهيمي مع الجداول في النموذج العلائقي.
4.2.4النماذج المادية Physical models
• هي التمثيل المادي أو الفيزيائي لقاعدة البيانات.
• تملك أدنى مستوى من التجريد.
• تح ِّدد كيفية تخزين البيانات في قاعدة البيانات ،وترتبط مباشر ًة بكل من:
◦ أداء قاعدة البيانات في وقت التشغيل .Run-time performance
◦ تحسين التخزين وضغط الملفات.
◦ تنظيم الملفات وطرق الوصول إليها.
◦ تشفير البيانات.
• تُح ِّدد ما إذا كان نظام التشغيل - operating systemأو OSاختصا ًرا -يدير المستوى المادي.
• تُق ِّدم مفاهيم تصف تفاصيل كيفية تخزين البيانات في ذاكرة الحاسوب.
35
تصميم قواعد البيانات نمذجة البيانات وأنواعها
4.3طبقات تجريد البيانات
يمكنك أن ترى في العرض التصويري كيف تعمل النماذج المختلفة م ًعا ،لذلك دعنا نلقي نظر ًة على هذا من
أعلى مستوى ،وهو النموذج الخارجي.
النموذج الخارجي external modelهو كيفية عرض المستخ ِدم النهائي للبيانات ،فعاد ًة ما تكون قاع دة
البيانات نظام مؤسسي يخدم احتياجات أقس ام متع ددة ،كم ا لا يهتم أي قس م برؤي ة بيان ات الأقس ام الأخ رى،
فمثاًل ،لا يهتم قسم الموارد البشرية - human resourcesأو HRاختصا ًرا -بعرض بيانات قسم المبيعات .sales
وعليه تختلف طريقة عرض البيانات من مستخدم لآخر.
يتطلب النموذج الخارجي أن يق ِّسم المصمم مجموعة المتطلبات والقيود إلى وحدات وظيفية يمكن فحصها
في إطار نماذجها الخارجية مثل تقسيم المؤسسة إلى قسم الموارد البشرية وقسم المبيعات.
تحتاج بوصفك مصمم بيانات إلى فهم جميع البيانات ح تى تتمكن من إنش اء قاع دة بيان ات على مس توى
المؤسسة بنا ًء على احتياجات الأقسام المختلفة ،لذلك يكون إنشاء النموذج المفاهيمي conceptual model
هو الخطوة الأولى.
يكون النموذج المفاهيمي في هذه المرحلة مستقاًل عن ك ل من ال برامج softwareوالعت اد ،hardwareولا
يعتمد على برنامج نظام إدارة قواعد البيانات ال ُمستخدم في تنفيذ النموذج ،ولا على العتاد المس تخ َدم في ذل ك،
كما لا تؤثر التغييرات في العتاد أو برنامج نظام إدارة قواعد البيانات على تصميم قاع دة البيان ات على المس توى
المفاهيمي.
بمجرد تحديد برنامج نظام إدارة البيانات ال ُمراد استخدامه ،يمكنك بعد ذلك تنفيذه ،وهو ما يُسمى بالنموذج
الداخلي ،internal modelحيث تقوم هنا بإنشاء جميع الجداول ،والقيود ،والمفاتيح ،والقواعد ،وما إلى ذل ك،
وغال ًبا ما يشار إلى هذا باسم التصميم المنطقي .logical design
النموذج المادي ببساطة هو الطريقة التي تُخزَّن فيها البيانات على القرص ،وتختلف طريقة تخزين البيانات
باختلاف نوع قاعدة البيانات المستخ َدمة.
36
تصميم قواعد البيانات نمذجة البيانات وأنواعها
الشكل :4.3مستويات تجريد البيانات
4.4تخطيطات قاعدة البيانات Schemas
التخطيط schemaهو وصف عام وشامل لقاعدة البيانات ،وع اد ًة م ا يتم تمثيل ه بواس طة مخط ط الكي ان
والعلاقة ،entity relationship diagramوتختصر إلى .ERD
غال ًبا ما تكون هناك العديد من التخطيطات الفرعية subschemasالتي تمثل النم اذج الخارجي ة المختلف ة
وبالتالي تعرض الواجهات الخارجية للبيانات.
فيما يلي قائمة بالعناصر التي يجب مراعاتها أثناء عملية تصميم قواعد البيانات:
• تخطيط ات خارجي ة :External schemasمن الممكن أن توج د ع دة تخطيط ات خارجي ة في قاع دة
البيانات الواحدة.
• تخطيطات فرعية متعددة :Multiple subschemasتعرض واجهات خارجية متعددة للبيانات.
• تخطيط مفاهيمي :Conceptual schemaيوجد تخطيط مفاهيمي واحد فقط لقاعدة البيانات الواحدة،
يتضمن ه ذا التخطي ط عناص ر البيان ات ،والعلاق ات ،والقي ود ،وتم َّثل بواس طة مخط ط علاق ة الكي ان
والعلاقة .ERD
• تخطيط مادي :Physical schemaيوجد تخطيط مادي واحد فقط لقاعدة بيانات واحدة.
37
تصميم قواعد البيانات نمذجة البيانات وأنواعها
4.5استقلالية البيانات المنطقية والمادية
يشير مفهوم استقلالية البيانات Data independenceإلى حصانة تطبيقات المستخ ِدم من التغييرات التي
تطرأ على تعريفات البيانات وتنظيمها.
تكشف عمليات تجريد البيانات عن العناصر المهم ة أو العناص ر ذات الص لة بالمس تخ ِدم ،وتك ون التعقي د
مخف ًيا عن مستخدم قاعدة البيانات.
تشكل استقلالية البيانات واس تقلالية التش غيل م ًع ا م يزة تجري د البيان ات ،وهن اك نوع ان من اس تقلالية
البيانات ،هما :استقلالية البيانات منطق ًيا ،واستقلالية البيانات ماديًا.
4.5.1استقلالية البيانات منطق ًيا
يُ َع ّد التخطيط المنطقي logical schemaتص مي ًما مفاهيم ًي ا conceptual designلقاع دة البيان ات،
والذي يتم على الورق أو على لوح أبيض مثل الرسومات المعمارية للبيوت .تس مى الق درة على تغي ير التخطي ط
المنطقي دون تغي ير التخطي ط الخ ارجي ،external schemaأو واجه ة المس تخدم باس تقلالية البيان ات
منطق ًي ا ،logical data independenceفمثاًل ،يجب أن تك ون إض افة أو إزال ة كيان ات جدي دة ،أو س مات ،أو
علاقات ،إلى التخطيط المفاهيمي conceptual schemaممكن ًة دون الحاجة إلى تغي ير التخطيط ات الخارجي ة
الحالية ،أو إعادة كتابة برامج التطبيق؛ بمعنى آخر يجب أاَّل ت ؤثر التغي يرات على التخطي ط المنطقي على وظيف ة
التطبيق -أي طرق العرض الخارجية -مثل التعديلات على بنية قاعدة البيانات مثل إضافة عمود أو جداول جديد.
4.5.2استقلالية البيانات ماديا
تشير استقلالية البيانات ماديًا Physical data independenceإلى حصانة النموذج الداخلي ضد التغييرات
في النموذج المادي ،إذ يبقى التخطيط المنطقي دون تغيير على الرغم من إجراء تغييرات على تنظيم الملفات ،أو
هياكل التخزين ،أو أجهزة التخزين ،أو استراتيجية الفهرسة.
تعمل مرحلة استقلالية البيانات ماديًا على إخفاء تفاصيل بني ة التخ زين من تطبيق ات المس تخدم ،حيث لا
ينبغي أن تتعامل التطبيقات مع هذه القضايا لعدم وجود فرق في العمليات الجارية على البيانات.
4.6مصطلحات أساسية
• النموذج الهرمي :hierarchical modelيُم ِّثل البيانات في هيكل الشجرة الهرمية.
• النسخة :instanceسجل داخل جدول معين في قاعدة البيانات.
• النموذج الشبكي :network modelيمثل البيانات على أساس أنواع سجلات.
• العلاقة :relationمصطلح آخر لوصف الجداول.
38
تصميم قواعد البيانات نمذجة البيانات وأنواعها
• النموذج العلائقي :relational modelيُم ِّثل البيانات على أساس علاقات أو جداول.
• نوع المجموعة :set typeنوع مح َّدد من علاقة واحد إلى متعدد .one to many
• النموذج المفاهيمي :conceptual modelهو الهيكل المنطقي لقاعدة البيانات.
• التخطيط المفاهيمي :conceptual schemaمرادف للتخطيط المنطقي .logical schema
• استقلالية البيانات :data independenceهي حصانة تطبيقات المستخ ِدم من التغييرات التي تطرأ
على تعريفات البيانات وتنظيمها.
• نموذج البيانات :data modelتجميعة من المفاهيم أو الصيغ المستخدمة لوصف البيانات،
والعلاقات بينها ،ودلالاتها ،والقيود المفروضة عليها.
• نمذجة البيانات :data modelingهي الخطوة الأولى في عملية تصميم قاعدة البيانات.
• التصميم المنطقي لقاعدة البيانات :database logical designيُح ِّدد قاعدة بيانات في نموذج
البيانات الخاص بنظام إدارة قاعدة بيانات مح َّدد.
• التصميم المادي لقاعدة البيانات :database physical designيُح ِّدد بنية تخزين قاعدة البيانات
الداخلية ،أو تنظيم الملفات ،أو تقنيات الفهرسة.
• مخطط الكيان والعلاقة entity relationship diagramأو :ERDيُ َع ّد نموذج بيانات ،حيث يصف
قاعدة البيانات ،ويعرض الجداول ،والسمات ،والعلاقات.
• النموذج الخارجي :external modelيم ِّثل واجهة عرض المستخ ِدم لقاعدة البيانات.
• التخطيط الخارجي :external schemaيم ِّثل واجهة المستخ ِدم.
• النموذج الداخلي :internal modelهو تمثيل قاعدة البيانات في الصورة التي يراها أو يتعامل معها
نظام إدارة قواعد البيانات.
• استقلالية البيانات منطق ًيا :logical data independenceهو القدرة على تغيير التخطيط المنطقي
للبيانات دون تغيير التخطيط الخارجي.
• التصميم المنطقي :logical designهو الخطوة التي تُنشأ فيها الجداول ،والقيود ،والمفاتيح،
والقواعد ...إلخ.
• التخطيط المنطقي :logical schemaهو تصميم مفاهيمي لقاعدة البيانات ،حيث يتم على الورق ،أو
الألواح البيضاء مثل الرسومات المعمارية لمنزل.
• نظام التشغيل operating systemأو :OSهو المسؤول عن إدارة المستوى المادي للنموذج المادي.
39
تصميم قواعد البيانات نمذجة البيانات وأنواعها
• استقلالية البيانات ماد ًيا :physical data independenceهو حصانة النموذج الداخلي ضد
التغييرات في النموذج المادي.
• النموذج المادي :physical modelهو التمثيل المادي لقاعدة البيانات.
• التخطيط :schemaهو وصف عام وشامل لقاعدة البيانات.
4.7التمارين
.1ما هو نموذج البيانات؟
.2ما هو نموذج البيانات المفاهيمي عالي المستوى؟
.3عرف المصطلحات التالية:
◦ الكيان
◦ السمة
◦ العلاقة
.4اذكر و ِصف بإيجاز النماذج الشائعة لنماذج البيانات المنطقية القائمة على السجلات.
ِ .5صف الغرض من التصميم المفاهيمي.
.6ما هو الاختلاف بين التصميم المفاهيمي والتصميم المنطقي؟
.7عرف النماذج التالية:
◦ ما هو النموذج الخارجي؟
◦ ما هو النموذج المفاهيمي؟
◦ ما هو النموذج الداخلي؟
◦ ما هو النموذج المادي؟
.8ما هو النموذج الذي يتعامل معه مسؤول قاعدة البيانات؟
.9ما هو النموذج الذي يتعامل معه المستخ ِدم النهائي لقاعدة البيانات؟
.10ما هو الاستقلال البيانات ماديًا؟
.11ما هو استقلال البيانات منطق ًيا؟
40
.5نموذج البيانات العلائقية RDM
ُصمم نم وذج البيان ات العلائقي ة Relational Data Modelفي الع ام 1970بواس طة ،C.F. Coddوه و
النموذج الأكثر استخدا ًما في يومنا هذا ،كما يُ َع ّد الأساس لكل من:
• البحث العلمي في نظرية البيانات ،والعلاقات ،والقيود.
• العديد من منهجيات تصميم قواعد البيانات.
• لغة الوصول القياسية إلى قاع دة البيان ات ،حيث تس مى لغ ة الاس تعلام المهيكلة structured query
- languageأي SQLاختصا ًرا.
• جميع أنظمة إدارة قواعد البيانات التجارية الحديثة.
يصف نموذج البيانات العلائقية العالم على أنه تجميعة من العلاقات والجداول المترابطة.
5.1المفاهيم الأساسية في نماذج البيانات العلائقية
سنتعرف على المفاهيم الأساسية في نموذج البيانات العلائقية التي ترتكز ارتكا ًزا كبيرًا على العلاقة والجدول
وكل الخصائص المتعلقة بهما.
5.1.1العلاقة
العلاقة - relationأو ما تعرف أي ًضا باسم الج دول tableأو المل ف ،- fileوهي مجموع ة فرعي ة من الن اتج
الديكارتي لقائمة من المجالات التي تتميز بالاسم ،حيث يم ِّثل كل صف rowضمن الجدول الواحد مجموع ًة من
قيم البيانات ذات الصلة ،ويُعرَف الصف أو السجل recordباسم صف tupleأي ًضا ،كما يُ َع ّد العمود في الجدول
تصميم قواعد البيانات نموذج البيانات العلائقية RDM
حقاًل ،ويشار إليه باسم ال ِسمة attributeأي ًضا ،كما يمكنك النظر إلى الأم ر بالطريق ة التالي ة :تُس تخ َدم الس مات
لتعريف السجلات ،ويحتوي السجل على مجموعة من السمات.
تو ِّضح الخطوات التالية المنطق بين العلاقة ومجالاتها:
• يُشار إلى عدد nمن المجالات بالصورةD1, D2, … Dn :
• تُ َع ّد rعلاق ًة مح َّددة على هذه المجالات.
• ثم r ⊆ D1 × D2 ×… × Dn
5.1.2الجدول Table
تتكون قاعدة البيانات من عدة جداول ،كما يحتوي ك ل ج دول على بيان ات ،ويو ِّض ح الش كل الت الي قاع دة
بيانات تحتوي على ستة جداول.
الشكل :5.1قاعدة بيانات بستة جداول
5.1.3العمود Column
تُخ زِّن قاع دة البيان ات أج زاء المعلوم ات أوالحق ائق بطريق ة من َّظم ة ،حيث يتطلب الفهم الجي د لكيفي ة
استخدام قواعد البيانات والاستفادة منها إلى أقصى حد فهم طريقة التنظيم هذه.
تسمى وحدات التخزين الرئيس ية أعم دة ،columnsأو حق ول ،fieldsأو س مات ،attributesوتض م ه ذه
الوحدات المكونات الأساسية للبيانات التي يمكن تقسيم محتواها.
تحتاج عند تحديد الحقول المراد إنش اؤها إلى التفك ير في البيان ات ال تي ل ديك عمو ًم ا ،فمثاًل ،اس تخلاص
المكونات المشتركة للمعلومات التي ستخزِّنها في قاعدة البيانات ،وتج ُّنب التفاصيل التي تميز عنصرًا عن الآخر.
42
تصميم قواعد البيانات نموذج البيانات العلائقية RDM
انظر الجدول التالي الذي يحوي مثااًل على معلومات حول بطاقة هوية:
Field Name Data
Isabelle
First Name Whelan
Family Name British
Nationality 109,900
Salary 15 September 1983
Date of Birth Single
Marital Status Mon, Wed
Shift Addis Ababa
Place of issue 17 December 2003
Valid until
5.1.4المجال Domain
يُم ِّثل المج ال المجموع ات الأص لية للقيم ال َذري ة المس تخ َدمة لنمذج ة البيان ات ،وتع ني القيمة
ال َذرية atomic valueأ ّن كل قيمة في المجال غير قابلة للتجزئة بقدر ما يتعلق الأمر بالنموذج العلائقي ،فمثاًل :
• يملك مجال الحالة الاجتماعية مجموع ًة من الاحتمالات ،وهي :متزوج ،وأعزب ،ومطلِّق.
• يملك مجال أيام العمل مجموع ًة من جميع الأيام الممكنة ،وهي :الأحد ،الاثنين... ،إلخ.
• مجال الراتب الشهري هو مجموعة جميع الأعداد الأكبر من 0وأقل من .200000
• مجال الاسم الأول هو مجموعة سلاسل الأحرف التي تمثل أسماء الأشخاص.
باختصار ،المجال هو مجموعة من القيم المقبولة التي يُسمح للعمود باحتوائها ،كما يعتم د على الخص ائص
المختلفة ونوع بيانات العمود ،وسنناقش أنواع البيانات في فصل آخر.
5.1.5السجلات Records
مثلما يحتاج محتوى أي مستند أو عنصر إلى تقسيمه إلى أجزاء ص غيرة من البيان ات للتخ زين في الحق ول،
فيجب أي ًضا أن تكون مترابط ًة بحيث يمكن إعادتها إلى شكلها الكامل ،ويتم ذلك عن طريق استخدام الس جلات،
إذ تحتوي السجلات على حقول مرتبطة ،مثل :حقل العميل ،customerأو الموظ ف ،employeeكم ا يُس تخ َدم
المصطلح صف أو سطر tupleأحيانًا على أساس مرادف للسجل.
تشكل السجلات والحقول أساس جميع قواعد البيانات،و يمنحنا الجدول البس يط أوض ح ص ورة عن كيفي ة
عمل السجلات والحقول م ًعا في مشروع تخزين قاعدة بيانات.
43
تصميم قواعد البيانات نموذج البيانات العلائقية RDM
الشكل :5.2مثال على جدول بسيط
يو ِّضح الجدول البسيط في الشكل السابق كيف يمكن للحقول الاحتف اظ بمج ال واس ع من مختل ف أن واع
البيانات ،حيث يحتوي على:
• حقل ُ ( IDمعرِّف السجل) :هو عدد صحيح ،ويُستخ َدم لترتيب البيانات في الجدول.
• حقل ( PubDateتاريخ النشر) :ويحتوي على تاريخ النشر ويكون في الصورة (يوم/شهر/سنة).
• حقل ( Authorالمؤلِّف) :يحتوي على اسم المؤلِّف ،وهو حقل يحتوي على بيانات نصية.
• نص ( Titleحقل العنوان) :يحتوي على أ ّي نص يُم ِّثل عنوان المؤلِّف.
من الممكن توجي ه قاع دة البيان ات للبحث في البيان ات وتنظيمه ا بطريق ة معين ة ،فمثاًل ،يمكن ك طلب
مجموعة مختارة من السجلات محدودة حسب التاريخ بط رق عدي دة ،وهي :ك ل البيان ات المس جَّلة قب ل ت اريخ
معين ،أو كل البيانات المسجَّلة بعد تاريخ معين ،أو كل البيانات المسجَّلة بين ت اريخين ،ويمكن ك بالمث ل أي ًض ا
ترتيب السجلات حسب التاريخ.
نظرًا لإعداد الحقل أو السجل الذي يحتوي على البيانات على أساس حق ل ت اريخ ،فلن تق رأ قاع دة البيان ات
المعلومات الموجودة في حقل التاريخ على أساس أعداد مفصولة بشرطة مائلة ،وإنما على أساس تواريخ ،بحيث
يجب ترتيبها وف ًقا لنظام التقويم.
5.1.6الدرجة Degree
الدرجة هي عدد السمات في الجدول ،فدرجة الجدول في المثال السابق الموضح في الشكل هي .4
44
تصميم قواعد البيانات نموذج البيانات العلائقية RDM
5.2خصائص الجدول
• لكل جدول في قاعدة البيانات اسم خاص به ،ولا يتكرر الاسم الواحد في عدة جداول.
• يحتوي كل صف في الجدول على بيانات فريدة ،ولا يتكرر الصف نفسه أكثر من مرة في الجدول.
• تك ون الم دخلات في الأعم دة َذري ًة بحيث لا يحت وي الج دول على مجموع ات مك ررة أو س مات
متعددة القيم.
• تكون المدخلات في الأعمدة من المجال نفس ه بن ا ًء على ن وع بياناته ا ،فإ ّم ا أن تك ون أع داد -أي ع دد
صحيح ،كسري ...إلخ -أو سلسلة محارف ،أو تاريخ ،أو قيم منطقية -أي صح أو خطأ.
• غير مسموح بالعمليات التي تجمع بين أنواع البيانات المختلفة.
• كل ِسمة لها اسم فريد.
• ترتيب الأعمدة غير مهم.
• ترتيب الصفوف غير مهم.
5.3المفاهيم الأساسية
• القيمة ال َذرية :atomic valueتعني أ ّن كل قيمة في المجال غير قابلة للتجزئة بق در م ا يتعل ق الأم ر
بالنموذج العلائقي.
• ال ِسمة :attributeوحدة التخزين الأساسية في قواعد البيانات.
• العمود :columnهو نفسه السمة attributeالتي ذكرتها للتو.
• الدرجة :degreeعدد ال ِسمات في الجدول.
• المجال :domainهو المجموعات الأصلية للقيم ال َذرية المستخ َدمة لنمذجة البيانات ،وهو مجموعة من
القيم المقبولة التي يُسمح للعمود باحتوائها.
• الحقل :fieldيكافئ السمة .attribute
• الملف :fileيكافئ العلاقة .relation
• السجل :recordيحتوي على عدة حقول ذات صلة ببعضها البعض ،ويكافئ السطر .tuple
• العلاقة :relationمجموعة فرعية من الناتج الديكارتي لقائمة من المجالات ال تي تتم يز بالاس م ،وهي
المصطلح التقني لكل من الجدول ، tableأو الملف .file
• الصف :rowيكافئ السطر .tuple
45
تصميم قواعد البيانات نموذج البيانات العلائقية RDM
• لغة الاستعلام المهيكلة structured query languageأي :SQLهي لغ ة الوص ول القياس ية إلى
قاعدة البيانات.
• الجدول :tableيكافئ العلاقة .relation
• السطر :tupleمصطلح تقني مرادف للصف أو السجل.
5.4المصطلحات الأساسية
وردت العديد من المصطلحات المترادفة في هذا الفصل ،ويرجى الرج وع إلى الج دول الت الي بالإض افة إلى
المفاهيم الأساسية السابقة ،كما يحتوي العمود البديل الأول في ه ذا الج دول على المص طلحات الأك ثر ش يو ًعا
واستخدا ًما اليوم.
البديل الثاني البديل الأول المصطلح الرسمي
-أي حسب العالِم - Codd
الملف File الجدول Table
السجل Record الصف Row العلاقة Relation
الحقل Field العمود Column السطر Tuple
السمة Attribute
5.5تمارين
استخدم الجدول التالي للإجابة على الأسئلة أدناه:
كنية الموظف رمز مهنة الموظف تهيئة الموظف اسم الموظف معرف سجل
الموظف
عبد الله 12 فريد A.
123455
123456علا D.عادل 18
علي 15 123457فاتن G.
إسماعيل 18 123458كريم X.
.1ح ِّدد و ِصف جميع المكونات في الجدول باستخدام المصطلحات الصحيحة.
.2ما هو المجال المحتمل للحقل EmpJobCode؟
.3كم عدد السجلات المعروضة وكم عدد السمات المعروضة؟
.4اذكر خصائص الجدول.
46
.6نموذج الكيان والعلاقة ERوتمثيل
البيانات
ظهر نموذج الكيان والعلاقة - entity relationshipأو ERاختصا ًرا -لتمثيل البيانات منذ أك ثر من 35ع ام،
وهو مناسب تما ًما لنمذجة البيانات للاستخدام مع قواع د البيان ات ،وذل ك لأن ه ذو طبيع ة مج ردة إلى ح د م ا،
وسهل المناقشة والشرح.
ت ترجم نم اذج الكي ان والعلاق ة للبيان ات إلى علاق ات بس هولة ،كم ا تس مى تخطي ط الكي ان
والعلاقة ،ER schemaحيث تُم َّثل بواسطة مخططات الكيان والعلاقة .ER diagrams
تعتمد عملية إنشاء نماذج الكيان والعلاقة للبيانات ER modellingعلى مفهومين هما:
• الكيانات :Entitiesوتُعرَّف على أنها الجداول التي تحتوي على معلومات خا ّصة -أي بيانات.
• العلاقات :Relationshipsوتُعرَّف على أنها الارتباطات أو التفاعلات بين الكيانات.
فيما يلي مثال على كيفي ة دمج ه ذين المفه ومين في نم وذج الكي ان والعلاق ة :يك ون في قولن ا "ي درِّس
الأستاذ دورة أنظمة قواعد البيانات" الكيان هو كل من الأستاذ ،ودورة أنظم ة قواع د البيان ات؛ أم ا العلاق ة فهي
كلمة يدرِّس.
سنستخدم في ه ذا الفص ل قاع دة بيان ات تس مى الش ركة COMPANYلتوض يح مف اهيم نم وذج الكي ان
والعلاق ة ،حيث تحت وي على معلوم ات ح ول الم وظفين ،employeesوالأقس ام ،departments
والمشاريع ،projectsكما يجب ملاحظة النقاط التالية:
• هناك عدة أقسام في الشركة ،ولكل منها قس م ُمع رِّف فري د ،واس م ،وموق ع للمكتب ،وموظ ف معين
يدير القسم.
• يتحكم القسم في عدد من المشاريع ،ولكل منها اسم فريد ،ورقم فريد ،وميزانية.
تصميم قواعد البيانات نموذج الكيان والعلاقة ERوتمثيل البيانات
• كل موظف له اسم ،ورقم تعريف ،وعنوان ،وراتب ،وت اريخ ميلاد ،كم ا يُع َّين الموظ ف في قس م واح د،
ويمكنه الانضمام لعدة مشاريع ،كما نحتاج إلى تس جيل ت اريخ ب دء الموظ ف في ك ل مش روع ،ومعرف ة
المشرف المباشر لكل موظف.
• نريد تت ّبع ال ُمعالِين لكل موظف ،حيث يملك كل ُمعال اسم ،وتاريخ ميلاد ،وعلاقته بالموظف.
6.1الكيان ومجموعة الكيان ونوع الكيان
الكيان entityهو كائن في العالم الحقيقي له وجود مستقل ،كم ا يمكن تمي يزه عن الكائن ات الأخ رى ،وق د
يكون هذا الكيان:
• كائن له وجود مادي ،physical existenceمثل :محاضر ،وطالب ،وسيارة.
• كائن له وجود مفاهيمي ،conceptual existenceمثل دورة ،ووظيفة ،ومنصب.
• يمكن تصنيف الكيانات بنا ًء على قوتها ،حيث يُ َع ّد الكيان ضعي ًفا في الحالات التالية:
• وجوده غير ممكن بدون علاقة مع كيان آخر.
• مفتاحه الرئيسي مشتق من المفتاح الرئيسي للكيان الأب.
◦ يُ َع ّد جدول الزوج Spouseفي قاعدة بيانات الشركة كيانًا ض عي ًفا لأن مفتاح ه الرئيس ي يعتم د على
جدول الموظف ،أي لن يكون سجل الزوج موجو ًدا إذا لم يتواجد سجل الموظف المقابل.
يُ َع ّد الكيان قويًا إذا كان يمكن أن يوجد مستقاًل عن جميع الكيانات المرتبطة به.
• الأنوية Kernelsهي كيانات قوية.
• يُ َع ّد الجدول كيانًا قويًا إذا لم يحتوي على مفتاح خارجي ،foreign keyأو إذا احتوى على مفت اح خ ارجي
يقبل القيم الفارغة .null
يجب معرفة مصطلح آخر ،وهو نوع الكيان entity typeالذي يح ِّدد تجميعة من الكيان ات المتش ابهة ،كم ا
تُ َع ّد مجموعة الكيان entity setتجميعة من نوع الكيان entity typeفي وقت مع َّين.
يُم َّثل ن وع الكي ان في مخط ط الكي ان والعلاق ة - entity relationship diagramأي ERDاختص ا ًرا -في
صندوق ،فمثاًل ،نوع الكيان في الشكل التالي هو موظف .EMPLOYEE
48
تصميم قواعد البيانات نموذج الكيان والعلاقة ERوتمثيل البيانات
الشكل :6.1نوع الكيان هو الموظف
6.2ارتباط الوجود
يعتم د وج ود الكي ان على وج ود الكيان ات ذات الص لة ب ه ،ويُ َع ّد الكي ان ارتب اطي الوج ود Existence
dependencyإذا كان يحتوي على مفتاح خارجي إلزامي -أي سمة مفتاح خارجي لا يمكن أن تك ون فارغ ة ،-null
فمثاًل ،يكون في قاعدة بيانات الشركة COMPANYكيان الزوج Spouseمعتم ًدا على وجود كيان الموظف.
6.3أنواع الكيانات
يجب أي ًضا أن تكون على دراية بأنواع الكيانات المختلفة بما في ذلك:
• الكيانات المستقلة independent entities
• الكيانات المعت ِمدة dependent entities
• الكيانات المم َّيزة characteristic entities
6.3.1الكيانات المستقلة
تُ َع ّد الكيانات المستقلة - Independent entitiesوالتي يش ار إليه ا أي ًض ا باس م الأنوي ة -kernelsالعم ود
الفقري لقاعدة البيانات ،إذ تستند عليه الجداول الأخرى ،ولها الخصائص التالية:
• هم اللبنات الأساسية لقاعدة البيانات.
• قد يكون المفتاح الرئيسي primary keyبسي ًطا ،أو مرك ًبا.
• لا يمكن أن يكون المفتاح الرئيسي مفتاحًا خارج ًيا.
• لا تعتمد على أي كيان آخر في وجودها.
إذا عدنا إلى قاعدة بيان ات الش ركة COMPANYالخاص ة بن ا ،فتتض من أمثل ة الكيان ات المس تقلة ج دول
العميل ،Customer tableأو جدول الموظف ،Employee tableأو جدول المن َتج .Product table
49
تصميم قواعد البيانات نموذج الكيان والعلاقة ERوتمثيل البيانات
6.3.2الكيانات المعت ِمدة
تستند الكيانات المعت ِمدة – Dependent entitiesتسمى أي ًضا الكيانات المشتقة -derived entitiesعلى
جداول أخرى حتى يكون لها معنى ،ولها الخصائص التالية:
• تُستخ َدم الكيانات المعت ِمدة لربط نواتين م ًعا.
• يَعتمد وجودها على وجود جدولين أو أكثر في قاعدة البيانات ،حيث لا يمكن وجود كيان ات معت ِم دة في
قاعدة بيانات تحتوي على جدول واحد فقط.
• تُن ِشئ علاقات (متعدد إلى متعدد) جداول ترابطية associative tablesبمفتاحين خارجيين على الأقل.
• قد تحتوي على سمات أخرى.
• يح ِّدد كل مفتاح خارجي جدواًل مرتب ًطا بالكيان نفسه.
• هناك ثلاثة خيارات للمفتاح الرئيسي:
.1استخ ِدم مزيجًا من المفاتيح الخارجية للجداول المرتبطة إذا كانت فريدة.
.2استخ ِدم مزيجًا من المفاتيح الخارجية وعمو ًدا مؤ ِهاًل .
.3أن ِشئ مفتاح رئيسي بسيط جديد.
6.3.3الكيانات المتميزة
توفر الكيانات المم َّيزة Characteristic entitiesمزي ًدا من المعلومات ح ول ج دول آخ ر ،وله ذه الكيان ات
الخصائص التالية:
• تم ِّثل سمات متعددة القيم.
• ت ِصف كيانات أخرى.
• عادة ما يكون لديها علاقة علاقة واحد إلى متع ِّدد .one to many relationship
• يُستخ َدم المفتاح الخارجي foreign keyلتحديد الجدول المميز .characterized table
• خيارات المفتاح الرئيسي هي:
.1استخ ِدم مزيجًا من المفاتيح الخارجية وعمو ًدا مؤ ِهاًل .
.2أن ِشئ مفتا ًحا رئيس ًيا بسي ًطا جدي ًدا في قاعدة بيانات الشركة ،COMPANYوالتي قد تشمل:
▪ جدول الموظف ( Employeeالمعرف ،EIDالاسم ،العنوان ،العمر ،الراتب) EID -ه و المفت اح
الرئيسي البسيط.
50