ملخص
المقدمة Preface بسم الله والحمد لله والصلاة والسلام على رسول الله. شهدت العقود الماضية تطورا كبيرا في مجال تقنية المعلومات وخصوصاً بعد ظهور وانتشار شبكة الانترنت بشكل واسع، فأصبحت المصارف والشركات والمؤسسات وغيرها وخصوصا الكبيرة منها مثل الشركات الكبرى متعددة الجنسيات (لديها فروع في عدة دول) تعتمد اعتماداً كلياً على استخدام نظم الحاسوب، هذه الأنظمة الحاسوبية تحتاج إلى مخازن كبيرة للبيانات والتي بجب أن تتميز بسهولة الاستخدام من حيت عمليات تخزين واسترجاع ومعالجة البيانات، وأيضا القدرة على المحافظة على المعلومات المخزنة من التلف والاستخدام غير الآمن. على سبيل المثال، عند القيام بالبحث عبر الانترنت في مواقع البحث مثل Google أو Yahoo تظهر لك آلاف الروابط التي تنقل إلى مواقع آخرى، هذه البيانات التي يتم الوصول إليها عبر هذه الروابط تخزن داخل مخازن كبيرة للبيانات تسمى قاعدة البيانات Database. تعتبر قاعدة البيانات Database من الركائز الاساسية في علم الحاسوب، لأنها هي الإطار الحاوي للبيانات، حيث غيرت قواعد البيانات الطريقة التي كانت تعمل بها العديد من الشركات والمؤسسات، مما ترتب عليه ظهور الكثير من التقنيات التي تعمل بكفاءة عالية وآمنة وأكثر سهولة في الاستخدام عند التعامل مع كم كبير من البيانات، وأدى هذا التطور الكبير في التقنيات إلى ظهور العديد من الأنظمة التي تتعامل بقواعد البيانات تسمى أنظمة إدارة قواعد البيانات Database Management Systems DBMSs. في نهاية الستينات تم استخدام نظام إدارة قواعد البيانات DBMS داخل المصارف لحفظ حسابات الزبائن، وفي مكاتب الخطوط لحجز تذاكر المسافرين. يتميز نظام إدارة قواعد البيانات بسهولة الاستخدام مما ساعد الطلاب والتقنيين والمستخدمين والهواة على إنشاء قواعد بيانات غير متناسقة بسب عدم معرفتهم بالطريقة العلمية الصحيحة لإنشائها بطريقة تشتغل عليها التطبيقات بأداء عالي. تتمثل كفاءة قواعد البيانات في قوة نظام إدارة قواعد البيانات الذي يقوم بإدارتها مع إبقائها متاحة للمستخدمين على فترات طويلة من الزمن وبعيدة عن المخاطر Risks. مرت مراحل بناء وتطور أنظمة إدارة قواعد البيانات DBMSs في البداية على أساس نماذج Models البيانات، تُستخدم هذه النماذج لوصف بنية البيانات داخل قاعدة البيانات، حيث استخدم النموذج الهرمي، يليه النموذج الشبكي، ثم النموذج العلائقي. النموذج العلائقي كان أساس ظهور نظام إدارة قواعد البيانات العلائقيةRelational Database Management System RDBMS سنة 1970، والذي تم فيه تمثيل البيانات داخل قاعدة البيانات على شكل جداول تحتوي صفوف وأعمدة، هذا النموذج العلائقي سيكون المحور الرئيسي في هذا الكتاب. جاءت فكرة هذا الكتاب على توفير مادة دراسية كمقدمة في قواعد البيانات العلائقية Relational Database والتي تعتبر أساس النظام السائد لتطبيقات الأعمال في الوقت الحاضر في البيئات الأكاديمية والتجارية على حد سواء، حيث يقدم هذا الكتاب فكرة عامة حول قواعد البيانات ويوفر منهجية واضحة لمُساعدة الطلاب والتقنيين والمستخدمين والهواة في استخدام مخطط الكيان العلائقي ERD وصيغ التطبيع Normalization لتصميم قواعد البيانات بشكل صحيح وفعال. تنظيم الكتاب Organization of The Book ينقسم هذا الكتاب إلى سبعة فصول وثلاثة ملاحق: الفصل الأول يقدم نبده بشكل مختصر على الأنظمة القائمة على الملفات File-Based Systems سواء أكانت الملفات ورقية أو الكترونية Electronic Files ويبين عيوبها والمشاكل التي تحدث جراء استخدامها، مثل فصل وعزل البيانات عن بعض والذي يسبب ازدواجية البيانات، ويبين الحل لهذه العيوب والمتمثل في انشاء قاعدة بيانات Database مركزية يرتبط بها الجميع ويديرها نظام إدارة قواعد البيانات DBMS، هذا النظام يعتبر حلقة وصل بين المستخدم وقاعدة البيانات، ويوضح المزايا Advantages التي يقدمها نظام إدارة قواعد البيانات من التحكم في تكرار البيانات ومشاركة البيانات وأمن البيانات. ثم يتكلم بشكل مختصر على بيئة نظام إدارة قواعد البيانات Database Management System Environment ويبين مكوناتها الخمس. الفصل الثاني يفحص بنية قاعدة البيانات المكونة من ثلاث مستويات Three-Level Database Architecture، المستوى الخارجي والمفاهيمي والداخلي External, Conceptual, and Internal Level، ويبين ما يتم في كل مستوى من المستويات الثلاثة، ويناقش كيف يتم ربط البيانات بين المستويات الثلاثة في معمارية نظم ادارة قواعد البيانات ANSI-SPARC، التي يتم فيها تداول البيانات من المستوى الخارجي إلى المستوى الداخلي مروراً بالمستوى المفاهيمي عن طريق ما يسمى بالربط Mapping مع إعطاء مثال توضيحي، ينتقل بعد ذلك لتعريف مخطط قاعدة البياناتDatabase Schema وحالة قاعدة البيانات Database Instance، ثم الانتقال للحديث على الاستقلال المنطقي والمادي للبياناتLogical and Physical Data Independence والذي يحمى كل مستوى من المستويات الثلاثة من التغييرات التي تحدث في المستوى الآخر، وأخيراً في هذا الفصل يشرح نماذج البيانات Data Modelsالمتمثلة في النموذج الهرمي Hierarchical والنموذج الشبكي Network والنموذج العلائقي Relational Model. الفصل الثالث يشرح بنية البيانات العلائقية Relational Data Structure ويعرف بعض المصطلحات مثل العلاقة Relation والخاصية Attribute والنطاق Domain والصف Tuple، ويتكلم بإيجاز على قاعدة البيانات العلائقية Relational Database، كما يوضح بعض الشروط التي يجب توفرها في خصائص العلاقة Properties of Relation، ويبين المفاتيح العلائقية Relational Keys مثل المفتاح الرئيسيPrimary Key والمفتاح الأجنبي Foreign Key، ويحدد مخطط قاعدة البيانات العلائقية Relational Database Schema المتمثل في وضع الجداول في صيغة مبسطة، كما يشير إلى قيود التكامل Integrity Constraints التي تطبق على الخصائص لضمان تكامل (سلامة) ودقة البيانات المدخلة في جداول قاعدة البيانات. الفصل الرابع يبين المفاهيم الأساسية لتقنية مخطط الكيان العلائقي ERD Entity–Relationship Diagram المتمثلة في الكيان Entity والخاصية Attribute والعلاقة Relationship لتصميم قاعدة البيانات ويبين أنواعها، ثم يشرح الرموز المستخدمة في تصميم قاعدة البيانات في نموذج ER باستخدام رموز تشينChen . ويوضح كيف يتم تفسير Interpreting مخططات الكيان العلائقي ER بين كيانين، ويبين أنواع العلاقات Relationships، ويوضح مصطلح التعددية Multiplicity، ويبين قيود المشاركة Participation والمتمثلة في المشاركة الاختيارية والالزامية والأصلCardinality ، كما يشرح كيف يتم التعامل مع الكيانات عند تعدد العلاقات لكيان واحدMultiple Relationships، وأخيرا يتكلم على درجة العلاقة Relationship Degree، الاحاديةUnary والثنائية Binary والثلاثية Ternary التي تشير إلى عدد الكيانات المرتبطة بالعلاقة. الفصل الخامس يشرح بالتفصيل مع ذكر مثال للقواعد العشر التي تستخدم لتحويل مخطط علاقة الكيان Entity Relationship Diagram ERD إلى مخطط قاعدة البيانات العلائقية Relational Database Schema للوصول إلى تصميم قاعدة بيانات صحيحة خالية من التكرار. الفصل السادس يتناول تقنية أخرى للوصول إلى تصميم قاعدة بيانات صحيحة وذلك باستخدام صيغ التطبيع Normalization، حيث يركز هذا الفصل في البداية على توضيح مشاكل التي تحدث داخل الجداول من تكرار البيانات وأخطاء التحديث Data Redundancy and Update Anomalies قبل تطبيق صيغ التطبيع، ويبين الأنواع الثلاثة للاعتمادية الوظيفيةFunctional Dependency وكيفية استخدامها والاستفادة منها في تحديد المفتاح الرئيسي للجدول Primary Key وتقسيم الجدول إلى عدة جداول، ثم ينتقل إلى شرح مفصل لمراحل صيغ التطبيع Normalization Forms الأربعة المتمثلة في الصيغة غير المطبعة Unnormalized Form (UNF) وكيف يكون شكل البيانات بداخلها، وصيغة التطبيع الأولى First Normal Form (1NF) وكيفية تحديد المفتاح الرئيسي بداخلها، وصيغة التطبيع الثانيةSecond Normal Form (2NF) والتي يتم إزالة الاعتمادية الوظيفية الجزئية منها، وصيغة التطبيع الثالثة Third Normal Form (3NF) والتي فيها يتم إزالة الاعتمادية المتعدية مع اعطاء مثال واضح لهم. الفصل السابع يتحدث على الجبر العلائقي Relational Algebraوهو لغة غير مطبقة (نظرية) لمعالجة البيانات، حيث يقسم العمليات الجبرية العلائقية إلى قسمين، القسم الأول العمليات العلائقية الأحادية Unary Relational Operations مثل الإختيار SELECT والإسقاط PROJECT، والتي يتم تنفيذها على جدول واحد فقط، والقسم الثاني العمليات العلائقية الثنائية Binary Relational Operations التي يتم تنفيذها على جدولين أو أكثر مثل الاتحاد Union والتقاطع Intersection والاختلافDifference وعملية الربط JOIN ويبين أنواع الربط، مع اعطاء بعض الأمثلة التوضيحية على هذه العمليات. الملاحق Appendices الملحق أ يبين مخططات قاعدة البيانات العلائقية Relational Database Schemas المستخدمة في الكتاب بالإضافة إلى التي تم استخرجها وتكوينها من النص. الملحق ب يشرح كيفية تمثيل مخططات علاقة الكيان ERD الموجودة في الفصل الرابع باستخدام رموز Crow’s Foot وUML لتصميم قاعدة البيانات. الملحق ج يقدم قاموس Dictionary إنجليزي-عربي للمصطلحات المستخدمة داخل فصول الكتاب. المراجع References تحتوي المراجع على الكتب التي تم استخدامها في تأليف هذا الكتاب. أسئلة المراجعة Review Questions يحتوي الكتاب على أسئلة مراجعة في نهاية كل فصل، هذه الأسئلة من نوعين مقالية وتحليلية، تم وضع حل للأسئلة التحليلية بالملحق د في الموقع على الرابط https://hassanebrahem.com.ly/books/. كيف تتواصل معي Contact Me آمل إرسال التعليقات والأسئلة المتعلقة بهذا الكتاب عبر صفحة تواصل معي بالموقع على الرابط https://hassanebrahem.com.ly/contact-me/. كما يمكن الحصول على بعض تفاصيل الكتاب عبر الصفحة الخاصة بالكتاب بالموقع على الرابط https://hassanebrahem.com.ly/books/. أعضاء هيئة التدريس والمهتمين الذين يرغبون في استخدام هذا الكتاب في تدريس قواعد البيانات ويريدون الحصول على شرائح العرض Slides الخاصة بالكتاب في ملف نوع PowerPoint، يتم المراسلة عبر صفحة تواصل معي بالموقع على الرابط https://hassanebrahem.com.ly/contact-me/. الشكر والتقدير Acknowledgments أولاً أشكر الله عز وجل على توفيقه في إخراج هذه النسخة لحيز الوجود، وثانياً عن أبي هريرة رضي الله عنه أن النبي صلى الله عليه وسلم قال: «لا يَشْكُرُ اللَّهَ مَنْ لا يَشْكُرُ النَّاسَ»، أود أن أتقدم بجزيل الشكر للمراجعين، الذين أخذت من وقتهم الثمين لمراجعة هذا الكتاب وعلى مناقشاتهم المفيدة وهم: د. كمال المبروك مفتاح، رئيس قسم الحاسب الآلي، كلية العلوم، جامعة غريان. د. عبدالسلام الفيتوري النويصري، وكيل الشؤون العلمية، كلية تقنية المعلومات، جامعة طرابلس. د. رضوان علي بلقاسم، رئيس قسم هندسة البرمجيات سابقاً، كلية تقنية المعلومات، جامعة طرابلس. المراجعة اللغوية أ. فهمي بدر الدين عبدالسلام، محاضر بقسم اللغات، كلية اللغات، جامعة غريان arabic 43 English 0