نظم إدارة قواعد البيانات DBMS

الناقل : elmasry | الكاتب الأصلى : zahrah | المصدر : www.arabteam2000-forum.com

نظم إدارة قواعد البيانات DBMS
Database Management Systems


بدأت معظم الشركات التجارية خاصة في البلدان المتقدمة تخزين وحفظ ملفاتها على الكمبيوتر منذ عام 1960 وقام علماء وخبراء الحاسبات في تطوير نظريات وأساليب لتطوير كيفية إعادة استخدام وزيادة كفاءة استخدام هذه الملفات المخزنة داخل الحاسب و التي تسمى ملفات مميكنة وبالتالي ظهرت واستحدثت مصطلحات كمبيوترية تعبر عن استخدامات هذه الملفات وأيضا استخدمت طرق لمعالجة هذه الملفات المميكنة .
و تخزن الملفات الكبيرة في قاعدة كبيرة وتحتوي على جميع البيانات المسجلة و التي يمكن استخدامها في زمن لاحق هذه القاعدة تسمي قاعدة بيانات Database .
ولان قواعد البيانات مهمة ومؤثرة جدا في جميع المجالات و الأنشطة الرئيسية . لذلك يلزم وجود نظم معينة لتنظيم وإدارة البيانات المخزنة . وهو ما يطلق عليه نظم إدارة قواعد البيانات Database Management Systems وتختصر هكذا DBMS ..
وتعرف نظم إدارة قواعد البيانات : بأنها هي البرامج التي تساعد على إنشاء قواعد البيانات و التعامل معها وتشغيل البيانات المخزنة بها . فمثلا بعد إضافة عملاء جدد لدليل التليفون فإنك تحتاج إلى ترتيب الأسماء من جديد أبجديا أو ترتيب عناوينهم . بمعنى آخر تتيح للمستخدم إضافة بيانات جديدة وتحديث البيانات وطباعة التقارير على الشكل التي تريده مثل القوائم و الجداول و النماذج و الفواتير ... الخ
وقد تكون قاعدة البيانات كبيرة جدا وتحتوي علي آلاف من البلايين من الكلمات وهي اكبر من الذاكرة الموجودة ونتيجة لذلك كانت لـ DBMS أن تعالج وتدير البيانات في الذاكرة الثانوية ومن البرامج التي صممت لهذه الشأن كثيرة منها التي تعمل على الحاسبات الكبيرة Mainframes أو التي تعمل علي الحاسبات الشخصية PCs .
ومثل هذه البرامج : DBASE IV و Clipper و Paradox و Oracle و FoxBase و FoxPro و SQL وDMS و IDMS و برنامجنا الجميل MS Access و الكثير من هذه البرامج بمختلف الإصدارات ..

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

وبعيدا عن التعقيدات ودون الدخول في تفاصيل وفرت نظم إدارة قواعد البيانات المرونة المطلوبة عن نظم إدارة الملفات التي كانت تستخدم من قبل .
ولكن كل ما نود أن نعرفه أن الملفات المسلسلة و الملفات الثنائية و العشوائية لها الدور الأكبر في الانتقال من نظام الملفات إلى نظام قواعد البيانات .

أنواع نظم إدارة قواعد البيانات :
ولهذا فأن نماذج البيانات هي تمثيل بيانات العالم الحقيقي بصورة يسهل استخدامها بواسطة الحاسب وهناك أنواع من نماذج البيانات تتوقف على نظام إدارة قواعد البيانات المستخدم وكذلك على طبيعية البيانات وتبعا لأنواع نماذج البيانات فهناك ثلاثة أنواع شائعة من نظم إدارة قواعد البيانات وهي .
نظم إدارة قواعد البيانات الهرمية Hierarchical DBMS
نظم إدارة قواعد البيانات الشبكية Network DBMS
نظم إدارة قواعد البيانات العلائقية Relational DBMS


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

Posted Image

والملفات الهرمية هي ملفات لها نفس البناء الشجري ولها نفس العلاقات بين السجلات مثالا لبعض أنواع السجلات التي يمكن أن تتواجد في تكوين هرمي فهناك سجلات مبيعات متعددة لكل بائع حيث يوجد سجل إحصائيات واحد لكل عملية جارية كما يوجد أيضا سجلات عديدة للعملاء لكل بائع حيث أن كل بائع له عملاء محددين ويمكن أن يكون لكل عميل عدة سجلات حسابات مدينين سجل واحد لكل عملية شراء لم يتم تسديد ثمنها .

