Professional Documents
Culture Documents
الوحدة األولى
مقدمة في قاعدة البيانات
.2أنظمة قواعد البيانات
1.2المفاهيم األساسية
ان كلمة قواعد بيانات ( )Data Baseأو ( )Databaseتعني جميع البيانات ذات العالقة التي
غالبا ما تخص مؤسسة أو مشروع متكامل أو شركة كبيرة ( ،)Enterpriseأما نظام إدارة
قواعد البيانات ( )Data Base Managment Systemفي اختصار )DBMSفهو مجموعة
من البرامج التي تقوم بإدارة ومعالجة هذه البيانات بطريقة سهلة وسريعة .فالهدف من نظام
إدارة قواعد البيانات هو العمل على جمع البيانات الخاصة بالمؤسسة وتصنيفها وحفظها
وإدامتها واسترجاع المعلومات الصحيحة عند الحاجة لها بطريقة مالئمة وبسرعة مناسبة .يمتاز
أسلوب نظام قواعد البيانات مقارنة باألسلوب القديم المسمى نظام الملفات الذي كان مستخدما
خالل السنوات السابقة في معالجة المعلومات بالشمولية للمعلومات وبتوحيد أساليب المعالجة
للبيانات.
يتم تصميم نظام قواعد البيانات ليقوم بإدارة البيانات ذات الحجم الكبير .تشمل هذه اإلدارة
تعريف التركيب المناسب لخزن هذه البيانات واألسلوب األنسب لمعالجتها ،باإلضافة لألساليب
الالزمة للمحافظة عليها وعلى ترتيبها وهذا يشمل الجوانب األمنية ( )Securityوالجوانب
المتعلقة بحمايتها من الضرر في حالة التعطل المفاجئ ( .)System Crashكما أنه من
الضروري المحافظة على دقة هذه المعلومات وصحتها وخاصة في حالة استخدام هذه البيانات
من قبل عدة مستخدمين.
إن أهمية توفر المعلومات عند اتخاذ القرارات المختلفة أثناء العمل عملت في على زيادة تطوير
وتعريف عدة مفاهيم وأفكار متعلقة بإدارة قواعد البيانات وإيجاد السبل المناسبة للتعامل معها.
فيما يلي نلخص ،عزيزي الدارس ،الفوائد الرئيسة االستخدام قواعد البيانات؟
-2تحسين دقة وتطابق البيانات ( :)Consistencyنتيجة لما ذكر في ( )1أعاله فإنه يصبح
باإلمكان تحسين دقة البيانات لكونها محفوظة في مكان واحد (إن كان ممكنا) ولكون الجهة
المسؤولة عنها هو شخص واحد (مدير قواعد البيانات) ( .)DBAإن المشاكل الرئيسة السابقة في
مركز المعلومات هو تعديل بيانات أحد األنظمة دون النظام اآلخر مما يسبب عدم تطابق
البيانات المتكررة في النظامين.
-5تحسين الشروط األمنية ( :)Securityنظرا لحفظ البيانات في مكان واحد والتعامل معها
من قبل شخص واحد يصبح باإلمكان تحسين شروط األمن والسالمة لهذه البيانات عن طريق
تحديد نظام صالحية الوصول إلى هذه البيانات واستخدامها مما يكفل تحديد المسؤولية وتغيرها
عند الحاجة.
-6التأكد من صحة البيانات ( :)Integrityنظرا ألن قواعد البيانات يشترك به عدة مستخدمين
فإن البيانات تصبح معرضة للتحديث من قبل بعض البرامج التي قد تحوي على معلومات غير
صحيحة .لذا فإن نظام قواعد البيانات يمكن المستخدم من تعريف عدة قواعد للتأكد من صحة
البيانات ووضعها في شكل برامج يتم استخدامها لتدقيق هذه البيانات وكشف أي أخطاء بها.
8
-7عند استخدام أسلوب الملفات القديم كان من الضروري تعديل البرامج في حالة تغيير
التركيب الداخلي الفعلي للملفات أو للبيانات الذي غالبا ما يحصل عند تغيير أجهزة التخزين.
وكذلك كان من الضروري تعديل البرامج عند تعديل التركيب المنطقي ( )Logicalلهذه الملفات
الذي غالبا ما يحصل عند زيادة أحد الحقول أو حذفها .مع استخدام نظام قواعد البيانات أصبح
باإلمكان الفصل بين هذه المستويات الثالث المذكورة سابقا .حيث يمكن تغيير التركيب الفعلي
للبيانات ( )Physicalدون الحاجة إلى تعديل التركيب المنطقي لها أو إلى تعديل البرامج
التطبيقية التي تتعامل معها .إن هذا يسمى استقالل البيانات الفعلي (Physical
.(Independenceأما النوع اآلخر الذي يمكن به تعديل التركيب المنطقي للبيانات (
)Logicalدون الحاجة إلى تعديل البرامج التطبيقية فيسمى باالستقالل المنطقي للبيانات (
.)Logical Independence
باإلضافة لما ذكر أعاله فإن النظام يقوم بتحضير توثيق جيد للمعلومات والبيانات وأسلوب ترابطها مع بعضها البعض
وكذلك سيتمكن المستخدم من الحصول على بعض التقارير أو تنفيذ بعض الطلبات ( )Queriesدون الحاجة إلى الرجوع
إلى المبرمجين .إن هذه اإلمكانات الفنية الكثيرة والمتقدمة في أنظمة قواعد البيانات الحالية ساعدت في تسريع تطبيق
األنظمة وتحديثها .إن هذه االمكانات تشمل كذلك الجوانب األمنية للبيانات وصحة هذه البيانات مع توزيع البيانات في
أماكن متفرقة دون أي إزعاج للمستخدم.
9
منذ ظهور الحاسوب أصبحت معالجة البيانات الكبيرة من أهم استخدامها ،باإلضافة إلى معالجة
الملفات بأشكالها المختلفة وتطبيقاتها في مجاالت اإلدارة والتجارة .بعد ذلك بدأ التفكير بإيجاد
برمجيات خاصة للتعامل مع البيانات ذات الحجم الكبير ذات الطبيعة المتنوعة وتوحيد أسلوب
التعامل معها .وقد كان تبسيط عمل المبرمجين من جهة وتقصير مدة تطوير األنظمة من جهة
أخرى من أهم األسباب التي من أجلها وجدت هذه البرمجيات.
إن أولى أنواع قواعد البيانات كان مشابها لطبيعة التطبيقات الفعلية ذو الشكل الشبكي (
)Networkحيث أن مكونات النظام كانت ترتبط مع بعضها البعض بشكل شبكة وأهم هذه
النظم هو CODASYLالمشهور .بعد ذلك بدأت أنواع مختلفة قليال في الظهور أهمها النظام
الهرمي ( )Hierarchicalحيث أن مكونات النظام ترتبط مع بعضها بشكل شجرة ( )Treeكما
أن هذا األسلوب قام بتبسيط طرق البحث عن المعلومات حيث أن التنقل ما بين الوحدات يتم
دائما باتجاه واحد معروف.
وفي منتصف السبعينيات ظهر أسلوب آخر لقواعد البيانات هو األسلوب العالئقي (
.)Relationalفي هذا األسلوب يتم النظر إلى البيانات على شكل جداول ( )Tablesأو
مجموعات ( )Setsويمكن تمثيل أي طلب من هذه البيانات بوساطة الجبر العالئقي (
)Relational Algebraوظهرت منذ ذلك اللغة المشهورة الخاصة بذلك .SQL
خالل السنوات األخيرة ظهرت أساليب جديدة لقواعد البيانات أهمها الكيانات ( (Entity-
Relationshipواألسلوب المبني على معنى البيانات ( )Semanticواألسلوب الذي يقوم ببناء
البيانات على شكل كينونات ( )Objectsأو أشياء.
-2ما الفرق بين أسلوب معالجة الملفات القديم وأسلوب نظام إدارة قواعد البيانات؟
يشمل هذا القسم على شرح مبسط لمكونات نظام إدارة قاعدة البيانات .وليصبح باإلمكان تقديم
هذا الشرح يجب تقديم تصور لقاعدة البيانات مع مالحظة بأنه يمكن وجود قواعد بيانات تختلف
مع هذا التصور .الشكل ( )1يوضح قاعدة البيانات ( )DBالمحفوظة فعليا في وحدات التخزين
المختلفة.
يتم الوصول إلى هذه البيانات عن طريق الجزء الخاص بإدارة الملفات في نظام التشغيل (
)Operating Systemوباستخدام نظام قواعد البيانات أصبح هناك ،عزيزي الدارس ،ثالثة
مستويات للتعامل مع هذه البيانات:
-1المستوى الداخلي ( :)Internal Levelوهو الموضح في الشكل (-1أ) وهو الذي يصف
أسلوب تخزين البيانات فعليا على وحدات التخزين الخارجية وهو المستوى األقرب إلى وحدات
التخزين .إن المعلومات المتوفرة في هذا الجزء تساعد نظام التشغيل في اختيار األسلوب
المطلوب لحفظ البيانات وأسلوب الوصول إليها .فمثال قد يختار مصمم نظام قواعد البيانات
تركيب الملفات باألسلوب التتابعي ( )Sequentialأو التركيب التتابعي المفهرس ( )ISAMأو
غيرها لتخزين البيانات.
11
يجب أن تفهم ،عزيزي الدارس ،بأن كل ما هو مقصود من هذه المستويات هو استخدام مفهوم
التجريد ( )Data Abstractionالذي يمكن من خالله تصور البيانات بأشكال مختلفة يعتمد
على المستويات التي تسبقها ،وهذا األسلوب أدى إلى التقدم السريع في تطوير البرمجيات
المختلفة مثل قواعد البيانات ونظم التشغيل وبرامج الترجمة المختلفة وغيرها ...
كذلك يجب أن نبين هنا ،عزيزي الدارس ،بأن برمجيات نظام قواعد البيانات تحتوي على
أجزاء كثيرة ( )Modulesأهمها:
وصف تركيب وبناء البيانات وتعريفها ()Data Definition Language( )DDL -
األوامر التي يمكن من خاللها معالجة قواعد البيانات )Data Manipulation -
))Language) (DML
برامج تقوم بعمل النسخ االحتياطية (.)Backups -
برامج تقوم بمراقبة دقة البيانات في حالة تعدد المستخدمين (Concurrency -
.)Control
برامج تقوم باسترجاع البيانات عن طريق تسجيل التغيرات على البيانات على ملف -
خاص ( )Log Fileلالستفادة منه في استرجاع ( )Recoveryواعادة البيانات إلى
وضعها الصحيح في حالة حدوث خلل في التركيب لسبب أو آلخر.
برامج تراقب أمن وسرية البيانات مع وضع كلمات السر للمستخدمين وتحديد مستويات -
السرية ومنحها وإلغائها (.)Security
برامج تساعد المستخدم على تحضير التقارير بشكل بسيط وسريع ()Reporter -
برامج تساعد المستخدم على تحضير شاشات اإلدخال واإلخراج (Screen -
.)Formatter
برامج تساعد المستخدم على تحضير طلباته بسرعة وأهم اللغات المستخدمة هي لغة SQL
وأسلوب معالجتها (.)Query Processor
برامج خاصة لربط البيانات مع أنظمة قواعد أخرى. -
برامج خاصة إلعادة تنظيم قواعد البيانات (.)Reorganization -
برامج خاصة لبناء قواعد البيانات للمرة األولى. -
برامج خاصة تساعد المصمم في تصميم البيانات (.)CASE Tools -
برامج خاصة تساعد المصمم في تعديل التصميم -
برامج خاصة لتوزيع قواعد البيانات على شبكات االتصال والتحكم بها ،والعمل في -
بيئات حديثة مثل ( )Client-Server Modelجميع هذه األجزاء وغيرها تمثل أجزاء
نظام إدارة قواعد البيانات.
13
يقع تصميم قواعد البيانات ضمن تصميم النظام الكامل للمؤسسة ،حيث يقوم محلل النظم بمسح
النشاطات وتنظيم المؤسسة وجمع البيانات والمعلومات الخاصة بذلك ومن ثم يقوم بتحليلها (
.)Organization Analysisإن أحد الواجبات الرئيسة المحلل النظم هو تحليل البيانات التي
جمعها ( )Data Analysisوربطها مع بعضها البعض وتفسير معناها وتوضيح بناء هذه
البيانات وأسلوب تسجيلها وتحديثها وتركيبها وتصنيفها .فمثال في حالة دراسة إحدى الشركات،
فإن اسم الموظف ،ورقم الموظف ،وعنوان الموظف ،ومكان عمله ،وتاريخ ميالده ،وراتبه،
ودرجته ،وغيرها تمثل إحدى البيانات المقصودة ،ثم يتم ربط هذه البيانات مع بعضها وطرق
تسجيلها وتحديثها.
بعد ذلك يقوم المصمم بالبدء بوضع التصميم الرئيسي لقواعد البيانات ))Logical Designإن
هذا التصميم يوضح الوحدات الرئيسة للبيانات وتحديد أسلوب فهرستها وعالقتها مع بعضها
البعض .إن هذا التصميم هو أهم واصعب خطوة في تصميم النظام ككل .بعد ذلك يتم وضع
التصميم الداخلي للبيانات ( )Physical Designبحيث يتم تحديد أسلوب التخزين لهذه البيانات
على وحدات التخزين الخارجية .وهذا التصميم ،عزيزي الدارس ،يعتمد على نظام التشغيل
المستخدم .فمثال نظام التشغيل UNIXقد يوفر بناء ملفات قد تختلف عن البناء الذي يوفره نظام
VMأو DOSوهكذا .كما يجب أن تفهم هنا بأن التصميم المنطقي يعتمد على النظام المستخدم
فمثال نظام أوراكل ( )ORACLEقد يختلف عن األسلوب المستخدم في نظام .IMS
أسئلة التقويم الذاتي ()3
تبدأ دورة حياة نظام قاعدة البيانات بمرحلة التصميم التي ينتج عنها التصميم المنطقي والداخلي
والخارجي للبيانات .وبعدها يصبح الهيكل العام لتركيب البيانات والترابط بينها قد حدد وأسلوب
معالجتها مبين .بعدها يتم تعريف هذا التصميم بلغات خاصة تعتمد على النظام المستخدم (Data
،)DDL( )Definition Languageيقوم نظام الترجمة الخاص بها إلى تحديد األخطاء وبعدها
يتم بناء هيكل عام للبيانات على وحدات التخزين الخارجية .وفي البداية يكون هذا الهيكل فارغا
من البيانات .بعدها يتم بناء قواعد البيانات عن طريق اللغة الخاصة بذلك (Data( )DML
)Manipulation Languageومن فترة ألخرى يحتاج نظام
قواعد البيانات إلى إعادة التنظيم ( )Reorganizationبحيث يتم به بناء البيانات بشكل أكثر
مالءمة وكفاءة وإعادة تركيب الفهارس الالزمة لذلك وتوزيع مساحات وحدات التخزين بشكل
أفضل .وخالل استخدام قواعد البيانات قد يحدث تغيير على التصميم المنطقي ولذلك قد يتطلب
األمر إجراء هذا التعديل مرة في السنة على األكثر .خالل السنوات الالحقة الستخدام النظام يتم
إجراء الصيانة الالزمة .وقد تكون هذه المدة 10-5سنوات من األفضل بعدها أن يتم إعادة
تصميم النظام باستخدام البرمجيات الحديثة أو األجهزة الحديثة واالستفادة من آخر تكنولوجيا في
هذا المجال.
تدريب ()1
آدرس نظام جامعة تحتوي على طلبة ومدرسين ومواد تدريسية وبين فيها مستويات تمثيل البيانات الثالثة -1
الخارجية والمنطقية والداخلية.
ماهي المدة التقديرية في رأيك إلعادة تصميم نظام قاعدة البيانات؟ -2
لماذا الحاجة إلى إعادة تصميم نظام قاعدة البيانات؟ -3
15
.6الخالصة
قدمنا لك في هذه الوحدة ،عزيزي الدارس ،شرح الفلسفة قواعد البيانات ومفهومها مع فوائد
استخدامها والمشاكل التي تعترضها .إن خالصة هذه يمكن تلخيصها بضرورة استخدام قواعد
البيانات في تصميم األنظمة لما لها من فوائد وتوفيرا للوقت باالضافة إلى الكفاءة العالية في
التحكم وسهولة التعامل مع البيانات.
.9المصطلحات
-استرجاع ( :)Recoveryأسلوب ،إعادة البيانات إلى وضعها الصحيح بعد حدوث تعطل وخراب فيها.
-استقالل البيانات ( :)Independenceتعبير يعني إمكانية تعديل نظام التشغيل أو األجهزة دون الحاجة إلى تعديل
البرامج أو البيانات.
-تعطل النظام ( :)System Crashضياع البيانات المخزونة في الذاكرة الرئيسية ألي سبب
من األسباب.
-تكرار البيانات ( :)Redundancyتكرر تخزين نفس البيانات عدة مرات في وحدات التخزين
-الطلبات أو التساؤالت ( :)Queriesتعبير يعني ما يطلبه المستخدم من النظام على شكل لغة
خاصة لهذا الغرض.
-عالئقي ( :)Relationalأسلوب تمثيل وحدات النظام المختلفة على شكل عالقات رياضية أو
جداول.
-قواعد بيانات ( :)Databaseمجموعة البيانات التي تمثل وحدة واحدة أو قاعدة كاملة
للمؤسسة.
-هرمي ( :)Hierarchicalأسلوب تمثيل وحدات النظام المختلفة على شكل شجرة أو هرم.
،10المراجع
.Wesely, 1991
الوحدة الثانية
تحليل البيانات
14
ولكل كيان قيم متعددة تسمى عنصرا كلها تشترك بالصفات ولكن تختلف بالقيم ( )Valuesلهذه
الصفات فمثال أحدها :الطالب (حمدان )95 ،320 ،وكذلك الطالب( :أحمد.)80 ،350 ،
ويمكن التصور في نظام الجامعة أن يكون المدرس) كيان وكذلك (المساق).
تدريب ()1
لقد عرفت ،عزيزي الدارس ،أن الكيان هو نموذج أو مجموعة من األعضاء تحدد معالمها
مجموعة من الخصائص .يمكن تمثيل أي نظام بمجموعة من الكيانات .فمثال كيان الطالب
وكيان المدرس وكيان المساق يشكلون ما يسمى بنظام الجامعة ،يسمي الهيكل العام الذي يربط
مختلف الكيانات بالعالقة ( )Relationshipويطلق على عدد من العالقات بمجموعة العالقات.
وتشكل مجموعة الكيانات مع مجموعة العالقات أسس بناء نماذج قواعد البيانات.
يبين الشكل ( )1كيانين هما الزبون والحساب في البنك ،وتعرف العالقة الزبون-الحساب بأنها
الرابطة بين الزبون ورقم حسابه في البنك كما يبين ذلك الشكل (.)2
ويبين الشكل أن الزبون ”محمد“ يرتبط بالحساب ( )1500 ،401وقد تحدد العالقات بمجموعة
من الخصائص كما هو الحال مع كيانات تاريخ فتح الحساب على سبيل المثال ،قد يكون أحد
خصائص العالقة بين الزبون والحساب هو تاريخ فتح الحساب.
ترتبط البيانات مع بعضها البعض بمجموعة من العالقات .ونورد ،عزيزي الدراس ،أدناه
مجموعة من العالقات:
(One
تربط هذه العالقة بين كيانين على أن يرتبط كل عنصرين (عنصر من كل كيان) من عناصر
البيانات معا بحيث يتم تحديد قيمة العنصر الثاني عندما تكون قيمة العنصر األول معلومة عند
لحظة زمنية معينة .بعبارة أخرى ،إذا كان الكيان Aمرتبطة مع الكيان Bفإن كل قيمة
(عنصر) من قيم الكيان Aترتبط بقيمة واحدة (عنصر) من قيم الكيان Bكما في الشكل (.)3
27
فمثال إذا كانت Aتمثل المساق في قسم الحاسوب فإن Bتمثل المدرس Ai .يقابله a4، b1يقابله
h4وهكذا( .المقرر يدرسه مدرس واحد وكل مدرس يدرس مقرر واحد نظريا) ويمكن الرمز
لهذا النوع من العالقات كما
يفيد هذا النوع من العالقات في تحديد ارتباط عنصر من عناصر الكيان Bمع عنصر أو أكثر
من عناصر الكيان Aفعندما يأخذ عنصر من Bقيمة معينة فإنها ترتبط بأكثر من قيمة من قيم
.Aفمثال أخذنا معلومات الموظف فالعالقة ما بين الموظف وأوالده في واحد لمتعدد الشكل (.)5
الشكل ( :)5عالقة واحد إلى متعدد
28
أما إذا كانت عدة قيم ترتبط بقيمة واحدة فتسمى العالقة عالقة متعدد إلى واحد كما في الشكل (
.)6
يسمى ارتباط عدة قيم مع عدة قيم أخرى بعالقة متعدد إلى متعدد كما في الشكل ( )7الشكل (
:)7عالقة متعدد إلى متعدد ولهذا النوع من العالقات تطبيقات متعددة في حياتنا اليومية منها
الطالب
29
والمقررات فكل طالب قد يسجل عدة مقررات ،وكل مقرر يتم التسجيل فيه من قبل عدة طالب.
ومن األمثلة األخرى ،حسابات البنوك ،حيث يمكن أن يشترك أفراد العائلة (بعدة أفراد) بعدة
حسابات في البنك نفسه (حساب بالدينار ،حساب بالدوالر ،حساب بالليرة...الخ).
تدريب ()2
في الجزء السابق تم شرح المفاهيم الخاصة بالكيانات والعالقات ما بينها ،أما في هذا الجزء
فسوف يتم شرح المفاهيم المتعلقة بتركيب الملفات منطقيا وربط سجالتها مع بعض.
تتوفر مجموعة من العالقات التي تربط السجالت مع بعضها ببعض ،ونورد أدناه مجموعة من
هذه العالقات.
التفرع عبارة عن تنظيم للبيانات تستند إليه قواعد البيانات الهرمية يمثل هذا التنظيم من
عنصرين أساسيين:
يؤدي التفرع الوظيفة نفسها التي تؤديها العالقات الكيانية الذاتية ()Entity Relationship
بصورة عامة ،ويؤدي التفرع إلى تحديد
.2العالقات في التفرع بين المستويات الوالد واألبناء من نوع العالقة واحد إلى متعدد أو واحد
إلى واحد فقط .يبين الشكل ( )8التنظيم العام للتفرع.
30
تالحظ من الشكل ( )8أن األسهم تتجه من المستوى األدنى إلى األعلى (أي من األبناء إلى
اآلباء) .وقد يتجه السهم من اآلباء إلى األبناء ولكن دائما هناك أسهم تتجه من األبن إلى األب.
ويعد جذر التفرع مربع وهمي ،فروعه عبارة عن سجالت ،والتفرعات المتعاقبة لكل فرع
(مربع ) هي أيضا سجالت قد تكون ذات أنواع مختلفة.
تدريب ()3
31
نالحظ من التركيب العام أن العالقات هي من نوع واحد إلى متعدد وأن سجل الطالب له والدان
(يرتبط بنوعين من السجالت المختلفة) .كذلك فإنك تالحظ أن سجالت اآلباء إلى األعلى
واألبناء إلى األسفل وقد يكون هذا التنظيم محبذا
الشبكة المعقدة عبارة عن مجموعة من السجالت التي ترتبط مع بعضها بعالقات على األقل أحد
هذه العالقات هي عالقة متعدد إلى متعدد فمثال تمثل العالقات بين الفاتورة (،)Invoice
والطلبية ( ،)Line-itemوالقطعة ( ،)Partوالمورد ( .)Supplierكما في الشكل (.)11
32
هي عالقتان من العالقات من نوع واحد إلى متعدد ومن نوع متعدد إلى متعدد ،يسمى هذا النوع
من التركيب بالشبكة المعقدة لوجود عالقة واحدة على األقل من نوع متعدد إلى متعدد .مالحظة
النموذج العالئقي ال يساند العالقات من نوع متعدد إلى متعدد إال أنه باإلمكان تعريف عالقة
التقاطع ( )Supplier -Partكما في الشكل (.)12
المفتاح الرئيس ( :)Primary Keyعبارة عن حقل أو عنصر من عناصر بيانات سجل
ما ويجب أن يكون العنصر الوحيد لكل سجل .فإذا كانت السجالت تمثل طلبة جامعة
فإن رقم الطالب يعد المفتاح الرئيس للتمييز بين سجالت الطلبة .وقد يكون المفتاح
الرئيس عبارة عن مجموعة من العناصر.
33
المفتاح الثانوي ( :)Secondary Keyيختلف المفتاح الثانوي عن المفتاح الرئيس في
كونه ال يشترط أن يكون وحيدا من نوعه .بعبارة أخرى ،قيم المفتاح الثانوي قد تتكرر
ألكثر من سجل .فمثال ،اسم الطالب أو تاريخ ميالده قد يكون مفتاح ثانوي حيث من
الممكن أن تتشابه أسماء بعض الطلبة ،أو قد يتساوى تاريخ ميالد بعضهم .ويفيد المفتاح
الثانوي في بعض التطبيقات ،فإذا وقع حادث سير وكان المسبب هو سائق سيارة فولفو
مثال لم يعثر عليه ،فمن الممكن اعتماد نوع السيارة السترجاع جميع أسماء وعناوين
وارقام هواتف أصحاب هذا النوع من السيارات في ذلك البلد.
تدريب()4
تحتفظ دائرة السير بمعلومات عن كافة المركبات في ذلك البلد في قاعدة بيانات ولكل مركبة
سجل يتكون من مجموعة حقول هي:
رقم السيارة ،اسم المالك ،عنوان المالك ،تلفون المالك ،نوع السيارة،
.3اذا عرفت نوع السيارة مار سيدس ولونها أحمر هل يمكن االستفادة هن العنصرين لتحديد
اسم المالك وعنوانه ورقم هاتفه؟
يمثل السجل مجموعة من العناصر أو الحقول غالبا ما يسمى أحدها المفتاح ( )Keyحيث
يسترجع سجل ما بواسطة مفتاحه الرئيس الممثل برقم معين مثل رقم الطالب ،رقم العامل ،رقم
المادة في المخزن .وتستخدم طرق عدة لعنونة السجالت وتختلف هذه الطرق في سرعة
االسترجاع وسعة الذاكرة المطلوبة لتخزين البيانات ومن أهم الطرق:
أ -الطريقة التتابعية (:)Sequential
وتتلخص خطوات هذه الطريقة بما يأتي :ترتيب الملف تصاعديا أو تنازليا حسب مفتاح معين.
يقارن المفتاح الذي تبحث عن سجله ،مع مفاتيح سجالت الملف .فإن كان المفتاح س أقل من
مفتاح السجل األول وأكبر من مفتاح السجل األخير في الملك فان المفتاح س غير موجود وإال
يقارن س مع المفتاح األول والثاني ،.... ،حتى يتم التطابق أو الوصول إلى نهاية الملف.
34
تمتاز هذه الطريقة بعدم حاجتها إلى سعة كبيرة من الذاكرة ألنه ال يتم تخزين أكثر من سجل في
كل مرة ومن مساوئ هذه الطريقة أنها بطيئة.
فإذا كان س = ص فقد حدث التطابق وتسترجع معلومات السجل .أما إذا كان س أقل من ص
تكرر هذه الخطوة للنصف األول من الملف وإال تكرر للنصف الثاني.
تدريب ()5
35
تشابه هذه الطريقة الطريقة التتابعية إال أن السجالت يتم تجميعها على شكل وحدات حقيقية
(كتل) مرتبة .وتتلخص خطوات الطريقة كما يلي:
- Iفإن كان س أقل من مفتاح آخر سجل أو يساويه فإنه سيقع في الكتلة األولى ثم تتبع الطريقة
التتابعية.
تستخدم هذه الطريقة التحويل أرقام السجالت إلى ترتيب آخر بوساطة اقتران يسمى اقتران
المزج ( .)Hash Functionوتتوافر عدة طرق نورد هنا إحداها ،وهي طريقة باقي القسمة.
تتطلب طريقة باقي القسمة عدد السجالت في الملف ولنفرض أنها نه يكتب اقتران المزج
بالصورة :ص (رقم المفتاح) = باقي القسمة (رقم المفتاح أن) 1+
مثال:
جد ترتيب السجل الذي مفتاحه الرقم 90053249وأن عدد السجالت في الملف هو 100
سجال.
الحل:
-2عدد أنواع العالقات التي تربط السجالت بعضها مع بعض ،واشرح واحدة منها
36
إن التركيب العام لقاعدة البيانات بأكملها يسمى المخططات ( )Schemaأو التخطيطي التمهيدي
( )Conceptual Viewبينما تركيبة جزء من قاعدة البيانات والتي تعالج بوساطة تطبيق معين
تسمى المخططات الفرعية ( )Subschemaأو مخططات التطبيقات الفرعية ،كذلك ،تسمى
المخططات المنطقية ( )Logical Viewولتوضيح هذه المفاهيم إليك ،عزيزي الدارس ،المثال
اآلتي:
يرغب قسم الحاسب في إحدى الجامعات إلى تنظيم دخول طلبة الدراسات العليا إلى مختبر
حاسوب أعضاء هيئة التدريس وقد أوكلت المهمة إلى أحد الموظفين المختصين وقد تم تقسيم
العمل إلى أربع وظائف وهي :إعداد الجدول الزمني ،والمخزون ،والتدقيق ،والتحليالت
اإلحصائية .يفيد الجدول الزمني لحجز وقت لكل طالب واحتياجاته المادية والبرمجية .ويبين
الجدول اآلتي الوظائف األربع.
التطبيق الخاص بالمخزون يفيد في متابعة المعدات واألجهزة الملحقة في المعدات .أما التدقيق
فيختص بمتابعة البرمجيات ومن يستخدمها وخصوصا البرمجيات خاصة الغرض .وتفيد
التحليالت اإلحصائية في معرفة من استخدم المختبر وما اسم المقرر ومن المدرس المشرف...
الخ .وأن التركيب العام لكافة البيانات في الجدول هو المخطط .والمعدات واألجهزة الملحقة بها
تحدد المخزون أو المخططات الفرعية للمخزون.
37
تطور مفهوم قواعد البيانات ،عزيزي الدارس ،من خالل استخدام المعلومات والبيانات في
وسائل االعالم والمطبوعات واألعمال التجارية وفي الحاسبات اإللكترونية .ولذا فإن أي
مجموعة من البيانات يمكن اعتبارها قاعدة بيانات .ومن الطبيعي أن تعرف قواعد البيانات على
أنها مجموعة من البيانات المخزنة على شكل كتلة واحدة وتستدعى بأشكال وتنظيمات جدولية
مختلفة وتعتمد على نوع التطبيق المستخدم
وقد يسأل سائل ما الفرق بين نظام الملفات المعمول به بشكل واسع (خاصة في التطبيقات
البسيطة) وقواعد البيانات .إن الفرق بين اإلثنين شاسع ،فاألول يحتوي على معلومات وبيانات
وفق هيئة معينة تسمى السجالت ومجموعة السجالت تسمى ملف ،وكل سجل يختلف عن الثاني
وكما يبين ذلك الشكل (.)13
إن لكل دائرة سجالتها الخاصة بها ويتم تعديل السجالت والبيانات ضمن الدائرة المعنية ،أما
قواعد البيانات فهي ضم جميع السجالت المختلفة من سجالت الزبائن إلى سجالت المبيعات في
قالب واحد كما في الشكل (.)14
38
من أجل ذلك تعد قواعد البيانات أكثر شمولية وأيسر مراجعة وتعديال من نظام الملفات باإلضافة
إلى ذلك فإن لقواعد البيانات ميزات أخرى مهمة سرعة اكتشاف األخطاء والمراقبة المركبة
وسرية المعلومات وعدم وجود حقول مكررة وغيرها تم شرحها بالتفصيل في الوحدة األولى.
من أهم الفروقات الرئيسة بين أنظمة قواعد البيانات وأنظمة الملفات هو استقالل التوصيف
المادي عن التوصيف المنطقي مما يريح المبرمج من الخوض في التفاصيل الدقيقة للتعامل مع
البيانات وتخزينها.
توفر قواعد البيانات طريقة معينة للوصول إلى البيانات بحيث ال يسمح لكل من يشاء االطالع
عليها وبذلك تحفظ سرية المعلومات .فمثال بإمكان دائرة المشتريات استدعاء المعلومات الخاصة
بالمخزن وال يسمح لها باالطالع على المعلومات الخاصة باألجور والرواتب .ومن أجل توفير
الحماية الالزمة وبالوقت نفسه السماح للدوائر االطالع على البيانات التابعة لها فإن قواعد
البيانات تنظم وفق نمط عام (مخطط) ( )Schemaيصف تركيبة قواعد البيانات ،وأنماط ذات
مستويات أدني (مخططات فرعية) ( )Subschemaأخرى تصف تركيب البيانات الجزئية
(حسب الدائرة المعينة).
يبين الشكل ( )15قاعدة بيانات تشمل عدة تطبيقات منها األجور .ولألجور مخطط فرعي يشمل
اسم العامل ،ساعات العمل ،األجرة ،األجرة المقبوضة.
39
ترتبط البيانات الجزئية مع بعضها البعض بواسطة دليل (مؤشر) بحيث يمكن الوصول إلى
بعض المعلومات دون غيرها .فمثال تحتوي قواعد البيانات في الجامعات على سجالت خاصة
للطلبة واعضاء الهيئة التدريسية والعاملين .فبإمكان المسجل العام أن يطلع على ملف الطالب
لمعرفة اسمه ورقمه وعنوانه وهناك دليل يربط الطالب المذكور بمشرفه وبإمكان المسجل أن
يعرف اسم المشرف دون تمكنه من معرفة المعلومات الخاصة بالمشرف نفسه .وبإمكان دائرة
الحسابات أن تطلع على راتب المشرف دون التمكن من االطالع على أسماء الطلبة الذين
يشرف عليهم .إذن هنا تخصص في البيانات فالنمط الجزئي للبيانات ( )Subschemaيحدد
العالقات بين األنماط المختلفة حيث أنه لكل نمط تركيب معين.
التوصيف المنطقي هو عملية عرض البيانات كما يفهمها المستفيد أو رجل األعمال المتخصص.
إن المقصود هنا هو وصف تركيب قواعد البيانات من المستوى المنطقي الذي يعرف تركيب
السجالت وعالقتها مع بعضها البعض من المستوى العام والذي غالبا ما يشتق في تعريف
الكيانات وعالقتها مع بعض.
التوصيف المادي يبين حقيقة تنظيم البيانات وتخزينها في وسائط التخزين المادية مثل األشرطة
المغناطيسية واألقراص المغناطيسية أو الضوئية أو األقراص المضغوطة .CD -ROMإن هذا
الجزء من الوصف يحدد المعلومات الالزمة الخزن قواعد البيانات وأسلوب استرجاعها
وتحديثها والمساحات الالزمة لها والمفاتيح الخاصة بكل منها.
40
.6الخالصة
لقد استعرضنا في هذه الوحدة ،عزيزي الدارس ،المفاهيم األساسية لتحليل البيانات وبناء
نماذجها حيث تم توضيح الكيانات والخصائص وأهميتها في بناء قواعد البيانات وفي
استخدامها ،وبينت الوحدة العالقات األساسية في قواعد البيانات حيث عرفت بنوعين من
العالقات هما:
-العالقات بين البيانات والتي تشتمل على عالقة واحد إلى واحد ،وعالقة واحد إلى متعدد
وعالقة متعدد إلى متعدد.
-العالقات بين السجالت والتي تشتمل على التفرع ،الشبكة البسيطة ،والشبكة المعقدة ،والمفتاح
الرئيس والثانوي وطرق عنونة السجالت .وتطرقت الوحدة إلى المخططات والمخططات
الفرعية (األنماط) والعالقات وطرق تمثيلها .وعرضت الوحدة مستويات توصيف البيانات
الثالث :المخططات الفرعية ،والتوصيف المنطقي ،والتوصيف المادي.
تعرفت ،عزيزي الدراس ،من خالل دراستك لهذه الوحدة على المفاهيم األساسية لتحليل البيانات
وبناء نماذجها .كما تعرفت على الكيانات والخصائص وأهميتها في بناء قواعد البيانات
واستخدامها .وبينت الوحدة العالقات األساسية في قواعد البيانات حيث عرفت نوعين من
العالقات هما :العالقات بين البيانات والعالقات بين السجالت.
وتعلمت أيضا في هذه الوحدة أسس المخططات والمخططات الفرعية والعالقات وطرق تمثيلها.
وبينت الوحدة مستويات توصيف البيانات باستخدام المخططات الفرعية ،والتوصيف المنطقي،
والتوصيف المادي.
وستتعرف على التنظيمات األساسية لقواعد البيانات المختلفة ومنها التنظيم الهرمي والتنظيم
الشبكي والتنظيم العالئقي .وتستعرض الوحدة التالية ،عزيزي الدارس ،أنواع أنظمة قواعد
البيانات والمقارنة بينها وتلخص الوحدة الفروقات بین النماذج الهرمية ،والنماذج الشبكية،
والنماذج العالئقية.
41
.9مسرد المصطلحات
خصائص ( :)Attributesعبارة عن خواص للكيانات تكون سجلها ،فمثال إذا كان الزبون كيان
فإن رقم الزبون ،اسمه ،عنوانه ،رقم هاتفه ،رقم حسابه هي خصائصه
الشبكة البسيطة ( :)Simple Networkعبارة عن شبكة تساند عالقة واحد إلى متعدد -
One- to Manyوال تساند عالقة متعدد إلى متعدد
الشبكة المعقدة ( :)Complex Networkعبارة عن شبكة تساند عالقة متعدد إلى متعدد
Many- to- Manyوكذلك تساند عالقة واحد إلى متعدد ((One- to- Many
-فئة الكيانات ( :)Entity Classمجموعة من العناصر ذات الخواص المتشابهة مثل الزبائن،
الطالب ،المرضى.
-الكيان ( :)Entityبيانات مخزونة تخص شخص ،أو موقع شيء :أو المفهوم ،حيث يسمى
الشيء أو الشخص ،أو منتج ما ،كيان.
-المخططات (األنماط) ( :)Schemaتمثيل للتركيب المنطقي لقاعدة بيانات وقد تمثل على شكل
مخطط أو على شكل لغة تعريف بيانات.
43
الوحدة الثالثة
تنظيم قواعد البيانات وطرقها
45
4.1القراءات المساعدة
عزيزي الدارس ،تفيدك المراجع اآلتية في أن تنتفع وتستزيد في دراسة مادة هذه الوحدة
والوحدات األخرى نظرا ألهميتها واتصالها بموضوعات الوحدة •
يمكن بناء البيانات من مجموعة من الرموز التي تمثل حقل ( )Fieldأو خاصية ()Attribute
من خصائص الكيان .كما أن مجموعة من الحقول (الخصائص) يمكن أن تمثل سجل من
البيانات ( .)Recordفمثال اسم الطالب يتكون من مجموعة من الرموز وكذلك العنوان وغيرها.
وجميع البيانات من هذه الحقول التي تخص طالبا بعينه تسمى سجل الطالب.
ومجموعة السجالت لجميع الطلبة تسمى ملفا ( )Fileيخص كيان الطالب .أما مجموعة الملفات
التي تخص مؤسسة ( )Enterpriseتسمی قاعدة البيانات .إن الملفات عبارة عن تركيب يحتوي
على مجموعة من البيانات المنتظمة على شكل حقول حيث يعرف لكل حقل اسم ،وسعة ،ونوع
البيانات ومجموعة الحقول ذات العالقة تسمى سجال .إن مجموعة السجالت توضع في الملفات
البسيطة (.)Flat Files
باإلمكان تصور الملفات البسيطة على أنها مصفوفة ذات بعدين .ومن األمثلة على الملفات
البسيطة الجدول اآلتي حيث تنظم البيانات على شكل صفوف وأعمدة كما في الجدول ()1
50
تشير أسماء البيانات في أعلى الجدول إلى خصائص ( )Attributesكل كيان ( .)Entityوكل
عمود يحتوي على قيمة بيانات معينة .وكل صف من صفوف الجدول عبارة عن سجل منتج
واحد .ومن الجدير باإلشارة ،عزيزي الدارس ،إلى وجود قيمة واحدة فقط عند تقاطع العمود مع
الصف .وهذه تعد إحدى الخصائص المهمة للملفات البسيطة .إن المفتاح الرئيسي لكل منتج
يحدد أحد السجالت والخصائص األخرى المرتبطة به .فمثال ،الرقم 1677عبارة عن المفتاح
الرئيسي الذي يحدد المنتج المسمى "خزانة مالبس وجهة التصدير "ليبيا" وسعر الوحدة 328
وحدة سعر.
إن المفتاح الرئيسي يحدد منتج واحد فقط ،بينما المفتاح الثانوي قد يحدد أكثر من حالة ،فإذا
اعتمدنا المفتاح الثانوي "وحدات جدارية" فهناك سجالن ينطبق عليهما الحال هما.
وهذه النتائج تستدعي اعتماد مفتاح رئيسي للبحث عن المعلومات واسترجاعها ،وال ضير من
استخدام المفتاح الثانوي مع المفتاح الرئيسي ،وإال تحصل على سجالت قد تكون غير مطلوبة.
51
يعتمد تنظيم الملفات على نوعية التطبيقات .لقد تم اعتماد تصميم الملفات ليالئم مواصفات
تطبيق معين ،فمثال ملفات الرواتب ( )payrollتحتوي على معلومات خاصة بنظام الرواتب في
الشركة أو المؤسسة ،وملف آخر يتضمن معلومات خاصة باألفراد ،وآخر للحسابات ،وآخر
لألستاذ العام ،وهكذا .وإذا لم يتم تنظيم البيانات بصورة جيدة فقد ينشأ عن ذلك تكرار المعلومات
والبيانات عبر عدة ملفات.
تدريب ()1
.5تستخدم الملفات البسيطة للتطبيقات التي تتوزع بياناتها إلى عدة ملفات.
-الملفات البسيطة:
52
تدريب ()2
53
يمكن ،عزيزي الدارس ،ربط مجموعة من الملفات التي تخص مؤسسة مع بعضها البعض لتمثل
قاعدة بيانات لهذه المؤسسة .وأسلوب ربط هذه الملفات يحدد تنظيم أو بنية قواعد البيانات.
تتوافر في الوقت الحاضر ثالثة أنواع من تنظيمات قواعد البيانات.
وتخزن البيانات في العقد حيث تنمو الشجرة عمودية وقد يتفرع من العقدة ( )Nodeفروع
متعددة تنتهي بعقدة وليدة ،وتسمى العقدة المولدة بالوالد والجديدة باألبناء حيث لكل ابن والد
واحد فقط.
ترتبط كيانات هذا النوع على شكل شجرة ودائما يتم البحث فيه ابتداء من الجذر ( )Rootباتجاه
تفرع الشجرة .لذا يعد هذا النوع هو األفضل من حيث البحث عن البيانات.
54
ويشبه في تركيبه التنظيم الهرمي إال أن كل عقدة أو فرع قد يكون لها أكثر من والد ،كما في
الشكل (.)2
حيث يظهر بأن العالقة بين كيانات هذا النوع هو على شكل مخطط (.)Graph
يمكن تنظيم البيانات على شكل جداول ذات بعدين .ويوفر هذا النوع من التنظيم كفاءة عالية في
المرونة ويحتاج إلى حجم تخزين قليل نسبيا في الذاكرة أو وحدات الخزين المساعدة ،ولكن
إنشاء الجداول قد يحتاج إلى جهد أكبر ،وكذلك لها مساوئ أخرى فالوقت المطلوب للوصول إلى
المعلومات واسترجاعها أو تعديلها أو حذفها يكون أطول بالمقارنة مع التنظيمين السابقين
باإلضافة إلى ذلك يضع منتجي هذا النوع من قواعد البيانات قيودا على طول الحقل مما يؤدي
إلى وضع قيود على البرامج التطبيقية ومع كل هذه المساوئ فإن التنظيم العالئقي يلقى اهتماما
واسعا من قبل الشركات المنتجة ويتوقع بعض المختصين أن يحل محل التنظيمين السابقين.
ما الفرق بين أسلوب ربط مكونات قواعد البيانات في النموذج الهرمي والنموذج الشبكي؟
55
يتم تمرير قواعد البيانات خالل مجموعة من الطبقات تؤدي كل منها وظيفة معينة قبل وصولها
إلى المستخدم .فالمستخدم يستدعي المعلومات المطلوبة وتظهر بشكل مقروء وواضح .ومن أجل
إظهار المعلومات بهذا الشكل فال بد من تأمين برامج أخرى للقيام بهذه المهمة .وتسمى هذه
البرامج بالبرامج التطبيقية ،وتعد هذه البرامج حلقة وصل بين المستخدم وبرنامج آخر يطلق
عليه إدارة قواعد البيانات ( .)Database Management Systemوإدارة قواعد البيانات
هي المسؤولة عن تحديد النمط والحماية ،بينما البرامج التطبيقية هي المسؤولة عن استقبال
األسئلة وإصدار اإلجابات بالشكل المطلوب .الشكل ( )3يبين هذه المراحل القواعد البيانات.
تعد البيانات المادة الخام التي تبني منها األنظمة الحديثة في العصر الحالي ،والذي يعد عصر
المعلومات والمعلومات هي منتجات نهائية مادتها األولية البيانات .ويعتمد اتخاذ القرار على
المعلومات المستقاة من البيانات .يبين الشكل ( )4العالقة بين البيانات والمعلومات واتخاذ
القرار.
56
وال غرو أن يولي المختصون في المؤسسات أهمية كبيرة في تركيب وتنظيم البيانات بطرق
تساعد على تخزين البيانات واسترجاعها بأشكال وأنماط مختلفة عند الحاجة .واحدى هذه
الطرق هي قواعد البيانات .وأولى خطوات تصميم قواعد البيانات اختيار النموذج المناسب.
والنموذج عبارة عن تمثيل للبيانات ،وقد يسمى النموذج بالمخطط ( .)Schemaويصف
النموذج خصائص قواعد
البيانات .ومثلما يستطيع القارئ التعرف على محتويات أي كتاب فانه يلجأ إلى الفهرسة أو قائمة
المحتويات لينال شيئا مما في الكتاب ،وبالطريقة نفسها فإن نماذج قواعد البيانات تبين األجزاء
الرئيسية (مثل الملفات السجالت ،والحقول) لقاعدة البيانات وتوضح طريقة الربط بينها.
تبني قواعد البيانات وفق نماذج مختلفة وفيما يأتي ،عزيزي الدارس ،بعض هذه النماذج
يعد النموذج الهرمي أقدم من النموذج العالئقي .وتنظم العالقات بين السجالت على شكل شجرة
مقلوبة .حيث يبين جذر الشجرة المفتاح الرئيسي نوع البيانات ،مواقعها ،وكذلك الفروع
الخارجة من الجذر .لقد تم تطوير النموذج ألنه يعكس العالقات في معظم التطبيقات في الحياة
العملية .فمثال المخطط اإلداري يتكون من شكل هرمي مستواه األول (جذره) اإلدارة العليا ثم
يبين المستوى الثاني اإلدارة الوسطى ۰۰ ،والمستوى األخير يمثل بقية المنتسبين .بعبارة أخرى
كل منتسب يرتبط بمدير واحد فقط .ولذا فالنموذج الهرمي هو من نوع العالقة واحد الى متعدد
انظر الشكل (.)5
57
من األمثلة األكثر تطبيقا للنظام الهرمي تخزين المواد اإلحتياطية للطائرات حيث يتكون
المستودع من وحدات رئيسة .وتتكون هذه الوحدات الرئيسة بدورها من وحدات فرعية،... ،
وهكذا .فبإعتماد النموذج الهرمي تنظم العالقات بين السجالت والمتغيرات على النحو اآلتي:
يمثل المستوى األول (األعلى) الوحدات الرئيسية مثل األجنحة ،الجسم ،المؤخرة ،ومقصورة
الطيران ،ويمثل المستوى الثاني الوحدات الفرعية لكل وحدة رئيسية ،والمستوى االدنى
(األخير) يمثل الوحدات التي ال يمكن تجزئتها .أرقامها ومعلومات إضافية أخرى.
يناسب هذا النموذج اإلجابة على التساؤالت المتعلقة بالوحدات وما يتوفر منها وعرض
المعلومات اإلضافية األخرى ولكنه ال يناسب التساؤالت المتعلقة بالوحدات وفي أي طائرة
مستخدمة
نشاط ()1
طائرة مستخدمة؟
58
نحتاج في هذا النوع من النماذج إلى استرجاع المعلومات في المستويات العليا قبل الوصول إلى
المستوى األخير .ويتطلب األمر في هذا النوع من النماذج تعريف العالقات بصورة كاملة .وكل
سجل يتحدد بمفتاح رئيسي واحده وال يتيح النموذج الهرمي ربط أكثر من متغيرين مع بعضهما
البعض .وتؤدي مثل هذه المعيقات بعض المشاكل حيث المسائل في الحياة العملية ال تتقيد بهذه
المحددات فقد يكون مسمار البرشام في جناح طائرة هو نفس مسمار البرشام في مقصورة
الطيران.
من المنتجات التجارية لهذا النوع من قواعد البيانات نظام إدارة المعلومات المنتج من قبل شركة
أ .ب .م ( )IMSونظام إدارة قواعد المعلومات المنتج من قبل شركة كولينيت ()IDMS
وغيرها.
يعتمد هذا النموذج في بنائه على مفهوم المجموعات الجزئية والعناصر حيث يطلق على كل
مجموعة من المعلومات بالمالك وما يرتبط بها بالعناصر .وترتبط العناصر بالمالك عبر خطوط
شبيهة بخطوط القوائم المتصلة ( )Linked Listsويمكن تمثيل المثال السابق بالنموذج الشبكي
كما في الشكل (.)6
ومن الحزم البرمجية المعتمدة في بنائها على هذا النموذج Total :وهي مصممة للحاسبات
الكبيرة والمتوسطة في عقد السبعينات .وقد انتشر استخدام نموذج قواعد البيانات العالئقية في
الوقت الحاضر أكثر من النماذج األخرى.
59
تكمن أهمية وشهرة هذا النموذج من تركيبته البسيطة حيث يتكون من جداول تحتوي على
البيانات ويسمى كل من هذه الجداول بالعالقة Relationكما هو موضح في الجدول (.)2
يتكون الجدول من أربعة أعمدة حيث كل عمود يمثل حقل معين :االسم ،الرقم ،العنوان وعدد
المقررات وبإمكاننا إضافة أعمدة أخرى للجدول أعاله مثل الكلية ،التخصص ،القسم ،تاريخ
االلتحاق بالجامعة والمستوى .ومن األفضل إضافة العالقات الجديدة في جداول كما في جدول (
.)3
60
جدول ()4
وباإلمكان اآلن معرفة كافة أسماء الطلبة القاطنين في حي المهاجرين (الجدول )2وتخصصهم
اقتصاد إسالمي (الجدول )3وتاريخ التحاقهم في الجامعة ( 1989-10-1الجدول ،)4وهذه
العملية هي عملية الربط بين أكثر من جدول .أي أنه باإلمكان إصدار شتى األسئلة
واالستفسارات باستخدام هذا األسلوب .ومن الحزم البرمجية المعتمدة في بنائها على هذا
النموذج Dbase.III+, FoxPro, Oracle, Ingres, Access, Paradoxجميعها على نفس
المبدأ تقريبا .كما أن هناك لغة قياسية للتعامل مع الحزم البرمجية تسمى لغة اإلستفسارات
القياسية ومن أشهرها Structured Query Languageأو اختصار .SQLوسنستخدم
الحزمة البرمجية Accessكحالة تطبيقية لتوضيح أساسيات قواعد البيانات العالئقية.
61
أما النموذج الشبكي فإنه يناسب التركيب الحقيقي للبيانات مما يسهل على المصمم ربط البيانات
مع بعضها بعضا ،أما النموذج العالئقي فهو يعطي األسلوب األمثل لتمثيل البيانات على شكل
عالقات لها صفات ينطبق عليها بعض العمليات الجبرية نلخص ميزات ومساوئ أنظمة قواعد
البيانات الثالث
ومما تجدر اإلشارة إليه أن اختيار نظام إدارة قاعدة بيانات يعتمد على عدة عوامل منها مسح
شامل لمنتجات برمجيات قواعد البيانات ومعرفة ميزات ومحددات المنتجات وأساليب زيادة
اإلنتاجية .ومن العوامل المهمة التي تعتمدها كثير من الشركات في تقييم برمجيات قواعد
البيانات ما يأتي:
.1نموذج البيانات المستخدم أي ما النموذج المنطقي للبيانات الذي يعتمده نظام إدارة قواعد
البيانات :أهو الهرمي أم الشبكي أم العالئقي.
62
.8المستلزمات المادية والبرمجية .هل يمكن تشغيل أنظمة قواعد البيانات على الحواسيب
الصغيرة ،المتوسطة ،أم الكبيرة.
تدريب ()3
عدد خمسة عوامل تعتمدها كثير من الشركات في تقييم برمجيات قواعد البيانات.
63
.6الخالصة
لقد عرفنا في هذه الوحدة ،عزيزي الدارس ،الملفات البسيطة والتي هي عبارة عن شكل أو
تركيب يحتوي على مجاميع من المعلومات المنتظمة على شكل حقول حيث لكل حقل اسم،
وسعة ،ونوع البيانات .وتتخذ الحقول في قواعد البيانات أشكال السجالت .إن مجموعة السجالت
تسمى الملفات البسيطة ( .)Flat Filesباإلمكان تصور الملفات البسيطة على أنها مصفوفات
ذات بعدين.
وتتطرق الوحدة إلى التنظيمات الرئيسة لقواعد البيانات ومنها التنظيم الهرمي والتنظيم الشبكي
والتنظيم العالئقي .إن معظم نظم إدارة قواعد البيانات لهذه التنظيمات المختلفة توفر لغة مخاطبة
( )Query Languageتساعد الجهة المستفيدة على إصدار األسئلة واستالم األجوبة دون
الحاجة إلى كتابة برامج معينة.
واستعرضت الوحدة كذلك أنواع أنظمة قواعد البيانات بأنواعها الثالث الرئيسة .وفي نهاية
الوحدة تم عرض المزايا والمساوئ لنماذج قواعد البيانات.
بعد أن عرفت ،عزيزي الدارس ،في هذه الوحدة الملفات البسيطة والتنظيمات الرئيسة لقواعد
البيانات ومنها التنظيم الهرمي والتنظيم الشبكي والتنظيم العالئقي .وكذلك عرفت أنواع أنظمة
قواعد البيانات بأنواعها الثالث الرئيسة والمقارنة بينها ،سنلقي الضوء في الوحدة الرابعة على
أحد المواضيع المهمة في قواعد البيانات أال وهي التصميم المنطقي لقواعد البيانات .حيث
تستعرض الوحدة االعتمادات الوظيفية :مفهومها وعالقتها بالمفاتيح ،تصنيفها ،ومفهوم العالقات
الذاتية .وتتناول الوحدة التصميم التمهيدي بشيء من التفصيل حيث توضح طرق تجميع البيانات
وتحديد اإلحتياجات وتنسيق البيانات ثم عرض التمثيل البياني للنموذج التمهيدي .وستدرس في
الوحدة التالية أيضا التصميم المنطقي وطرق توثيق التصميم المنطقي.
64
65
.9مسرد المسرطلحات
-تموج ( :)Modelالنموذج عبارة عن تمثيل لكيانات الحياة العملية والخصائص التي ترتبط
بتلك الكيانات.
66
الوحدة الرابعة
االعتمادات الوظيفية عبارة عن عالقة بين خاصيتين ،الخاصية Bترتبط بالخاصية .Aفمثال إذا
استخدمت قيمة Aفي تحديد قيمة Bعند أي لحظة زمنية ،يمكن تمثيل ذلك على النحو اآلتي:
A→B
ونقول أن قيمة Aتحدد قيمة Bأو أن Bتعتمد على Aوإليك المثال الذي يحدد عنوان الكتاب (
)Book Titleمن خالل الرقم الوطني لكتاب ( )ISBNبعبارة أخرى
ولذا نقول أن عنوان الكتاب يعتمد على الرقم الوطني والعكس ليس صحيحا .والسبب في ذلك قد
يكون هناك أكثر من كتاب بنفس العنوان مثل:
Book Title
ISBN
1-199878-13-0
3-199068-13-0
9-6040-8053-0
1-771841-13-0
فعنوان الكتاب هو «قواعد البيانات وإدارتها» وهناك أربعة كتب بنفس العنوان ولكن الرقم
الوطني لكل منها يختلف عن الثاني .تسمى الخاصية الواقعة في الجهة اليسرى بالمحدد (
،)Determinantفالمحدد في المثال السابق هو الرقم الوطني .ولتوضيح مفهوم االعتمادات
بصورة أدق ،إليك الجدول ( )1والذي يمثل عالقة لها ثالثة اعتمادات.
Fee
30
25
30
35
25
28
.Course No
CS210
CS271
CS210
CS472
CS271
CS481
.Student No
92055025
93052004
93055002
94042156
94052025
94053114
***
73
CourseNo Fee
تالحظ ،عزيزي الدارس ،أن عدد المحددات هما اثنتان بالرغم من وجود ثالثة اعتمادات
وظيفية .المحددات هي رقم الطالب ورقم المقرر .فإذا علمت رقم الطالب فباإلمكان معرفة رقم
المقرر وأجرته ،وإذا علمت رقم المقرر فتستطيع معرفة أجرته.
إن رقم الطالب يحدد بصورة وحيدة المقرر وأجرة ذلك المقرر ولذلك تسمى تلك الخاصية (رقم
الطالب أو العمود األول بالمفتاح الرئيس ))Primary Keyأو بصورة عامة المفتاح .فإذا
أعطيت الرقم 93055002فهذا يحدد الصف الثالث في الجدول ( .)1إن رقم المقرر واألجور
يعتمدان على رقم الطالب .بعبارة أخرى ،رقم المقرر واألجور يعتمدان وظيفيا على رقم
الطالب.
74
لقد عرفت ،عزيزي الدراس ،أن االعتمادات الوظيفية لعنصر مثل Aتحدد قيمة واحدة فقط من
قيم B
B→A
لكن في بعض األحيان قيمة واحدة من قيم العنصر Aتحدد مجموعة من قيم
.B → → A
Course-id. → → Starting-date
فإنك ستالحظ وجود تاريخان هما ،1996-10-18 :و 1997-03-03النعقاد تلك الدورة كما
يأتي:
إن هذا النوع من االعتمادات يسمى االعتماد متعدد القيم ))Multivalued. Dependency
2.2تصنيف االعتمادات
االعتمادات عبارة عن عالقات تربط خصائص جدول أو عدة جداول .وهناك عدة أنواع من
االعتمادات نجمل أهمها فيما يأتي:
لقد تم توضيح االعتمادات الوظيفية في البند السابق .أما االعتمادات الوظيفية الكاملة فهي التي
تخص المحددات المركبة فإذا استخدمت جميع خصائص المحدد لمعرفة هوية الكيان فهذا يمثل
اعتماد وظيفي كامل.
75
أما االعتمادات االنتقالية فتحدث عند وجود اعتمادات وسيطة .فإذا كان لديك ثالث خصائص أو
مجاميع من الخصائص A,B,Cومرتبطة على النحو اآلتي:
B→ A
C→ B
C→ B→ A
وأما االعتمادات المتعددة القيم فهي التي تتعلق بالجداول من نوع متعدد إلى متعدد مثل مدرس
في مدرسة ويسمح له في التدريس في عدة مدارس أخرى ،فهنا االعتماد متعدد.
-االعتمادات الدائمة :وهي االعتمادات التي ال تتغير فيها العالقات مع تغير الزمن .فاالعتماد
اآلتي هو من النوع الدائم Title → Book→ ISBNألن الرقم الوطني للكتاب ال يتغير خالل
مدة زمنية معينة بل يستمر مع طول عمر الكتاب .االعتمادات المؤقتة :وهي االعتمادات التي
تتغير فيها العالقات مع تغير الزمن .فاالعتماد الوظيفي الذي يربط رقم الطالب بالمقرر
CourseNo→ StudentNoاعتماد مؤقت ألن الطالب يسجل في كل فصل مقررات مختلفة
األرقام.
تعد طريقة االعتمادات الوظيفية إحدى الطرق المتميزة في تصميم قواعد البيانات والتي تؤدي
إلى تجزئة العالقات الكبيرة إلى عالقات صغيرة يسهل التعامل معها .وتكمن مساوئ طريقة
االعتمادات الوظيفية في صعوبة تعاملها مع العالقات التي يتجاوز عدد أعمدتها (خصائصها)
العشرون .ومن الطرق المتوفرة والتي تعالج مشكلة الحجوم الكبيرة للعالقات هي طريقة
العالقات الكيانية.
ولتوضيح مفهوم العالقات الكيانية أفرض أنك تود تصميم قاعدة بيانات تتضمن معلومات عن
أعضاء هيئة تدريس في إحدى الكليات العلمية والمقررات التي يدرسونها .إن الكيانين الرئيسين
هما المدرس والمقرر .وهذان الكيانان
76
يرتبطان مع بعضهما البعض بعالقة التدريس .ويمكن عرض هذه العالقة في عدة أشكال
موضحة كما في الشكل (.)1
77
بين الشكل ( )2ترع (أ) أن كل مدرس (عضو هيئة تدريس) يدرس على األكثر متر را واحدا
وال يدرس أي مقرر من أكثر من مدرسه ويبين الشكل ( )2فرع (ب) أن كل مدرس يدرس
مقرر واحد فقط وال يدرس أي مقرر من أكثر من مدرس .وأما الشكل (( )2ج) فيبين أن كل
مدرس يدرس على األكثر مقررا واحدا وأن كل مقرر يدرس من مدرس واحد فقط .ويبين
الشكل ( )2فرع (د) أن كل مدرس يدرس مقرر واحد فقط وأن كل مقرر يدرس من مدرس
واحد فقط ويمكن تمثيل المعلومات الواردة في الشكل ( )2بصورة أكثر دقة كما هو موضح في
الشكل ()3
78
وهناك كذلك ،عالقات أخرى من نوع متعدد إلى واحد ،واحد إلى متعدد
تدريب ()2
ا -كل مدرس قد يدرس عدة مقررات وكل مقرر ال يدرس بمن من مدرس
ب -كل مدرس يدرس على األكثر مقرر واحد وكل مقرر قد يدرس قبل أكثر من المدرس.
ج -كل مدرس قد يدرس عدة مقررات وكل مقرر قد يدرس من قبل أكثر من
مدرس.
وفيما يلي مجموعة من العالقات والعالقات الكيانية ،فالجدول ( )2قائمة حساب مريض في أحد
المستشفيات الخاصة
79
وفي الشكل ( )4نرسم مخطط العالقات الكيانية للمعلومات الواردة في الجدول ()2
80
تالحظ ،عزيزي الدارس ،من الشكل أعاله أن قائمة الحساب تتضمن كيانين هما المريض
والمادة وأن المفتاح الرئيس للمريض هو رقمه وللمادة هو رقمها إن العالقة التي تربط بين
المريض والمادة هي من نوع متعدد إلى متعدد ( :)M:Mواسم العالقة هي «يحاسب على».
نشاط ()11
تدريب ()4
يبين الجدول ( )3التقرير اليومي لسكن المرضى في أحد المستشفيات حيث يوضح حالة كل
غرفة وموقعها .ويشير العمود األول «الموقع «إلى رقم الغرفة ورقم السرير
يبين الشكل ( )5مخطط العالقات الكيانية للتقرير اليومي للسكن .تالحظ من الشكل وجود كيانان
هما السكن (الغرف) والمريض .العالقة التي تربط بينهما من نوع واحد إلى واحد وأنها
مشروطة باالتجاهين .حيث ال يشترط تعيين غرفة ما إلى مريض وال يشترط أن يسند كل
مريض إلى غرفة .المفتاح الرئيس للغرفة هو الموقع والمفتاح الرئيس للمريض هو رقم
المريض.
81
الشكل ( :)5مخطط العالقات الكيانية السكن المرضى في مستشفى يعد المستشفى تقرير يوميا
عن الطبيب وعدد المرضى الذين يعالجهم واألدوية التي تصرف لهم واإلجراءات المتبعة في
العالج ( .)Treatmentوالجدول ( )4يبين التقرير اليومي للطبيب.
82
نشاط ()2
تعود الخاصية «نوع العالج» إلى العالقة يعالج .فلماذا ال تعود إلى
يتطلب األمر ،في كثير من األحيان ،عرض المعلومات عن المرضى باستخدام الحاسوب (قاعدة
البيانات) ،وهذه المعلومات قد يستخدمها الطبيب ،الممرض ،أو اإلدارة .ولنفرض أن المعلومات
(التقرير اإلداري) ،تعرض كما في الشكل ()7
83
الموقع 2-342:
تدريب ()5
ارسم مخطط العالقات الكيانية للتقرير اإلداري الكيانات والخصائص التي تمثلها.
التصميم التمهيدي هو المرحلة الثانية بعد مرحلة دراسة االحتياجات والمتطلبات .فالتصميم
التمهيدي تنظيم تفصيلي لعناصر قاعدة البيانات وارتباطاتها وال يولي أي أهمية إلى التفاصيل
المطلوبة في المراحل الالحقة مثل مرحلة التصميم المادي أو التنفيذ.
تتكون برمجيات قواعد البيانات من مجموعة من الطبقات تؤدي كل منها وظيفة معينة.
فالمستخدم يستدعي المعلومات المطلوبة وتظهر بشكل مقروء وواضح .ومن أجل إظهار
المعلومات بهذا الشكل فال بد من برامج أخرى للقيام بهذه المهمة .وتسمى هذه البرامج بالبرامج
التطبيقية وتعتبر هذه حلقة وصل بين المستخدم وبرنامج آخر بطلق عليه إدارة قواعد البيانات (
.)Database Management Systemوإدارة قواعد البيانات هي المسؤولة عن تحديد
النمط والحماية ،بينما البرامج التطبيقية هي المسؤولة
تعد البيانات المادة الخام التي تبني منها األنظمة اإللكترونية في العصر الحالي ،والذي يعد
عصر المعلومات .والمعلومات هي منتجات نهائية مادتها
84
األولية البيانات .ويعتمد اتخاذ القرار على المعلومات المستقاة من البيانات .تبدأ عملية بناء نظام
المعلومات بدراسة المشكلة وتحديد معطياتها ،وأبعادها ،ونتائجها وكلما استوعبت معطيات
المشكلة والمواصفات واالحتياجات المطلوبة كان تصميم نظام المعلومات أفضل وأشمل ونسبة
األخطاء أقل وكلما
كان العكس از دادت نسبة األخطاء واصبح تصميم النظام سيئ وأداءه رديء ومن أجل تصميم
نظام برمجي يستوفي المتطلبات الضرورية اعتمدت طريقة دورة حياة النظام إلى:
وهذه المراحل مرتبطة مع بعضها البعض حيث ال يمكن االنتقال إلى مرحلة الحقة ما لم يتم
تنفيذ المرحلة السابقة وعند ظهور األخطاء أو سوء التصميم في المراحل الالحقة يجب تفحص
المراحل السابقة .ويبين الشكل ( )8تنظيم هذه العالقة.
85
ومشكلة التطابق بين هذه المراحل هي مشكلة قائمة وغالبا ال ينجو منها نظام من األنظمة ولهذا
فإن معظم األنظمة تكون تكاليفها عالية ،وتتأخر عن الموعد المحدد لها ،وقد يوقف النظام عن
العمل لعدم التوافق بين مراحل انشائه وقد ينشأ عدم التطابق منذ الوهلة األولى .فقد تصاغ
المواصفات بطريقة غير دقيقة وقد يفسرها مصممو النظم بطريقة ثانية .أي أن األخطاء قد
تتراكم .وعند االنتقال إلى المراحل التالية يتم تفسير السابقة بطريقة أخرى بحيث قد يتم بناء
نظام مختلف تماما عن النظام المطلوب.
إن مراحل الحياة السابقة أساسية لكل نظام من أنظمة المعلومات إال أن تصميم قواعد البيانات
يتطلب تنظيم البيانات أيضا وليس تصميم برامج فقط ،ويقتضي أمر تصميم قواعد البيانات أن
يكون النظام المصمم مرنا لالستفادة من قواعد البيانات إلى أبعد الحدود .ويجب أن يتميز النظام
بما يأتي:
إن تصميم قواعد بيانات متكاملة قد يستغرق أشهرا أو قد يصل إلى عدة سنوات ،وهناك خطوات
إضافية يجب اتباعها عند تصميم قاعدة بيانات منها:
وفيما يلي ،عزيزي الدارس ،شرح عن تحديد البيانات المراد تمثيلها بوساطة قاعدة البيانات .إن
الخطوة األولى في تصميم قواعد البيانات في معرفة أنشطة المؤسسة المطلوب بناء قواعد
بيانات لها ،معرفة أهداف المؤسسة ،البيانات المتوفرة ونوعيتها ،التعرف على مستخدمي
النظام ،دراسة القيود الموضوعة على أنشطة المؤسسة ،والتعرف على أي معلومات إضافية
أخرى ،وال يشترط في بناء نظام قواعد بيانات أن تبتدئ من نقطة الصفر وإنما قد يكون النظام
أصال موجودا ولكن يعتمد على البرامج التقليدية ونظام الملفات .وسنتعرف هنا على مصدرين
من مصادر تحديد البيانات.
86
تتوفر عدة مصادر للحصول على البيانات ،فإذا كان نظام قاعدة البيانات هو عبارة عن تحويل
وتطوير النظام الملفات فإن مصادر البيانات تتضمن:
مستخدمي النظام التقليدي حيث بإمكانهم تزويد مصممي النظام بكميات هائلة من
البيانات والتساؤالت ونقاط القوة والضعف.
العينات الناتجة من تنفيذ النظام التقليدي توفر للمصمم معلومات قيمة للتصميم
قد يزود المتخصصون في النظام التقليدي مصمم قاعد البيانات بما هو مطلوب تمثيله
من البيانات.
أما إذا كان التصميم من نقطة الصفر فإن توفر البيانات قد يكون محدودا ويجب تجميع
البيانات من خالل التنبؤ والتخطيط لما سيوفره النظام لمستخدميه ،وكذلك يمكن
الحصول على المعلومات من متخصصي قواعد البيانات ،ومن خالل مقابلة المنتسبين
المتوقع استخدامهم للنظام وتدوين متطلباتهم واستفساراتهم وأخذها بعين االعتبار .ومن
المصادر األخرى في توفير البيانات للقاعدة المراد بناؤها ،المجالت والكتب ودراسة
خطوات بناء قواعد بيانات مشابه.
ما الفرق الرئيس بين تصميم أنظمة برمجيات وتصميم قواعد بيانات؟
2.3تطبيع البيانات
87
إن كل مرحلة تمثل شكل من أشكال التطبيع وأشكال التطبيع ))Normal Formsعبارة عن
شكل من أشكال العالقة تقابل نوع من االعتمادات التي تحكم العالقة ،وفيما يلي وصف ألشكال
التطبيع المختلفة:
( )1نموذج التطبيع األول ( )First Normal Form( )INFعبارة عن نموذج تتحدد فيه قيمة
واحدة للعالقة التي يتقاطع نيها صفة مع عموده أي يجب إزالة الجداول المركبة (جدول داخل
جدول).
( )2نموذج التطبيع الثاني ( )Second Normal form( )2NFعبارة عن عالقة لنموذج
التطبيع األول ويرتبط فيها كل مفتاح غير رئيس ( )Nonkey Attributeوظيفيا مع المفتاح
الرئيس ( )Primary Keyأي ان كل قيمة تعتمد على المفتاح رئيس اخر.
88
( )3مزدي السبع الثالث ( Third Normal Form(( )NF3عبارة عن عالقة لنموذج التطبيع
الثاني والتي ال يرتبط فيها أي مفتاح غير رئيس ( )Nonkey attributeوظيفيا مع أي مفتاح
غير رئيس أخر.
مثال ()1
يبين الجدول ( )5عالقة غير مطبعة ( ،)Unnormalized Relationضع هذه العالقة في
التطبيع األول والثاني والثالث مبينا المفتاح الرئيسة جدول (Grade_Report :)5
التغيير اسم المقرر Math 1مثال يتطلب األمر بحث جميع التكرارات ،والجدول أعاله ليس في
التطبيع األول ألنه جدول غير ثنائي البعد .وعمليات التطبيع تكون كما يلي:
89
ومن المالحظ أن الراشد ،ول ( )6في التطبيع الثالث ( )3NFألنه ال مرتبط فيه أي مفتاح غير
رئيس وطيفيا مع أي مفتاح غير رئيس آخر .الجدول أعاله في التطبيع األول ألنه جدول ثنائي
البعد .الحظ أن Gradeتعتمد على مفتاح مركب مكون من Course Number .Number +
Student
حيث ال يمكن إضافة أي مقرر جديد إال إذا سجل له طالب واحد على األقل ألن رقم الطالب
جزء من المفتاح المركب ،لذلك يجب إزالة أي محددة غير أولية ليست اعتمادا كامال على
المفتاح الرئيس وعندها تحصل على جدول
90
الثالث (.)3NF
جدول ()10
ومن الجدير بالمالحظة أن Instructor Nameهو المفتاح األجنبي هنا حيث انه مفتاح غير
رئيس في عالقة ما ويصبح مفتاحا رئيسا في عالقة أخرى،
91
والتي تمثل قائمة بالطلبيات لمؤسسة تقوم باستيراد قطع سيارات؛ حيث تقوم هذه المؤسسة بطلب
عدد من قطع السيارات ضمن طلبية واحدة من مورد واحد وبكمية معينة لكل قطعة.
الحل:
بالنظر إلى الجدول ( )12نجد أن كل سطر من الجدول يمثل طلبية وبذلك فإنه عند تقاطع هذا
السطر مع العمود المعنون رقم القطعة نجد وجود أكثر من قطعة ( .)B101,C102وتهدف
عملية التطبيع إلى تبسيط هذه العالقة بحيث يمكن الحصول على عالقة أخرى لها مفتاح رئيس
يؤدي استخدامه إلى جعل التقاطع المذكور يحتوي قطعة واحدة .وباختيار المفتاح الرئيس مكونا
92
من رقم الطلبية +رقم القطعة فإننا نحقق هذا الهدف .وبذلك فإننا نحصل على التطبيع األول (
)First Normal Formوباستخدام هذا المبدأ تحصل على الجدول ( )13والمكافئ للجدول
األصلي ولكنه في التطبيع األول.
وبحصولنا على هذا الجدول نجد أن بعض الخصائص تعرف بجزء من المفتاح الرئيس .وهنا
نضع هدفا آخر هو أن تكون الخصائص معتمدة على المفتاح الرئيس كله وليس على جزء منه.
وهذا يؤدي إلى تقسيم هذا الجدول إلى الجداول التالية ونكون بذلك قد حصلنا على التطبيع الثاني
(الجداول .)16 ، 15 ، 14
الجدول ()14
رقم القطعة
B101
C102
الكمية الموجودة
.....
.....
الجدول ()15
رقم الطلبية +رقم القطعة
B101+1000
C102+1000
الكمية المطلوبة
.....
.....
93
الجدول ()16
رقم الطلبية
1000
تاريخ االستالم
1/05/2005
رقم المورد
200003
اسم المورد
شركة مرسيدس
وبدراسة الجدول ( )16نجد أن العالقة بين رقم الطلبية واسم المورد عالقة متعدية ،حيث أن
العالقة األساسية هي بين رقم المورد واسم المورد .وهنا نضع هدفا جديدا هو إزالة هذه العالقة
المتعدية وبذلك تحصل على جدولين من الجدول ( )16كما هو مبين في الجداول ()18 ،17
وهي عالقات في التطبيع الثالث.
الجدول ()17
رقم المورد
200003
اسم المورد
شركة مرسيدس
الجدول ()18
رقم الطلبية
1000
تاريخ االستالم
1/05/2005
رقم المورد
200003
94
جدول ( )19في التطبيع الثالث ( )3NFويمكن تحويله إلى ( )BCNFبعد إزالة المشكالت
المتبقية الناجمة عن االعتمادات الوظيفية.
جدول ()19
# Student
150
250
400
500
700
Maior
Physics
Math
Biology
Physics
Physics
Advisor
Sami
Maher
Reem
Salim
Sami
)20( جدول
Students
150
250
400
500
700
Advisor
Sami
Maher
Reem
Salim
Sami
جدول ()21
Advisor
Sami
Maher
Reem
Salim
Major
Physics
Math
Biology
Physics
95
عن عالقة لنموذج تطبيع بويس -كود والتي ال تحتوي على ارتباطات متعددة القيم
مثال ( :)4على التطبيع الرابع ( )4NFعزيزي الدارس انتبه إلى المالحظات التالية أثناء
اطالعك على الجدول (.)22
جدول ()22
وعندها تحصل على جدولين في التطبيع الرابع هما :جدول ( )23وجدول (.)24
جدول ()23
96
جدول ()24
( )6نموذج التطبيع الخامس ( Fifth Normal Form(( )5NFعبارة عن عالقة ال تحتوي
على اعتمادات ()Join Dependencies
عزيزي الدارس ،انتبه إلى المالحظتين التاليتين عند اطالعك على الجدول ( )25وهو في
التطبيع الرابع ( )4NFويوجد به عدة مشاكل.
بعض الحقائق مخزنة مرتان (« ” Ahmadو " "Ramiوتمتلك المهارة .1
يوجد حقول فارغة (« »Samirيمتلك مهارة " "Mathولكن حاليا ال يوجد لها أي .2
مشروع).
97
ولحل المشاكل أعاله فإننا يجب أن نقسم الجدول ( Persons )25إلى ثالثة جداول وعندها
تحصل على التطبيع الخامس (.)5NF
Person-id
Rami
Rami
Samir
Samir
Ahmad
******
Skill
Computing
Math
Math
Economics
Computing
Person-id
Rami
Rami
Samir
Ahmad
Ahmad
*****
Project-id
Proj1
Proj3
Proj1
Proj1
Proj2
Proj1
Proj1
Proj2
Proj3
Proj3
*****
Skill
Computing
Economics
Computing
Computing
Math
98
يهدف النموذج التمهيدي إلى تطوير تركيبة للمعلومات وعلى تلبية احتياجات المؤسسة المطلوب
بناء نظام قاعدة بيانات لها .إن النموذج التمهيدي ال يعتمد بصورة كاملة على المكونات المادية
وال على المكونات البرمجية .وخالل عمليات التصميم فإنك تحتاج إلى نوعين من المعلومات:
ولفهم المعلومات المطلوب دراستها وتنظيمها نعرض لك ،عزيزي الدارس ،مكونات النموذج
التمهيدي بيانيا كما في الشكل (.)10
إن المكونات األربع األولى للنموذج التمهيدي (الكيان ،العالقات ،الخصائص ،والفئات الجزئية)
تتعلق بصورة رئيسة بتركيب البيانات .بينما تتعلق القيود بقيمة البيانات .ويوجد ثالثة أنواع
رئيسة من القيود هي:
قيود المجال ( :)Domain Contraintsتصف هذه القيود نوع البيانات ،طولها،
وترتيبها أو نمط البيانات ( ،)Formatوالقيم المسموح فيها لكل عنصر من عناصر
البيانات.
قیود دقة البيانات ( :)Referential Integrity Constraintsتدقق هذه القيود على
صحة البيانات بين صفوف من جدول مع صفوف من جدول آخر أو من عدة جداول.
قيود تجارية أخرى ( :)Other Business Constraintsتدقق هذه القيود على صحة
البيانات لقيمة عنصر واحد في جدول إذا علمت قيم عنصر أو أكثر في الجدول نفسه أو
جداول أخرى
لقد عرفنا أن التصميم التمهيدي يهدف إلى بناء وتطوير نموذج تمهيدي للبيانات بناء معلومات).
وعلى هذا األساس يمكن تصميم نموذج تمهيدي وذلك بجمع العالقات في مخطط بياني واحد.
فمثال جمع العالقات الكيانية األربع المذكورة سابقا وهي قائمة الحساب ،السكن ،التقرير
اإلداري ،وتقرير عن الطبيب ،ينتج النموذج التمهيدي المبين
100
ويتضمن النموذج التمهيدي الناتج أربع كينونات هي السكن ،المرضى ،األطباء ،والمواد .وكلما
تطلب األمر إصدار تقارير جديدة تحتاج إلى اضافة كينونات أخرى .يحتوي النموذج التمهيدي
الموضح في الشكل السابق على عالقتين من نوع متعدد إلى متعدد هما العالقة «يعالج» (ربط
الطبيب بالمريض والعالقة «يحاسب على» (ربط المريض بالمادة) .ويتكون النموذج من عالقة
أخرى مشروطة نوع واحد إلى واحد تربط المريض بالسكن (الغرف).
التصميم المنطقي هو تحويل التصميم التمهيدي إلى إحدى نماذج التصميم المعتمدة :الهرمي،
الشبكي ،أو العالئقي .ويهتم التصميم المنطقي للنماذج في تفسير البيانات من وجهة نظر المستفيد
تفيد نماذج التصميم المنطقي في التوثيق وفي تجميع البيانات ،وفي تصميم أنظمة المعلومات،
وفي تصميم وتنفيذ قواعد البيانات المادية .إن التصميم المنطقي الجيد للنموذج يجعل منه وحدة
متكاملة مستقلة عن أنظمة إدارة قواعد البيانات حيث يمكن نقل هذه الوحدة
من نظام إدارة قواعد بيانات إلى نظام آخر دون الحاجة إلى تعديله ومن الشروط الواجب اتباعها
أن يحتوي نموذج البيانات المصمم على تفاصيل أساسية ألداء المهمات المناطة به ،ويجب أن ال
تكون التفاصيل دقيقة جدا بحيث يصيح استخدام النموذج معقدا.
وهناك تقنيات كثيرة يمكن استخدامها في التصميم المنطقي للنماذج .وسنستخدم هذا النموذج
الذي تم تطويره من قبل كود ( )Coddوتبسيطه من قبل دیت ( .)Dateويسمى هذا النموذج
بالعالئقي الموسع )The Extended Relational) Modelومن أجل فهم هذا النموذج ال بد
من توضيح بعض المفاهيم األساسية والتي تم التطرق إليها في الوحدات السابقة ولكن
سنوضحها هنا بأسلوب آخر .ومن هذه المفاهيم الكيان ( Entityالتي يمكن النظر لها ككينونة (
)Objectوقد تكون ملموسة مثل الطالب ،المدرس ،أو بناية وقد تكون غير ملموسة مثل مقرر،
عالمة ،أو حالة معينة ،وقاعدة البيانات تحتوي على الكينونات .وكل كينونة يجب أن تكون
مميزة عن مثيالتها من الكينونات .فالطالب ،مثال ،كينونة يميزها رقم الطالب ،والمدرس كينونة
يميزه
101
رقم العامل.
إذا كان ينتمي إلى نادي واحد .أما اذا كان ينتمي إلى أكثر من نادي فيمكن وصفه على النحو
اآلتي:
وتبني قواعد البيانات منطقيا وفق خطوات وتصميمات مختلفة ومن هذه
التصميمات ما يأتي:
تكمن أهمية وشهرة هذا النموذج من إمكانية تطبيق بعض القوانين الرياضية عليه ومن تركيبته
البسيطة حيث يتكون من جداول تحتوي على البيانات ويسمى كل من هذه الجداول كما في
الرياضيات (مجموعة يطبق عليها عالقة معينة) بالعالقة ( )Relationكما هو موضح في
الجدول (.)29
102
.1تحويل الكيانات األربع في مخطط العالقات الكيانية إلى عالقات (جداول) هي السكن،
الطبيب ،المادة ،والمريض علما أن المفاتيح الرئيسية ستكون نفس مفاتيح الكيانات في كل عالقة
من العالقات األربع.
.2تحويل عالقة "يعالج متعدد إلى متعدد (بين الطبيب والمريض) إلى عالقة معالجة (
)Treatmentوبمفتاح مركب من رقم المريض ،واسم الطبيب والخاصية عالج ترتبط وظيفية
بهذا المفتاح المركب.
.3وبالطريقة نفسها ،يتم تحويل عالقة (يحاسب على) متعدد إلى متعدد إلى عالقة تكلفة.
.4أما العالقات نوع واحد إلى واحد فيمكن بسهولة تحويلها إلى جداول عالئقية أو اعتبارها
حالة خاصة من نوع واحد إلى متعدد .فالعالقة "تخصص" إلى يمكن تمثيلها وذلك بإضافة مفتاح
خارجي ( )Foreign keyهو "الموقع" عالقة المريض والذي يمثل المفتاح الرئيس في عالقة
السكن.
يعد النموذج الهرمي اقدم من النموذج العالئقي .وتنظم العالقات بين السجالت البيانات على
شكل شجرة حيث يبين جذر الشجرة المفتاح الرئيس ،نوع البيانات ،مواقعها ،وكذلك الفروع
الخارجة من الجذر .لقد تم تطوير النموذج الهرمي ألنه يعكس العالقات في معظم التطبيقات في
الحياة العملية .فمثال المخطط اإلداري يتكون من شكل هرمي مستواه األول (جذره) اإلدارة
العاليا ثم يبين المستوى الثاني اإلدارة الوسطى ،والمستوى األخير يمثل بقية المنتسبين .بعبارة
أخرى كل منتسب يرتبط بمدير واحد
103
فقط .ولذا فالنموذج الهرمي هو من نوع العالقة واحد إلى متعدد .من األمثلة األكثر تطبيقا للنظام
الهرمي مخزون المواد االحتياطية للطائرات حيث يتكون من وحدات رئيسة .وتتكون هذه
الوحدات الرئيسة بدورها من وحدات فرعية ،....وهكذا .فباعتماد النموذج الهرمي تنظم
العالقات بين السجالت والمتغيرات على النحو اآلتي :يمثل المستوى األول (األعلى) الوحدات
الرئيسة مثل األجنحة ،الجسم ،المؤخرة ،ومقصورة الطيران ،ويمثل المستوى الثاني الوحدات
الفرعية لكل وحدة رئيسة والمستوى االدنى (األخير) يمثل الوحدات التي ال يمكن تجزئتها،
وأرقامها ومعلومات إضافية أخرى.
يناسب هذا النموذج اإلجابة على التساؤالت المتعلقة بالوحدات الرئيسة والفرعية وما يتوفر منها
وعرض المعلومات اإلضافية األخرى ولكنه ال يناسب التساؤالت المتعلقة بتلك الوحدات وفي
أي طائرة مستخدمة.
نحتاج في هذا النوع من النماذج إلى استرجاع المعلومات في المستويات العليا قبل الوصول إلى
المستوى األخير .ويتطلب األمر في هذا النوع من النماذج تعريف العالقات بصورة كاملة .وكل
سجل يتحدد بمفتاح رئيس واحد .وال يتيح النموذج الهرمي ربط أكثر من متغيرين مع بعضهما
البعض .ويؤدي ذلك إلى بعض المشكالت حيث أن بعض المسائل في الحياة العملية ال تتقيد بهذه
المحددت فقد يكون مسمار البرشام في جناح طائرة هو نفس مسمار البرشام في مقصورة
الطيران.
من األمثلة التجارية لهذا النوع من قواعد البيانات نظام إدارة المعلومات المنتج من قبل شركة
أوب.م ( )IMSونظام إدارة قواعد المعلومات المنتج من قبل شركة كولينيت ()IDMS
يعتمد هذا النموذج في بنائه على مفهوم المجموعات الجزئية والعناصر حيث يطلق على كل
مجموعة من المعلومات بالمالك وما يرتبط بها بالعناصر .وترتبط العناصر بالمالك عبر خطوط
شبيهة بخطوط القوائم المتصلة ( )Linked Listsويمكن تمثيل المثال السابق بالنموذج الشبكي
كما في الشكل (.)12
ومن األمثلة التجارية لهذا النوع :تلك النماذج المصممة للحاسبات الكبيرة والمتوسطة في عقد
السبعينيات .وقد طغت قواعد البيانات العالئقية على األنواع المستخدمة في الوقت الحاضر.
104
يحتل التوثيق مكانة كبيرة في تصميم أنظمة الحاسوب بصورة عامة وقواعد البيانات بصورة
خاصة .فالتوثيق تدوين التركيبة قواعد البيانات واألعمال المنجزة أو المتوقع إنجازها ويعكس
ترابط مكونات النظام .ويعد التوثيق واسطة تفاهم بين مصممي نظام قواعد البيانات وإدارة
المؤسسة وبين النظام المصمم نفسه والمتخصصين .ومن الشروط الواجب توفرها احتواء
التوثيق على كافة المعلومات الضرورية التتبع فعاليات التصميم المنطقي .ومن المالحظات التي
يجب أن يتضمنها التوثيق ،عزيزي الدارس ،ما يلي:
جميع الفعاليات والوظائف التي يتوقع أن يؤديها النظام عند التنفيذ .Functions
كتابة وتحديد جميع القيود الموضوعة على النظام Constraints
تدوين األجهزة والمعدات والخبرات المطلوبة عند وضع النظام قيد التطبيق.
تدوين جميع التفاصيل الدقيقة والضرورية عن تطور دورة حياة النظام ومستقبله.
التوثيق وسيلة فعالة في تنفيذ عمليات الصيانة ويعد التوثيق حجر األساس للنظام.
تدوين استجابات النظام المقترح للحاالت المحتملة وغير المتوقعة.
ومن المستلزمات الضرورية واألسس العملية للتوثيق أن يكون محكم التنظيم واضح
105
المداخل والمخارج محدد الفصول والمحتويات والفهرسة .ويتضمن مسرد للمصطلحات باللغتين
العربية واإلنجليزية .وإحدى التنظيمات المقترحة هي احتواء التوثيق على المعلومات والبيانات
اآلتية:
.1مقدمة التوثيق ،ويجب أن تتضمن المقدمة على وصف كامل لألسباب الداعية إلى بناء
النظام ،وكذلك وصف كامل لوظائف النظام المقترح وربط كل وظيفة مع السبب الداعي لتطوير
النظام .ومن المستلزمات األخرى التي يجب أن يتضمنها التوثيق أهمية النظام بالنسبة إلى
المؤسسة بصورة عامة من النواحي قصيرة المدى وبعيدة المدى
.2نوع النموذج المستخدم في التصميم المنطقي لقاعدة البيانات :يجب أن يحتوي التوثيق على
نوع النموذج المستخدم في التصميم (نموذج عالئقي ،نموذج هرمي ،أو نموذج شبكي) .ويجب
أن توضح العالقات التي تربط بيانات المؤسسة مع بعضها البعض.
.3طريقة التعامل مع النظام ،ويجب أن يتضمن التوثيق المطلوب على الخدمات التي يوفرها
النظام ،وأسلوب التساؤالت التي يتم إصدارها ولغات التساؤل المعتمدة واللغات عالية المستوى
التي يمكن استخدامها مع قاعدة البيانات .وتدوين إمكانية كتابة برامج فرعية متخصصة وبلغات
عالية المستوى مثل لغة C++وغيرها.
.4المعوقات :تدوين كافة المعوقات والقيود التي يجب أخذها بعين االعتبار عند إنشاء قواعد
البيانات مثل عدد الصفوف المسموح فيها ،عدد األعمدة ،وعدد العالقات.
.5المصطلحات الفنية :تعريف كافة المصطلحات الواردة في التوثيق وعدم افتراض قدرة
القارئ على فهم المصطلحات الفنية.
ويتوجب على مصممي قواعد البيانات عدم االستهانة بأهمية التوثيق ودوره في إذكاء النظام
وتحسين أدائه .فالتوثيق هو القناة التي من خاللها يتم استيعاب حركة النظام الديناميكية ورصد
مساوئه و محاسنه ,وتكمن أهمية التوثيق ،كذلك ،في تدبير أمر الصيانة حيث أن صيانة أنظمة
قواعد البيانات ضرورية ألسباب عدة منها التقدم المستمر في حركة المجتمع والتطورات
المستمرة في صناعة أجهزة الحاسوب المتطورة ومنها تغيير في العالقات والقوانين التي تحكم
إدارة المؤسسة ومنتسبيها.
106
.6الخالصة
عزيزي الدارس ،تعالج الوحدة الرابعة أحد المواضيع المهمة في قواعد البيانات أال وهي
التصميم المنطقي لقواعد البيانات حيث تستعرض الوحدة االعتمادات الوظيفية :مفهومها
وعالقتها بالمفاتيح ،تصنيفها ،ومفهوم العالقات الكيانية .وتتناول الوحدة التصميم التمهيدي
بشيء من التفصيل حيث توضح طرق تجميع البيانات وتحديد االحتياجات وتطبيع البيانات ثم
عرض التمثيل البياني النموذج التمهيدي .وبينت هذه الوحدة التصميم المنطقي وطرق توثيق
التصميم المنطقي
لقد تعلمت في هذه الوحدة ،عزيزي الدراس ،مفهوم التصميم المنطقي ورسم صورة واضحة
لتركيبة قاعدة البيانات الستخدامها في حل المشكالت التي تواجه المؤسسات اإلدارية والصناعية
في تصميم ،وإدارة ،وصيانة أنظمة المعلومات .واستعرضت الوحدة االعتمادات الوظيفية من
حيث بنيتها التركيبية واللفظية وأهميتها في تسهيل مهمات التطبيع المختلفة .وأوضحت الوحدة،
كذلك ،مفاهيم التصميم التمهيدي األساسية وعالقتها في تجميع البيانات ودراسة المتطلبات أو
احتياجات الجهات المستفيدة وتحديدها وتنسيقها وتناولت الوحدة التمثيل البياني للنموذج التمهيدي
والتصميم المنطقي للنماذج العالئقية والهرمية والشبكية للبيانات وأساليب التوثيق المعتمدة خالل
مراحل التصميم
تستعرض الوحدة الخامسة من هذا المقرر مكونات النظام العالئقي ومستوياته ليساعدك على
تطوير نظام قواعد بيانات للمؤسسة التي تعمل فيها .وتوضح الوحدة مفهومي نموذج البيانات
العالئقي والتطبيع العالئقي ،وتستعرض الوحدة التالية ،كذلك ،مفهوم التعامل مع البيانات
والطرق المستخدمة السترجاع البيانات من قاعدتها ،أو حذفها ،أو تعديلها ،أو إضافة سجالت
جديدة إلى قاعدة البيانات والوسائل المتاحة للتعامل مع البيانات وهي :لغات البرمجة (
)Programming Languagesولغات التساؤل ( )Query Languagesولغات األوامر
)Command- Oriented Query Languagesوإعداد التقارير ()Reports generator
وتوضح الوحدة الجبر العالئقي والحسابات العالئقية وطرق استخدامها في اصدار التساؤالت.
وستتناول الوحدة أسس ومعايير التصميم الجيد وعرض أمثلة مختارة من أنظمة قواعد البيانات
العالئقية.
107
.9مسرد المصطلحات
-الربط ( :)Joinأمر من اوامر الجبر العالئقي الذي يفيد في دمج جدولين لهما مجال (
)Domainمشترك في جدول واحد.
-المفتاح المركب ( :)Composite keyهو المفتاح الناجم عن جمع خاصيتين أو أكثر من
خصائص العالقة (أعمدة الجدول).
-نموذج التطبيع األول ( )First Normal Form( )NF1عبارة عن نموذج تتحدد فيه قيمة
واحدة للعالقة التي يتقاطع فيها صف مع عموده
-نموذج التطبيع الثاني ( )Second Normal Form( )NF2عبارة عن عالقة لنموذج التطبيع
األول ويرتبط فيها كل مفتاح غير رئيس ( )Nonkey Attributeوظيفيا مع المفتاح الرئيس (
)Primary key
111
نموذج التطبيع الرابع ( )Forth Normal Form( )NF4عبارة عن عالقة لنموذج -
تطبيع بويس -كود والتي ال تحتوي على ارتباطات متعددة القيم
-نموذج التطبيع الخامس ( )Fifth Normal Form( )NF5عبارة عن عالقة ال تحتوي على
ارتباطات (.)Join Dependencies
-نموذج تطبيع بويس -کود ( )Boyce- Codd Normal Formعبارة عن نموذج لوصف
التطبيع العالئقي الذي يرشح
المراجع.10
.Edition, 1992
112
الوحدة الخامسة
العالئقية وتركيبها
113
يعد المستوى الخارجي هو األقرب إلى مفهوم المستخدم ,ويتعلق تركيب هذا المستوى بالمفهوم
الذي يجب أن يراه مستخدمي النظام .وعلى هذا األساس فإن كل مستقيد أو مستخدم يتصور
المستوى الخارجي من الزاوية المناسبة للتطبيق.
ويتعلق المستوى التمهيدي أو المنطقي بتمثيل كافة المعلومات في قاعدة البيانات .وكل مستوى
خارجي يعكس جزء أو أكثر من المستوى التمهيدي .ومن هذا المنطلق يمكن اعتبار المستوى
التمهيدي عبارة عن اتحاد المجموعة من األجزاء التي يحتاجها المستوى الخارجي .ومما تجدر
اإلشارة إليه وجود عدة مستويات خارجية ولكن يوجد مستوى تمهيدي واحد .ويطلق في بعض
األحيان على المستوى التمهيدي بالمستوى المنطقي (.)Logical Level
أما المستوى الداخلي ( )Internal Levelوالذي يسمى أيضا بالمستوى المادي (Physical
)Levelفهو األقرب إلى مواقع التخزين وحيث يتم تخزين محتويات المستوى التمهيدي على
شكل ملفات في أقراص مغناطيسية .وكما هو الحال بالنسبة إلى المستوى التمهيدي فهناك
مستوى داخلي واحد لقاعدة البيانات.
119
لقد ظهرت خالل العقدين الماضيين مجموعة من نماذج البيانات ،ومن أهم هذه النماذج
المستخدمة في يومنا الحاضر ،عزيزي الدارس ،هو نموذج البيانات العالئقي (The
)Relational Modelوالذي يتميز بسهولة تصميمه واستخدامه واستقاللية بياناته وقوة بنائه.
ويتكون النموذج العالئقي من عالقات وخصائص ومفاتيح وصفوف .وتعرف العالقة بأنها
جدول من الصفوف واألعمدة حيث يمثل العمود خاصية ( .)Attributeوأما المفتاح الرئيس
فهو قيم عمود أو أكثر يحدد بصورة وحيدة حالة الكيان .وأما الصف أو ما يسمى Tupleنهو
عبارة عن مجموعة من عناصر البيانات المرتبة مثل العالقة المزدوجة ( R (X,Yأو العالقة
الثالثية ( R )X,Y,Zكل صف عبارة عن حالة لكيان معين .إن الرمز Rعبارة عن اسم العالقة
بينما الرموز داخل القوسين فهي خصائص العالقة كما في المثال اآلتي:
ويبين جدول ( )1نموذج بيانات عالئقي يمثل حالة ( )Instanceالجدول ،يتكون من ستة طالب
وأربعة أعمدة (خصائص) هي اإلسم ،الرقم ،التخصص الرئيس والمعدل .يعرف كيان طالب
العالقة المطلوبة.
120
الطبيعي (تطبيع قد تؤدي إلى ظهور مشاكل في صيانة (تعديل ،إضافة ،حذف) قواعد
المعلومات .وهناك عدة أشكال من التطبيع تبدأ من الشكل األول وتنتهي بالشكل بيانات عالئقي
يعد شكل التطبيع األول ( .)First Normal Formفإذا كانت البيانات في شكلها األولي فالتطبيع
هو عملية تجزئة العالقة األصلية عدة عالقات وبعدد إلى أقل األعمدة (الخصائص) .فالتطبيع
يساعد على تقليل من األخطاء الناجمة من الصيانة وفي الوقت نفسه يقلل من سرعة استرجاع
المعلومات.
تدريب ()1
ترتبط عناصر البيانات بعالقات معينة بحيث يمكن تمثيل هذه العالقة كما يأتي:
حيث Rهي العالقة بينما Dو Cو Bو Aوهي عبارة عن عناصر البيانات .ومن هذه العالقة
يمكن اشتقاق العالقة الثنائية األتية:
) R (A, Bوتسمى هذه العالقة والعنصران بالثنائي ويمكن بسهولة معالجة هذا النوع من
العالقات برمجيا ،فمثال من االستنتاج السابق يمكن كتابة العالقة:
121
يشير منقوم معالجة البيانات إلى الطرق المستخدمة السترجاع البيانات من قاعدتها ،أو حذفها،
أو تعديلها ،أو إضافة سجالت جديدة إليها وهناك ،عزيزي الدارس ،وسيلتين رئيستين المعالجة
البيانات وهما:
( )1لغات البرمجة ( :)Programming Languagesوهي لغات عالية المستوى مثل لغة
كوبول ،فور تران ،أو غيرها .وتستخدم أوامر هذه اللغات في تحديث سجالت قواعد البيانات
وتنفيذ العمليات التي تتطلب حسابات معقدة كالحسابات اإلحصائية والرياضية واللغة في هذه
الحالة تسمى اللغة المضيفة (.)Host
( )2لغات التساؤل ( :)Query Languagesوهي لغات بسيطة تفيد في البحث في قواعد
البيانات واسترجاع المعلومات المطلوبة .وتنقسم لغات التساؤل إلى نوعين:
اعرض أسماء طلبة جامعة معينة بحيث تعرض أسماء الطلبة الذكور فقط؟
اعرض أسماء وعناوين الطلبة الذين تنحصر مواليدهم بين 15تشرين أول 1975و5
كانون أول 1976؟
«"JAN-76-5
اعرض االسم ،القسم األكاديمي ،والمرتب لمنتسبي كلية معينة تنازليا حسب المرتب؟
STORE FACULTY
122
تدريب ()2
اكتب الصيغة العامة لألوامر المطلوبة لعرض االسم والمرتب لمنتسبي كلية من اإلناث اللواتي
تنحصر مرتباتهن بين 4000دينار و 7000دينارا تصاعديا احسب المرتب؟
اكتب الصيغة العامة لألوامر التي تؤدي إلى زيادة مرتبات منتسبي قسم الحاسب اإللكتروني أو
الحاسوب في جامعة القدس المفتوحة بمقدار 60%
توفر لغات العرض الجاهز إمكانية عرض نموذج للجداول على شاشة العرض ويقوم المستفيد
بكتابة األوامر المطلوبة في الفراغات المخصصة في النموذج .ومن هذه اللغات لغات التساؤل
باألمثلة ( )Query By Example( )QBEحيث توفر هذه اللغة إمكانية عرض الجداول جاهزة
على الشاشة ويستطيع المستفيد استخدام مجموعة من األوامر السترجاع المعلومات مثل (
،)Printتحديث بيانات الجداول ( ،)Updateحذف بيانات معينة ( ،)Deleteأو إضافة
معلومات جديدة ( ،)Insertولبيان طريقة استخدام هذا النوع من اللغات سنستخدم األمثلة نفسها
المستخدمة في لغات األوامر .اعرض كافة المعلومات الخاصة بطلبة جامعة معينة بحيث
تعرض أسماء الطلبة الذكور فقط
وبإمكان المستفيد كتابة األوامر المطلوبة في المربعات وكتابة الشروط بالصورة االتية:
Birthdate Gender
األمر P.هو أمر الطباعة أو العرض حيث كل مربع يحتوي على هذا األمر استعرض
المعلومات المتعلقة به على شاشة العرض .بعبارة أخرى ستعرض المعلومات الخاصة برقم
الطالب ( )Std-idاسم الطالب ( )Student-Nameالعنوان ( )Addressتاريخ الميالد (
)Birthdateوتظهر المعلومات عندما يكون الطالب ذكرا حيث يختبر الشرط = MALE
Genderلكل سجل من سجالت قاعدة البيانات.
123
أعرض أسماء وعناوين الطلبة الذين ينحصر تاريخ ميالدهم بين 15تشرين أول 1975و5
كانون أول 1976
يستخدم هذا المثال أمر اللغة DATEومربع الشروط للربط بين مربع تاريخ الميالد ومربع
الشروط ليعرض على الشاشة أسماء الطلبة الذين تنحصر اعمارهم كما هو مبين أعاله ويعرض
كذلك عناوينهم
تدريب ()3
.1أكتب الصيغة العامة لألوامر المطلوبة لعرض اإلسم والمرتب لمنتسبي كلية اإلناث اللواتي
تنحصر مرتباتهن بين 4000دينار و 7000دينار تصاعديا حسب المرتب؟
.2اكتب الصيغة العامة لألوامر التي تؤدي إلى زيادة مرتبات منتسبي قسم
لقد تعلمت ،عزيزي الدارس ،خالل المراحل الدراسية األساسية العمليات الحسابية والجبرية مثل
عمليات الجمع والطرح والضرب والقسمة وبنظرة بسيطة يمكن اعتبار الجدول على أنه
مجموعة .كما ويمكن اعتبار اإلجراءات التي تم ذكرها سابقا في لغات التساؤل على أنها
عمليات على هذه المجموعة وهي مشتقة من الجبر العالئقي .والجبر العالئقي يستند على نفس
األسس التي يستند إليها الجبر الحسابي .فالجبر العالئقي يفيد في تنفيذ عمليات جبرية خاصة
بالجداول والعالقات والنتائج التي تحصل عليها من تنفيذ عمليات الجبر العالئقي هي عبارة عن
جداول أو عالقات جديدة .فاإلشارة « »+في الجبر الحسابي تعني جمع مقدارين حسابيين مثل
13+11بينما تعني هذه تلك اإلشارة في الجبر العالئقي «اتحاد» جدولين (عالقتين أو أكثر
للحصول على جدول عالقة) جديد .وفيما يلي ،عزيزي الدارس ،مجموعة من العالقات
المستخدمة في التعامل مع الجداول العالئقية.
124
الجدول ()2
125
اذا علمت أن س = مجموعة الصفوف من الجدول ( )2والتي تكون الرتبة العلمية فيها أستاذ
مشارك أو أستاذ.
وأن ص = مجموعة الصفوف من الجدول ( )3والتي يكون رمز القسم CSأو MA
إن س يشمل سبعة صفوف (عناصر) واألسماء هي :ليلى سلمان ،أحمد صالح ،داود عطية،
كرم جابر ،راجي نعمة ،باسم عبد الكريم ،جعفر طالب .وأن ص تشمل خمسة عناصر هي:
أحمد صالح ،داود عطية ،تموز حسن ،مریم جعفر ،جعفر طالب.
لذا فإن س اتحاد ص سيشمل تسعة عناصر هي :ليلى سلمان ،أحمد صالح .داود عطية ،كرم
جابر ،راجي نعمة ،باسم عبد الكريم ،جعفر طالب ،تموز حسن ،مریم جعفر
ومن الجدير بالذكر ،عزيزي الدارس ،أنه إذا كانت س مجموعة جزئية من ص فإن اتحادهما
سيكون عناصر ص نفسها .ويمكن تطبيق عالقة االتحاد إلى أي عدد من العالقات.
يفيد التقاطع في تحديد العناصر المشتركة بين عالقة وأخرى للحصول على عالقة جديدة .فإذا
كانت س تقاطع ص عالقتان متوافقتان فان س م ص عبارة عن عالقة عناصرها تنتمي إلى س
و ص ،حيث يمثل الرمز التقاطع.
إذا علمت أن س = مجموعة الصفوف في جدول ( )3والتي تكون الرتبة العلمية فيها أستاذ
مشارك أو أستاذه
وأن ص = مجموعة الصفوف في جدول ( )3والتي يكون رمز القسم CSأو MA
إن س يشمل سبعة صفوف (عناصر) واألسماء هي :ليلى سلمان ،أحمد صالح ،داود عطية،
كرم جابر ،راجي نعمة ،باسم عبد الكريم ،جعفر طالب .وأن ص تشمل خمسة عناصر هي:
أحمد صالح ،داود عطية ،تموز حسن ،مریم جعفر ،جعفر طالب.
لذا فإن س تقاطع ص سيشمل ثالثة عناصر مشتركة فقط هي :أحمد صالح ،داود عطية .جعفر
طالب.
126
فإذا كانت س و ص عالقتان متوافقتان فإن س ص عبارة عن عالقة عناصرها تنتمي إلى س
وال تنتمي إلى ص ،حيث يمثل الرمز « »-الفروق أو .Diffإذا علمت أن س = مجموعة
الصفوف في جدول ( )2والتي تكون الرتبة العلمية أستاذ مشارك أو أستاذ.
ص = مجموعة الصفوف في جدول ( )3والتي يكون رمز القسم CSأو MAإن س يشمل
سبعة صفوف (عناصر) واألسماء هي :ليلى سلمان ،أحمد صالح ،داود عطية ،كرم جابر،
راجي نعمة ،باسم عبد الكريم ،جعفر طالب.
وأن ص تشمل خمسة عناصر هي :أحمد صالح ،داود عطية ،تموز حسن ،مریم جعفر ،جعفر
طالب.
لذا فإن س -ص سيشمل أربعة عناصر هي :ليلى سلمان ،کرم جابر ،راجي نعمة ،باسم عبد
الكريم.
),T2 = (b1,…,bn
ويكتب الضرب الكارتيزي بالصورة س Xص .فإذا كانت عدد صفوف س هي 2وعدد
صفوف ص هي qفإن عدد صفوف العالقة الناجمة من الضرب الكارتيزي هو •pxq
ويرمز لها بالحرف اليوناني (ه) وتعني اختيار العناصر أو الصفوف التي ينطبق عليها شرط
معين يسمى
مثال ( :)1اختر األشخاص من س الذين تكون رتبتهم أستاذ ( oPس) :P( ،الرتبة = أستاذ)
127
ويرمز لها بالحرف اليوناني πوتعني أنه يتم حذف المعلومات ما عدا األعمدة المذكورة مع هذه
العملية.
مثال ()2
الحسابات العالئقي وسيلة أخرى من وسائل التعامل مع العالقات والجداول .إنها لغة وصفية
للتعبير عن اإلستفسارات دون معرفة التفصيالت الدقيقة للوصول إلى النتائج المطلوبة كما هو
الحال مع الجبر العالئقي ( )Predicate Calculusتعد الحسابات العالئقية أحد فروع علم
المنطق
( )Predicate Calculusتعد الحسابات العالئقية أحد فروع علم المنطق وتعتمد على مجموعة
من العمليات وهي:
128
129
عندما تكتب مقدار جبري عالئقي فإنك عزيزي الدارس ،تحتاج إلى كتابة سلسلة من األوامر
(خوارزمية) التي تؤدي للحصول على الجواب المطلوب .إن الحسابات العالئقية للصفوف ال
تحتاج إلى توفير سلسلة من األوامر بل تحتاج
إلى وصف االستفسار المطلوب .ويمكن عرض االستفسار باستخدام الحسابات العالئقية على
النحو اآلتي :حيث tعبارة عن مجموعة الصفوف التي تحقق القاعدة Pلقيم .tوكذلك تستخدم
الرموز [ t[Aلتشير إلى قيمة الصف tعند الخاصية (العمود) Aوأن ( )t € rتعني أن الصف
tينتمي للعالقة (الجدول) ,r
ولتسهيل عرض بعض األمثلة نقرض وجود عدة جداول أوعالقات ومنها؛
130
مثال ()3
الحل:
مثال ()4
الحل:
والتي تعني ”هناك يوجد صف مثل tينتمي إلى العالقة rبحيث تتحقق العبارة (Q(t
ويمكن التعبير عن الصورة أعاله لغوية كما يلي" :إيجاد جميع الصفوف tالتي يتحقق عندها
الصف Sوالذي ينتمي إلى العالقة ،borrowبحيث تتساوى قيم Sمع قيم tعند العمود اسم
الزبون customer
تتساوى قيم Sمع قيم tعند العمود اسم الزبون customer- name
وأن قيمة Sفي العمود المبلغ amountأكبر من 1200دينار.
131
Y .2مقارنة ، Xحيث y Xمتغيرات (أعمدة) وأن األداة 0أداة مقارنة تتضمن األدوات:
مالحظة:
مثال ()5
)number
جد اسم الفرع (( ،branch- nameورقم الحساب )Loan- )numberواسم الزبون (
)Customer- nameوالمبلغ
الحل:
المقدار الحسابي األتي يحدد كافة الصفوف في عالقة القروض والتي يتجاوز فيها مقدار القرض
1200دينارا.
الحل:
132
مثال ()6
جد أسماء الزبائن الذين يتجاوز مقدار قرض كل منهم 1200دينار؟
الحل:
()5
تدريب
بناء على ما سبق ،جد أسماء جميع الزبائن الذين يستقرضون من أحد فروع البنك المسمى
«قرع اليرموك “Yarmoukوالواقع بالقرب من محل سكناهم
()6
ما أسماء الزبائن الذين يستقرضون من البنك -فرع اليرموك أو لديهم ودائع هناك أو كليهما
(ودائع واستقراض).
()7
جد أسماء جميع الزبائن الذين لهم حساب في جميع الفروع في مدينة حيفا
،2ما الفرق بين اللغات التي تعتمد على الجبر العالئقي واللغات التي تعتمد على الحسابات
العالئقية للمجال ؟
133
.5معايير التصميم
تتطلب معايير التصميم مجموعة من اإلجراءات ،التي تلي مرحلة التصميم التمهيدي وتحديد
العالقات بين عناصر البيانات ،مثل دراسة التكرارات المختلفة العالقات ومحاولة تقليل هذه
التكرارات ( )Elimination of Redundanciesقدر اإلمكان .فمثال ،الشكل ( )1يبين العالقة
التي تربط العناصر y z x
من المالحظ من الشكل أن العالقة بين Xو 1يمكن حذفها حيث يمكن
ومن األمور التي يجب اتباعها جمع العالقات ،وعندما تجمع العالقات فإن المفتاح البسيط يحتاج
إلى تحويل إلى مفتاح مركب .وعندما تجمع العالقات فإن األمر يتطلب حذف العالقات
المتكررة .واألمثلة التالية ،عزيزي الدارس توضح عملية جمع العالقات:
134
العالقة من Aإلى Cومن Aإلى Dعالقتان غير ضروريتان ألنه يمكن االستعاضة عنهما وعند
حذفهما ينتج الشكل اآلتي:
وهكذا يبين الشكل أعاله كيف استطعنا جمع عالقتين مع بعضهما البعض للحصول على عالقة
جديدة وبدون تكرارات .بصورة عامة تتبع الخطوات التالية ،عزيزي الدارس ،عند تصميم
نموذج قواعد البيانات العالئقية
.2تحدد المفاتيح الرئيسة ويمكن إعتبار عنصر البيانات الخارجة منه على األقل العالقة
135
من نوع مفتاح واحد وقد يكون هذا المفتاح بسيطا أو مركبا.
.3تحديد الخصائص حسب المفتاح ومن خالل العالقة الخارجة من المفتاح إلى عناصر
البيانات األخرى.
.4إن فقدت العالقة من نوع واحد بين عنصرين من عناصر البيانات وتوفرت العالقة من نوع
بينهما فإن هذان العنصران يجمعان في عنصر واحد هو المفتاح
.6الخالصة
لقد تطرقنا ،عزيزي الدارس ،في هذه الوحدة إلى مكونات النظام العالئقي ومستويات بنائه مما
يساعدك على تطوير نظام قواعد بيانات للمؤسسة التي تعمل فيها ،وتطرقت الوحدة إلى نموذج
البيانات العالئقي والتطبيع العالئقي.
واستعرضت الوحدة كذلك .مفهوم التعامل مع البيانات والطرق المستخدمة االسترجاع البيانات
من قاعدتها ،أو حذفها ،أو تعديلها ،أو إضافة سجالت جديدة إلى قاعدة البيانات والوسائل
المتاحة للتعامل مع البيانات وهي :لغات التساؤل )Query
( )og bley Languages )Command-Oriented Query Languagesوإعداد التقارير.
وتوضح الوحدة الجبر العالئقي والحسابات العالئقية وطرق استخدامها في إصدار التساؤالت.
وأخيرا تناولت الوحدة أسس معايير التصميم الجيد وعرض أمثلة مختارة.
تعرفت ،عزيزي الدارس ،من خالل الوحدة الخامسة على مكونات النظام العالئقي ومستويات
بنائه ،ونموذج البيانات العالئقي والتطبيع العالئقي .وعرفت كذلك أسلوب التعامل مع البيانات.
تبحث الوحدة التالية وهي السادسة من هذا المقرر التصميم المادي لقواعد البيانات حيث
تستعرض الوحدة طرق الوصول المادية والمنطقية .وتتطرق الوحدة كذلك إلى بحث موضوع
التصميم المادي لنماذج قواعد البيانات .ومن النماذج التي توضحها الوحدة النموذج الهرمي،
والنموذج الشبكي والنموذج العالئقي
وتبحث الوحدة السادسة ،عزيزي الدراس ،االعتبارات الفنية الخاصة بحجم الملفات ومساحة
التخزين
وتتطرق الوحدة .كذلك ،إلى وسائل قياس الزمن الالزم لتنفيذ عمليات المعالجة وإيجاد األداء
األمثل.
136
.9مسرد المصطلحات
-تعريف البيانات ( :)Data Definitionإعداد قاعدة البيانات ،أو تعريف البيانات ،حيث تتعلق
بطريقة إنشاء صورة عامة Templateلكل ملف من حيث اسم كل حقل ،طول الحقل ،ونوع
البيانات التي يحتويها الحقل.
عالقتين.
-لغة التساؤل البنيوي ( :)SQLلغة بنيوية للتعريف القياسي للبيانات وكذلك لغة تعامل مع قواعد
البيانات العالئقية.
-معالجة البيانات ( :)Data Manipulationعبارة عن طريقة التعامل مع البيانات بصورة
يسيرة .ويتضمن التعامل مع الملفات إنشاء قواعد البيانات ،وصيانة الملفات ،والتساؤل ،وإعداد
التقارير.
139