الفصل العاشر

 قواعد البيانات

 



مقدمة في الحاسوب

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

10-2 مميزات قواعد البيانات:

  1.إمكانية إضافة ملفات جديدة.
2.
إضافة بيانات جديدة على الملفات الموجودة في القاعدة.
3.
استرجاع بيانات من الملفات المكونة لقاعدة البيانات.
4.
تحديث البيانات.
5.
حذف البيانات من الملفات.
6.
إزاحة ملفات خالة أو مكتوب عليها مسجلات.
7.
يمكن تعديل البرامج دون تعديل البيانات والعكس صحيح.
8.
يمكن للمستخدم النظر إليها على أنها ملفات متكاملة.
9.
تلبي حاجات كافة المستخدمين للبيانات.
10.
يمكن فرض قيود التأمين والسرية على بعض البيانات الهامة.
11.
تحقق المرجعية على الملفات.
12.
إمكانية تخليق بيانات جديدة من البيانات الموجودة على الملفات.
وبذلك تتلافى معظم عيوب بيئة نظم المعلومات المرتكنة على الملفات.

10-3 مكونات نظام قاعدة البيانات:

 
يتكون نظام قاعدة البيانات من أربعة مكونات أساسية هي:

1.البيانات:
تتوافر قواعد البيانات على الحاسبات الصغيرة والشخصية كما تتوافر على الحاسبات الكبيرة وتعتمد كفاءة النظام على قدرة وإمكانيات الكيان الآلي للحاسب، فالحاسبات الشخصية توفر قاعدة بيانات لمستخدم واحد بينما الحاسبات الكبيرة توفر قاعدة بيانات لعدد من المستخدمين يشاركون على البيانات المتاحة،يجب أن تتصف البيانات بالتكاملية و عدم التكرارية وإمكانية المشاركة عليها،و عموماً دون بيانات دقيقة ومنطقية وصحيحة فلا معنى لقاعدة البيانات.

2.المعدات:
ترتكن قواعد البيانات على الأقراص المغناطيسية ارتكاناً كبيراً علاوةً على وحدات من الشرائط الكثيفة كوحداتBACK UP احتياطية لتخزين البيانات للظروف الطارئة.

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

أضغط لتكبير الشكل

الشكل 10-1

4.مستخدمو قواعد البيانات:
وينقسمون إلى ثلاث فئات:
• مخططو البرامج الذين يكتب برامجهم و يستخدمون إمكانيات قاعدة البيانات.
• مختصو قواعد البيانات ، و هم المسئولون عن صيانة و تشغيل قاعدة البيانات.
• المستخدمون لقواعد البيانات الذين يتعاملون مع قاعدة البيانات عبر النهايات الطرفية. 