ومن المهم أن نفهم انه ليس من الضروري أن تتصل كل الملفات الموجودة في قاعدة البيانات مع بعضها . وكل ما هو مطلوب أن تتصل الملفات التي تستخدم كمجموعة مع بعضها في التطبيقات .

وسجلات المبيعات السابقة لها مثل هذه العلاقة المنطقية تسمى فئة . و الفئة Set عبارة عن مجموعة من السجلات متصلة مع بعضها منطقيا .

وعلى هذا تصبح قاعدة البيانات الهرمية عبارة عن تجميع لملفات وفئات ملفات متصلة مع بعضها منطقيا .

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

نظم إدارة قواعد البيانات الشبكية Network DBMS :
رغم أن كلمة الشبكة استخدمت كثيرا في شبكات الحاسب ومعالجة البيانات فقد وجد من الأفضل استخدام مسمى قواعد البيانات الضفيرة Plex رغم أن مسمى قواعد البيانات الشبكية لازال شائع الاستخدام .
ويتغلب هيكل بيانات التركيب الشبكي على معوقات التكوين الهرمي الذي لا يسمح للابن أن يكون له اكثر من أب واحد ويظهر ذلك في الشكل التوضيحي للتكوين الشبكي حيث نلاحظ أن للسجل رقم (4) عائلان هما السجل رقم (2) و السجل رقم (3) .

Posted Image

ومثل هذا النوع من قواعد البيانات حل كثيرا من مشاكل العلاقات فإذا فرضنا أن هناك اكثر من مورد يورد قطع غيار فإن كل مورد قادر على توريد اكثر من نوعية قطعة غيار وبالتالي فإن كل قطعة غيار يوردها اكثر من مورد مما يحتم لفهم المثال عرض العلاقة بين قطعة الغيار و الموردون على النحو الموضح في الشكل التالي .

Posted Image

ويوضحها بدرجة اكبر الشكل التالي .

Posted Image

ولتبسيط هذه العلاقة يجب إعادة رسم العلاقات في الاتجاهين كما هو موضح في الشكل التالي .

Resized to 99% (was 659 x 185) - Click image to enlargePosted Image

(ق) ترمز إلى قطع الغيار

Resized to 93% (was 701 x 141) - Click image to enlargePosted Image

(م) ترمز للمورد

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

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

نظم إدارة قواعد البيانات العلائقية Relational DBMS
أثبتت الأيام صحة القول الشائع أن الأبسط هو الأجمل والأكفأ . فكلما كان سكنك بسيط وكلما عشت في بساطة و بعدت عنك المشاكل وكلما كانت الآلة بسيطة سهلت إدارتها وصيانتها . وهذا ما أكده التعامل مع قواعد البيانات الهرمية و الشبكية التي تعقدت ملفاتها وأساليب إدارتها لدرجة كادت تؤدي بها كلما أضيفت تطبيقات جديدة أو متطلبات جديدة تحتاج مؤشرات جديدة مما ضخم منها وعقدها .
وهذه المشاكل كانت المنطلق للبحث عن حلول تحقق جملة أهداف منها :
1. يمكن فهم قاعدة البيانات لمن لم يدرسوا علوم الحاسب .
2. يمكن تعديل وإضافة وحذف بيانات دون تغيير المخطط المنطقي للقاعدة .
3. تتيح للمستخدم اعلي درجة من المرونة في التعامل مع البيانات .

في عام 1970 أستحدث E.E.Codd أسلوبا لتنظيم وفرز بيانات قواعد البيانات . وهي قواعد البيانات العلائقية .
وقد وجد العالم الأمريكي E.E.Codd أن هذا لا يتحقق ألا برص البيانات على هيئة جداول لان الإنسان تعود على الجداول منذ طفولته بداية من جدول الحصص إلى جدول الضرب إلى كشف الأسماء و الدرجات .
وهذه النظم تتعامل مع اكثر من ملف في نفس الوقت وتعامل البيانات داخل الملف كما لو كانت جدولا مكونا من صفوف و أعمدة ويسمى علاقة Relation وتمثل أعمدة الجدول حقول قاعدة البيانات Fields وتسمى أيضا Attributes بينما تمثل صفوفها سجلات قاعدة البيانات وتسمى Tuples و النظام العلائقي Relation يقوم بربط البيانات بين العلاقات بناء على حقل مشترك بينهما .