10-4 واجبات برنامج مدير قواعد البيانات ( DBMS ( DATA BASE MANAGEMENT SYSTEM:

  مدير قواعد البيانات هو أحد البرامج المعقدة التي تنتجها شركات الحاسبات ويتولى إنشاء و توسيع و صيانة قاعدة البيانات و يقوم بدور الوسيط بين البيانات و مستخدميها ويشرف على إدارتها، ويوزع مناطق التخزينعلى البيانات وينشأ لها الفهارس والمؤشرات اللازمة لاسترجاعها، كما يمكن تغيير الشكل البنائي لها ، كما يتيح عمليات إضافة أو حذف أو تعديل السجلات، كما يقوم بدور الوسيط بين البرامج وبين البيانات.
إلى جانب ذلك يمكنه القيام بالأعمال التالية:
1. إنشاء قاعدة بيانات جديدة وإدارة قواعد البيانات الحالية.
2. معالجة السجل المطلوب بمفرده ضمن أي ملف.
3. استرجاع السجلات سجلا ًسجلاً.
4. يقي البيانات من الدخول عليها من شخص غير ذي صلاحية.
5. حماية البيانات ضد التخريب.
6. وضع نقاط إرشادية تستخدم في حالة عطل الآلات أو عطل البرامج مما يساعد على سهولة استئناف العمل دون العودة إلى بداية الملف.
7. رصد الحركة على البيانات إحصائياً.
8. تسجيل كل تعامل على البيانات.
9. وضع البيانات الهامة التي يشتد عليها الطلب في مواقع ذات أسبقيات.
10. يحتفظ بقاموس بيانات شامل أي بيانات عن البيانات، و المستخدمين، و الصلاحيات المتاحة لكل مستخدم.

10-5 واجبات مختص قواعد البيانات  DATA BASE ADMINSTRATOR:

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

10-6 مزايا قواعد البيانات في اتخاذ القرار:

 

تغطي قواعد البيانات عدة مزايا لايحققها نظام الملفات لمتخذ القرار منها:
1.تقدم للإدارة تقاريراً مبنية على معلومات محدثة شاملة مما يساعد على اتخاذ قرارات سليمة عكس نظام الملفات المرتبط ببيانات محددة.
2.تقدم للإدارة الوسطى تقاريراً مفصلة جيدة يصعب الحصول عليها من نظام الملفات.
3. التوفير في التكلفة نتيجة عدم تكرارية البيانات.
4.
 توفر الجهد المبذول في إدخال البيانات نتيجة توحيد المدخلات لكل نظام فرعي.
5. البساطة الشديدة في استخدام لغة الاستفسار لأن مدير قاعدة البيانات يتولى مهام التعامل مع البيانات.
6. الاستجابة السريعة لاحتياجات المستخدمين.
7. الإقلال من عدد الأفراد العاملين في مركز المعلومات.
8. إدارة جيدة للبيانات حيث تحفظ البيانات في مكان مركزي موحد لكل المؤسسة أو المنظمة.
9. الاسترجاع المتعدد MULTIPLE  ACCESS باستخدام أساليب بسيطة نسبياً ومن خلال استخدام مفاتيح( حقول خاصة).
 

10-7 التركيب البنائي لقاعدة البيانات:

 

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

أضغط لتكبير الشكل

الشكل 10-2 المستويات الثلاثة لقاعدة البيانات

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

10-8 أنواع قواعد البيانات:

 

توجد أنواع كثيرة من قواعد البيانات لكن أبرزها وأظهرها على الساحة ثلاثة أنواع رئيسية هي:
1. قواعد بيانات هرمية التركيب HIERARCHICL DATA BASE  .
2. قواعد بيانات شبكية NETWORK DATA BASE .
3.قواعد بيانات علائقية RELATIONAL DATA BASE .
النوع الأخير أصبح الأكثر استخداماً و شيوعاً وتعتبر قاعدة البيانات،DBIV+DB 111 أقرب قواعد البيانات الكبيرة، و سوف نركز دراستنا على هذا النوع.

10-8-1 قواعد البيانات العلاقية:

 

تعتبر قواعد البيانات العلاقية من أهم قواعد البيانات وتتصف بأنها قاعدة بيانات يستقبلها المستخدمون على هيئة جداول وليس شيئاً آخر سوى الجداول فيما يوضحه الجدول(الملف)المعبر عن بيانات الأشخاص المسموح لهم بالاستعارة (ملف الاستعارة).

رقم الهوية الاسم الأول اسم الوالد اسم العائلة تاريخ الميلاد
2131314 محمد محمود عليوه 1940-01-04
1435466 أحمد عبدالله سويلم 1976-07-17
4536436 إبراهيم خليل سعد 1970-07-13
8768686 إيهاب سعدي صبح 1976-11-13

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

رقم الإيداع المؤلف اسم الكتاب الناشر سنة النشر
434234234 جمال الغيطاني الأدب والثقافة الأهرام 1973
434443 أنيس منصور حول العالم النهضة 1962

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

و تعتبر قواعد البيانات العلاقية هذه العلاقة ملف جديد - جدول جديد- موصفاته أي حقوله كالتالي:
رقم المستعير(الرقم القومي).
رقم إيداع الكتاب.
تاريخ الاستعارة.
(يمكن الاستغناء عن حقل تاريخ الاستعارة في هذا الملف).

و فيما يلي بعض الملاحظات:
1. الجدول في قواعد البيانات العلاقية يعادل الملف.
2. الأعمدة تناظر الحقول.
3. السطر يعادل السجل.
4. لكل جدول مسمى وحيد.
5. أن الجدول المسمى الاعارات نشأ بين العلاقة بين الفرد والكتاب.
6. أن لكل مسجل في جدول المستعيرين حقل مفتاح(الرقم القومي) كذلك في جدول الكتب فإن حقل المفتاح هو(رقم التسجيل).
7. أن رقم المستعير و رقم تسجيل الكتاب يمكن استخدامهما كحقل مفتاحي في الجدول(الملف) المسمى الإعارات.
8. أن كل البيانات في الجداول الثلاث بيانات ذرية لا يمكن تفتيتها لأدنى من ذلك.
9. كل القيم معبر عنها صراحة و ليس ضمناً.
10. لا تستخدم مؤشرات إحالة فيما بين الملفات.

خصائص  قواعد البيانات العلاقية:
1. كل ملف في قاعدة البيانات العلاقية يضم نوع واحد متكرر من السجلات.
2. ليس هناك ترتيب محدد للحقول.
3. ليس هناك ترتيب محدد للسجلات- سيان في قمة الجدول أو في أي مكان آخر منه.
4. لكل حقل قيمة واحدة فقط (لا تكرارية).
5. لكل سجل حقل مفتاح.
6. أوامر التعامل مع قاعدة البيانات لا تقتصر على الأربعة (اختار- حدث- احذف- ادخل) إنما تستخدم تعليمات أخرى مثل JOIN "صل" "اربط" وله شروط وأساس رياضي في التعامل مع هذا الأمر.
7. المنظر VIEW ليس ملفاً مخزناً على وسائط التخزين بل هو ملف وهمي يتخلق من الملفات الكائنة ولا يمكن تحديثه أو إنشاء فهارس عليه (الحقول) CREATE VIEW VIEW NAME (الحقول) AS SELECT (اسم الجدول) FORM (شروط) WHERE.
 

10-8-2 قواعد البيانات الهرمية HIERARCHICAL  D.B  :

 

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

أضغط لتكبير الشكل

الشكل 10-3 قواعد البيانات الهرمية

ونلحظ في هذا النوع من قواعد البيانات أنبعض البيانات التي يمكن إبرازها في قواعد البيانات العلاقية باستخدام حقول مدمجة تظهر في هذه القاعدة بالروابط بين الأب والابن أي المستوى الأعلى و المستوى الأدنى .
 ويختلف تحريك أو تداول معالجة البيانات في هذه القواعد عن العلاقية في أن تداولها يتطلب:
1. تسجيل جذر السجل.
2. وظيفة لتحريك البيانات من شجرة إلى أخرى.
3. معامل للحركة بين كل سجلات هذا التكون الشجري.
4. وظيفة لإضافة السجلات.
5. وظيفة لحذف السجلات.

مثال عن أسلوب توصيف البيانات :

 

1- DBD NAME = EDUCP DBD
2- SEG NAME = COURSE , BYTES = 36
3- FIELD NAME = COURSE#, QES , BYTES = 3
4-FIELD NAME = TITLE , BYTES = 33 START 4
5- SEG

 

ويبدأ في توصيف سجل جديد و هكذا.

10-8-3 قواعد البيانات الشبكية NET WORK :

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

أضغط لتكبير الشكل

الشكل 10-4 قواعد البيانات الشبكية

دور DBMS  عند طلب الاسترجاع:

سبق و عرفنا أن DBMS أنه عبارة عن مجموعة برامج أو حزمة برامج يتم إعدادها و كتابتها بواسطة الشركات المنتجة للحاسبات أو شركات كتابة الكيان البرمجي للحاسبات و تعفي مستخدمي قواعد البيانات من مهام معقدة للولوج إلى البيانات و توصيفها وتحريكها وتخليق المستويات المختلفة.
ويتولى مدير قواعد البيانات وتحت إشرافه إدارة خطوات كثيرة و معقدة فيما يوضحه الشكل (10-5).

10-9 لغة قواعد البيانات  STRUCTURED QUERY LANGUAGE  )  SQL) :

  سمى لغة الاستعلام أو لغة البحث وتستخدم غالباً في برامج مدير قواعد البيانات في إنشاء أو تدمير الملفات كما تستخدم في البحث الانتقائي لسجلات دون غيرها بدلاً من استعراض كل الملفات للوصول إلى السجلات المطلوبة، و في الحاسبات الشخصية تستخدم لغات مطورة من لغة البحث في حزم البرامج المعروفة باسم قواعد البيانات مثل DB4,DB3+ و ما شابه من حزم برامج.
ويمكن استخدام لغة الاستعلام بأسلوبين:
1.  أسلوب التعامل المباشر مع البيانات   INTERACTIVE باستخدام التعليمات التالية:
  • أنشأ جدولCREATE TABLE .
  • أنشأ مشهد CREATE VIEW .
  • أنشأ فهرس CREATE INDEX .

دمر /أسقط جدول/ مشهد/ فهرس        DROP TABLE
                                                      DROP VIEW  
                                                     DROP INDEX

2.كما تستخدم عناصر لغة الاستعلام ضمن إحدى لغات البرمجة الإجرائية:مثل الكوبول، و هذا يوضح لنا أن لغة الاستعلام ليست لغة إجرائية فهي تصف ما نريد WHAT و ليس كيف ننجز ما نريد HOW حيث يتولى مدير قاعدة البيانات الخطوات الإجرائية دونما تدخل من المستخدم فيما يسمى السياحة الآلية في النظام.

1. لغة تعريف البيانات DDL :
وتنقسم لغة الاستعلام إلى قسمين.....قسم أو لغة تعريف البيانات
  (DDL) DATA DEFINITION LANGAGE وهي التي أشرنا إلى بعض أوامرها في الفقرة السابقة.
1. إنشاء جدول:
 
    إنشاء جدول

     CREATE TABLE Student

   رقم الهوية 18 حرف