و النظم العلاقية قامت أساسا علي النظريات العلاقية في الرياضيات وقد بدأ تطبيقها على الحاسبات الكبيرة أولا مثل SQL . ORACLE ثم ظهرت عدة نظم علائقية على الحاسبات الشخصية PCs مثل برامجDBaseII . DBaseIII . DBaseIII+ . DBaseIV . FoxBase . FoxPro .

ويمكن القول عن هذا النوع من قواعد البيانات مايلي
تنظيم البيانات في قواعد البيانات العلائقية في جداول ذات بعدين ويمكن اعتبار كل جدول ملف ويستخدم مصطلح ملف مسطح Flat File لان محتويات الملف مرتبة على محورين س , ص فقط .
نشأت مجموعة جديدة من المصطلحات تستخدم في وصف قواعد البيانات العلائقية هذه المصطلحات التي تستخدم في وصف قواعد البيانات الهرمية أو الشبكية ففي النموذج العلائقي يستخدم مصطلح نموذج بيانات علاقية جزئي أو رؤية لبيانات علاقية Relational Data Submodel or View بدلا من المخطط الجزئي Subschema ومصطلح رؤية View مناسب فهو لجزء المستفيد من قاعدة البيانات .
كما استخدمت بالإضافة إلى ذلك أسماء لوصف مكونات الملفات المسطحة ويوضح الجدول التالي عينة لملف ويشار إلى أعمدة الملف بأنها مسطح رأسي ( نطاق ) والى الصفوف بأنها مسطح أفقي و الجدول عبارة عن تجميع من المسطحات الأفقية خاصة بموضوع معين و الجدول خاص بالبائعين ويمكن استخدامه في توفير أسمائهم ومبيعاتهم منذ بداية العام .

Posted Image

وقد وضحنا المشاكل السابق ذكرها نظرا لأنه أمكن تجنبها في قواعد البيانات العلائقية فالتكوين العلائقي تكوين منطقي بحيث يستخدم علاقات ضمنية Implicit Relationships بدلا من استخدامه لعلاقات صريحة Explicit Relationships وهي التي تستخدم في كل من قواعد البيانات الهرمية و الشبكية .
وحتى نوضح مفهوم العلاقات الضمنية بين ملفات قاعدة البيانات العلائقية وكيفية استخدامها في تجميع البيانات مع بعضها من ملفات منفصلة عن بعضها نفرض أن لدينا جدولين في قاعدة البيانات جدول [ أ ] وجدول [ ب ] . جدول [ أ ] يعرف منطقة المبيعات لكل بائع باستخدام رقم البائع كحقل مفتاحي و الجدول [ ب ] يحدد اسم كل بائع و الجدولان منفصلان عن بعضهما أي لا يوجد أي اتصال طبيعي بينهما وتحدد العلاقة ضمنيا وذلك بإدخال حقل رقم البائع في كل من الجدولين .
وبذلك نكون قد استعرضنا التسلسل التاريخي وانتهينا من تعريف نظم إدارة قواعد البيانات DBMS وأنواعها الأكثر انتشارا وفائدتها لإدارة البيانات .

ذكرنا في المشاركة السابقة نبذةً مختصرة عن أنظمة إدارة قواعد البيانات (DBMS)، وعرفناها بأنها مجموعة من البيانات المترابطة ، إضافة إلى مجموعة من البرمجيات وظيفتها التخاطب مع هذه البيانات لتشكيل بيئة يستطيع الإستفادة منها عدة مستخدمين بشكل متزامن ، ويمكن القول بأنها عبارة عن مجموعة من البيانات النشطة والغير نشطة التي يتم التعامل معها ضمن مجموعة من البرامج ، وأهم أهدافها هي القدرة على تحليل وإدارة كم كبير من المعلومات في وقت مميز وجهد أقل.
ولعل أحد الأسباب الرئيسية في وجود أنظمة متخصصة لإدارة قواعد البيانات ؛ هو الحاجة الفعلية لدعم قاعدة بيانات مركزية لتطبيقات متعددة بالإضافة إلى مستخدمين متعددين على نفس التطبيق .
وتأتي أنظمة (DBMS) بأصناف عديدة ، وبمزايا مختلفة إلا أنها بشكل عام تسعى لتحقيق ثلاثة أهداف هامة :

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

?المشاركة على البيانات ( Data Sharing) :
أي قدرة النظام على السماح لعدة مستخدمين بالوصول إلى أجزاء مستقلة من البيانات ضمن قاعدة البيانات في نفس الوقت ، وهذه خاصية تتميز بها تطبيقات DBMS بما يعرف بالتوازي (Concurrency) .

?حماية البيانات ( Data Protection) :
أي قدرة الـ DBMS على المحافظة على سلامة البيانات أمام الحوادث الطارئة خلال المعالجة (فشل البرنامج أو توقفه فجأة ..الخ ) ، إذ ينبغي على الـ DBMS أن تمتلك القدرة على إعادة البيانات إلى حالتها السابقة قبل التعديل غير الكامل عليها أو قبل حدوث الخطأ فيها وتسمى هذه العملية أحياناً بالتراجع (undo) .

Posted Image

نلاحظ هنا أن لدينا عدة جداول (الإدارات ، الإجازات ، القروض)، وجميع هذه الجداول في بنية مركزية واحدة وهي قاعدة بيانات "شؤون الموظفين " ، وهذا يحقق المبدأ الأول وهو دمج البيانات Data Consolidation)،كما نلاحظ أن جدول الإجازات يستطيع الوصول لبياناته كلا المستخدمين (خالد ، عمار) وهذا يحقق المبدأ الأول وهو المشاركة ( Data Sharing) ، وبالطبع فإن المبدأ الثالث : حماية البيانات ( Data Protection) متحققٌ ضمنياً وغيرظاهر للمستخدم العادي .
وتنظم أنظمة إدارة قواعد البيانات (DBMS) البيانات في بنية تدعى النموذج (data model) ، يمكن النظر إليها على أنها البنية التحتية (infrastructure) لتنظيم البيانات ، أو بمعنى آخر وأوضح " كيفية تقديم البيانات للمستخدم " ، وفي الواقع هناك عدة نماذج للبيانات ذكرناها في أوائل دروس هذه السلسلة ؛ وهي الهرمية والشبكية والعلائقية والموزعة وغرضية التوجه وذكرنا أن أهمها العلائقية والموزعة ، لكن أبرزها وأظهرها على الساحة : الهرمية (hierarchical) والشبكية ( network) و العلائقية (relational ) ، وفيما يلي نبذة سريعة عن كلٍ منها :

قواعد البيانات الهرمية HIERARCHICAL D.B :
هي عبارة عن مجموعة مرتبة ومتكررة من نوع واحد من السجلات المركبة على هيئة شجرة، أى أن لكل سجل جذر (ROOT)واحد أي سجل واحد تتفرع منه هذه الفروع إلى سجلات ، و هكذا فيما يمكن تشبيهه بشجرة العائلة (الجد- الإبن- الاحفاد) ولا يسمح في قواعد البيانات الهرمية بأن يكون لأي سجل أكثر من واحد. ومثل ذلك قاعدة بيانات مركز تدريب كما يوضحها الشكل التالي :

Posted Image

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

* تسجيل جذر السجل.
* وظيفة لتحريك البيانات من شجرة إلى أخرى.
* معامل للحركة بين كل سجلات هذا التكون الشجري.
* وظيفة لإضافة السجلات.
* وظيفة لحذف السجلات.

قواعد البيانات الشبكية D.B NET WORK

Posted Image

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

قواعد البيانات العلائقية RELATIONAL D.B :

Posted Image

قمنا بشرح هذا النوع و لكن لا ضير من التحدث عنه في هذا السياق ، تعتبر قواعد البيانات العلاقية من أهم قواعد البيانات وتتصف بأنها قاعدة بيانات يستقبلها المستخدمون على هيئة جداول وليس شيئاً آخر سوى الجداول فيما يوضحه الجدول(الملف)المعبر عن بيانات التلاميذ المسموح لهم بالاستعارة (ملف الاستعارة) وبمعنى أوضح جدول الإستعارة أما الجدول التالي وهو جدول الكتب المسموح (مقتنيات المكتبة) باستعارتها : وبفرض أن تلميذاً له سجل في ملف (جدول)المستعيرين الموضح في الجدول الأول استعار كتاباً من مقتنيات المكتبة فإن العلاقة الناشئة عن هذا الإجراء يمكن توضيحها بنموذج الكينونات والعلاقات ما يلي :
وتعتبر قواعد البيانات العلاقية هذه العلاقة ملف جديد - جدول جديد- مواصفاته(حقوله) كالتالي:
رقم المستعير
رقم إيداع الكتاب.