ID CHAR(18) NOT NULL      

   الاسم الأول 12 حرف

      FNAME CHAR (12)                     

   الاسم الثاني 12 حرف

      SNAME CHAR (12)                      

   اسم العائلة 12 حرف

      TNAME CHAR (12)                              

   تاريخ الميلاد من نوع يوم

        BDATE DATE                      

2. غير الجدول:                

ALTER TABLE {TABE NAME}          
ADD {COLUMN-NAME DATA-TYPE}                                           
ALTER TABLE F                                                                               
ADD PHONE CHAR 10.                

 

فيضاف حقل جديد إلى الملف (الجدول) عن رقم التليفون.

3. تستخدم باقي الاوامر على النحو السابق مثل:
دمر الجدول                                                 DROP TABLE F                                     
أنشاء فهرس فريد على حقل           
رقم الهوية و     CREATE UNIQUE INDEX XID CN ID #S              

2. لغة تداول وتحريك البيانات DML :
DATA  MANUPILATION  LANGUAGE             
وهي القسم الثاني من لغة الاستعلام و تستخدم أربعة أوامر لا غير، و رغم محدودية عددها إلا أنها تحقق كفاءة عالية في استرجاع و تحديث و تعديل البيان:
الأمر :        اختر        SELECT                                
                 حدث      UP DATE                                        
                 احذف       DELETE                                  
                 ادخل       INSERT  
مثال (1) عن استخدامات الأوامر على الجداول السابقة:

SELECT ID, FNAME, TNAME
FROM Student
WHERE               DATE''1940-01-04''

الإجابة:    2131314  محمد     عليوه

مثال (2) على التعديل:

UPDATE  {NAME TABLE}
SET ID= 3668794
WHERE ID= 668794

مثال (3) إضافة سجل جديد:

INSERT INTO{TABLE NAME}  
VALUEES(…..,…..,…..,…..)

10-10عيوب قواعد البيانات:

  إن القائمة الطويلة التي عرضناها عبر هذا الفصل عن مزايا قواعد البيانات لا ينفي بحال من الأحوال أن إنشاء قواعد البيانات له عدة عيوب ، نلخصها في النقاط التالية:
1.الحيز :
حتى تقدم قواعد البيانات كل خدماتها المميزة إلى مختلف مستخدميها فإن هذا يتطلب حيز هائل من وسائط التخزين الثانوية وذاكرة أساسية ذات حيز ضخم فيما يضيف تكلفة مادية إضافية إلى جانب جهد صيانة و تعديل وتحديث الملفات كما تتطلب معدات إضافية كثيرة .
2.مشاكل الكيان البرمجي للقاعدة:
يتصف برنامج مدير قاعدة البيانات بأنه برنامج معقد يتطلب جهداً كبيراً في استيعابه وفهمه من مسئولي نظام المعلومات حتى يستفاد بما عرضناه من مزايا .
3.التكلفة:
يعتبر برنامج مدير قاعدة البيانات مكلف في حد ذاته فإذا أضفنا تكلفته إلى باقي عناصر التكلفة (وسائط التخزين- الذاكرة- تدريب مسئولي النظام ...)لاتضح ارتفاع ثمن مكونات قاعدة البيانات.
4.توقف قاعدة البيانات:
عن العمل نتيجة مشاكل الكيان إلى أو البرمجي لها فإنها تؤثر على قطاع عريض من المستخدمين  لا يسهل درأ أضراره المادية والمعنوية.
5. برامج التأمين و الدعم و استعادة التشغيل:
برامج مكلفة مادياً وصعبة التصميم وتحتاج أفراداً على مستوى تعليمي وتدريبي  مرتفع.    



حول الموقع  الصفحة الرئيسية  المراجع