الفرق بين الهرمية والشبكية والعلائقية :
يستخدم النموذجان الهرمي والشبكي روابط (links) أو مؤشرات (pointers) لوصل السجلات بعضها ببعض في النظام ، وتدعى هذه الأنظمة بالأنظمة الستاتيكية (ststic)أوالمتراصة(monolithic) لأن السجلات فيها مربوطة ببعضها بشكل فيزيائي من خلال تعاريفها ، وتتميز هذه الأنظمة بأنها معقدة العمل وصعبة التعديل ، إلا أن سرعة الوصول فيها تغطي عيوبها .
أما في الأنظمة العلائقية فالربط بين السجلات لا يجري فيزيائياً عن طريق المؤشرات ، وإنما عن طريق الأسماء الحقيقية للحقول ، كحقل رقم الموظف ID ، أو حقل الإسم أو حقل رقم البطاقة ..الخ ، فالسجلات في هذا النظام قابلة للعنونة بمحتوياتها (connect-addressable) بحيث يجري الوصول إليها بمطابقة قيم البيانات المخزنة مع بعضها .
وتضم الأسواق حالياً مالا يقل عن 200 نظام DBMS ، نصفها تقريباً يستخدم اللغة SQL (أنظمة علائقية) على الحاسبات الكبيرة (mainframe) أو الحاسبات الصغيرة (mini) ، أو الشخصية (personal) ، وتتميز الأنظمة العلائقية عن غيرها بالمعايير التالية :
أنها تقدم البيانات لمستخدمي النظام على شكل مجموعة من الجداول البسيطة ثنائية البعد (تتكون من أسطر وأعمدة ) كما مر معنا في مثال الإستعارة يسمح النظام بتوليد جداول جديدة بالإعتماد على الجداول الموجودة ، حيث يمكن لهذه الجداول المولَّدة أن تكون بنى بيانات مؤقتة (temporary) (عادةً إما أن تكون نتيجة استفسارات (querieds) تستخدم كتقارير) أو دائمة (permanent).


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

قواعد البيانات العلائقية Relational Database
تُعرَّف قواعد البيانات العلائقية بأنها عبارة عن تنظيم البيانات في جداول، ويعرف الجدولُ بأنه علاقة رياضية تعتمد على بعدين، هما الصف والعمود، حيث أن الصفوف تشكل السجلات، أما الأعمدة صفات الجدول ) فتشكل الحقول، وتتميز هذه الجداول بوجود علاقة فيما بينها تمكن المستخدم من الوصول إلى بيانات من مختلف أجزاء قاعدة البيانات.
وقبل أن نبحر في هذا الموضوع الهام..علينا التحدث عن بعض المفاهيم الخاصة بقواعد البيانات العلائقية Relational Database ومنها ما يلي :

1- العلاقة Relation :
وهي ما تعرف بالجدول Table، حيث يشكل الوحدة الأساسية في قواعد البيانات العلائقية، وله عدة أنواع في قواعد البيانات العلائقية سيتم التطرق إليها لاحقاً.

2- الصفة Attribute :
وهي عبارة عن أعمدة الجدول، فإذا كان لدينا علاقة طلاب بها رقم الطالب، اسم الطالب، ومعدل الطالب، فإننا نعتبر أن هذه البيانات الخاصة بالطلاب هي صفات العلاقة جدول الطلاب).

3- درجة العلاقة Relation Degree :
وهي عدد الصفات الحقول) داخل العلاقة، فمثلاً إذا كان لدينا علاقة جدول ) به ثلاثُ صفات ؛ فيكون هذا الجدول من الدرجة الثالثة، وإذا كان به صفتان يكون من الدرجة الثانية وهكذا.

4- مجال القيم Domain :
وهو المعيار الذي يتم فيه تحديد مجال القيم المسموح بإدخالها إلى الجدول.
- إنَّ لقواعد البيانات العلائقية مجالات واسعة الاستخدام منها :
- استرجاع البيانات حسب رؤية المستخدم أي الاستعلام عن البيانات حسب ما يريده المستخدم من الجدول).
- إضافة بيانات إلى الجدول.
- تعديل بيانات في الجدول.
- حذف بيانات من الجدول.
- تنفيذ العمليات المختلفة من دمج وتخصيص وتعديل.
وفي قواعد البيانات العلائقية يتم التعامل مع الجداول بحيث يشكل الجدول البناء المنطقي الذي يراه المستخدم ويحصل من خلاله على متطلبات النظام الذي يعمل عليه.
والجدول التالي مثالٌ بسيطٌ عن قواعد البيانات العلائقية :

Posted Image

من المثال السابق نجد أن رقم الكتاب، اسم الكتاب، تاريخُ النشر ) تشكل الأعمدة صفات) الجدول،أما الصف فهو يشكل السجل الخاص بكل عنصر على حدة، فالكتاب الأول له سجل فيه بياناته، والكتاب الثاني له بياناته...الخ.
ومن الضروري عند التحدث عن قواعد البيانات العلائقية التطرق إلى عدة نقاط أهمها :
أولاً: اشتراط وجود مفتاح لك جدول، والمفتاح عبارة عن صفة حقل ) يعرّف سجلاً بشكل وحيد ومتفرد.
مثال على ذلك : رقم الكتاب، فلا يجوز أن يتكرر الرقم لأكثر من كتاب وهذا ما قُصد بأنه يعرف السجل بشكل وحيد ومتفرد، إضافة إلى أنه يجب ألا يقبل قيمة Null، بمعنى لا يكون فارغاً.
ثانياً: يجب ألا تكون البيانات المخزنة عبارة عن قيم مركبة، أي أنه لا يمكن وضع Access و Database كعنصري بيانات في نفس الموقع.

مفاتيح الجداول :
كما أسلفنا سابقا وجود مفاتيح للجداول، فإن علينا دراسة هذه المفاتيح والتطرق إلى أنواعها :
أولاً : المفتاح الرئيسـي Primary Key :
وهو المفتاح الذي يحدد بشكل وحيد ومتفرد بحيث يتميز عن غيره، فلا تتكرر قيمته في أكثر من حقل واحد، ولا يقبل أي قيمة Null أي لا يمكننا أن نترك الحقل فارغاً بدون قيمة ).

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

Posted Image

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

ثالثاً: المفتاح المرشح Candidate Key :
عند البدء بتصميم الجدول يتم ترشيح عدد من الحقول الصفات) كي تصبح مفاتيح رئيسية، وعند إدخال البيانات، قد يتبين أن هذه المفاتيح يمكن أن تأخذ قيمة Null، فالمفتاح الذي يأخذ قيمة Null يُستثنى، والمفاتيح التي لا تأخذ قيمة Null ولا تكرر ؛ تبقى وتصبح مفاتيح رئيسية، بمعنى آخر : فإن المفتاح المرشح هو الصفة أو مجموعة الصفات التي يتم اختيارها وفحصها حتى يتقرر فيما بعد أنها ستبقى مفاتيح مرشحة أو يتم اعتمادها كمفتاح رئيسي.

رابعاً : المفتاح الأجنبـي Foreign Key :
وهو عبارة عن حقل صفة ) أو أكثر يستخدم للربط بين جدولين، وسُمي المفتاح الأجنبي بهذا الاسم لأنه ليس من الحقول الموجودة أصلاً في الجدول، أي أنه عبارة عن حقل أو أكثر تُضاف إلى جدول لربطه مع جدول آخر.
وكمثال على استخدام المفتاح الأجنبي، لنفترض أن لدينا الجدولين التاليين :

Posted Image

نلاحظ من المثال السابق أن رقم التصنيف في جدول التصنيفات عبارة عن مفتاح رئيسي، أما رقم التصنيف في جدول المنتجات فهو مفتاح أجنبي، تمت إضافته لربط بين الجدولين،ولتحديد التصنيف الذي يتبع له المنتج.
ويستخدم المفتاح الأجنبي كمؤشر مقابل للمفتاح الرئيسي، بمعنى آخر فإن المفتاح الأجنبي هو عبارة عن حقل صفة) أو أكثر تُضاف لجدول لربطه مع جدول آخر، مع الالتزام بوجود مفتاح رئيسي مقابل مع ملاحظة أن المفتاح الأجنبي يجب أن يكون من نفس نوع بيانات Data Type المفتاح الرئيسي، فلو كان المفتاح الرئيسي من النوع رقم مثلاً، يجب أن يكون المفتاح الأجنبي من النوع رقم، لذلك يعتبر الأجنبي مؤشر للرئيسي.

للحديث بقية ان شاء الله تعالى
اخنكم
زهره