نظام إدارة قواعد البيانات (DBMS)
| English | العربية |
|---|---|
| DBMS/ˌdiː biː em ˈes/ | نظام إدارة قواعد البيانات |
| view/vjuː/ | عرض |
| backup/ˈbækʌp/ | النسخ الاحتياطي |
| data management/ˈdeɪtə ˈmænɪdʒmənt/ | إدارة البيانات |
| data dictionary/ˈdeɪtə ˈdɪkʃənəri/ | قاموس البيانات |
| data modelling/ˈdeɪtə ˈmɒdəlɪŋ/ | نمذجة البيانات |
| logical schema/ˈlɒdʒɪkl ˈskiːmə/ | المخطط المنطقي |
| data integrity/ˈdeɪtə ɪnˈteɡrɪti/ | سلامة البيانات |
| data security/ˈdeɪtə sɪˈkjʊərɪti/ | أمان البيانات |
| transaction/trænˈsækʃn/ | معاملة |
| concurrent access/kənˈkʌrənt ˈækses/ | الوصول المتزامن |
| concurrency control/kənˈkʌrənsi kənˈtrəʊl/ | التحكم في التزامن |
| developer interface/dɪˈveləpə ˈɪntəfeɪs/ | واجهة المطور |
| query processor/ˈkwɪərɪ ˈprəʊsesə/ | معالج الاستعلامات |
شخصان، مقعد واحد
- في عام 1960، شغّلت خطوط أمريكان الجوية نظام Sabre، وهو أول نظام لحجز التذاكر بالحاسوب. كان بإمكان وكلاء في عشرات المدن بيع مقاعد في نفس الرحلة في نفس اللحظة، وكان الدور الوحيد الهام للنظام هو عدم بيع أي مقعد مرتين.
- ملف مشترك لا يستطيع فعل ذلك: برنامجان يقرأان "المقعد 14C متاح"، كلاهما يكتب "مُباع"، ويصل مسافران إلى البوابة. يجب أن يوجد وسيط بين كل برنامج والبيانات يحكم بينهما.
- هذا الوسيط هو نظام إدارة قواعد البيانات. كل ميزة في هذه الدرس هي شيء لم تستطع الملفات المسطحة القيام به: وصف نفسها، الحفاظ على اتساق رؤية كل مستخدم، فرض القواعد، البقاء بعد تعطل النظام، والسماح لفريق ببناء تطبيقات بينما يطرح فريق آخر أسئلة.
- هذه الدروس هي الميزات التي يذكرها المنهج والأدوات البرمجية اثنتان يطلب منك وصفهما.
ما هو نظام إدارة قواعد البيانات
- نظام إدارة قواعد البيانات هو البرمجيات التي تدير قاعدة البيانات مركزياً. يصل كل برنامج وكل مستخدم إلى البيانات عبره فقط.
- يجيب على كل قيد مرتبط بالملفات: نسخة واحدة من كل حقيقة، لذا لا تكرار ولا تناقض؛ استقلالية البيانات، بحيث لا ترتبط البرامج بالتخزين؛ النزاهة المركزية والأمان والنسخ الاحتياطي والوصول لمستخدمين متعددين في آنٍ واحد.
- يذكر المنهج خمس ميزات وأداتين. احفظ كل منها كشيء يقوم به نظام إدارة قواعد البيانات.
معمل خدمة قواعد البيانات
شاهد كيف يحول نظام إدارة قواعد البيانات الاستعلام إلى وصول آمن ومشارك للبيانات.
طابق كل خدمة من خدمات DBMS بما تقوم به.
يجمع DBMS هذه الخدمات بحيث لا تلمس البرامج الملفات الخام مباشرة.
إدارة البيانات وقاموس البيانات
- إدارة البيانات هي تحكم نظام إدارة قواعد البيانات بكيفية تخزين البيانات وتنظيمها واسترجاعها وتحديثها، بحيث لا تلمس البرامج الملفات مباشرة أبداً.
- يحافظ على قاموس البيانات: وصف لكل جدول وحقل ونوع بيانات ومفتاح وعلاقة وقيود، بالإضافة إلى من يحق له الوصول إلى ماذا. إنه بيانات حول البيانات.
- تستعلم البرامج من القاموس بدلاً من ترميز الهيكل يدوياً، لذا فإن تغيير الجدول لا يكسر عملها. كما أنها ما يفحصه نظام إدارة قواعد البيانات عند التحقق من صحة سجل جديد.
يحتوي قاموس البيانات في DBMS على:
يصف قاموس البيانات بنية قاعدة البيانات، لذلك تستعلم منه البرامج بدلاً من ترميز التخطيط يدوياً.
نمذجة البيانات والمخطط المنطقي
- نمذجة البيانات هي تحديد هيكل البيانات: الكيانات، سماتها، المفاتيح والعلاقات، كما في رسم الكيان والعلاقة.
- النتيجة هي المخطط المنطقي: التصميم المنطقي الشامل لقاعدة البيانات وجداولها وعلاقاتها، مصفوفاً بشكل مستقل عن كيفية تخزين البايتات على القرص.
- بما أن المخطط المنطقي منفصل عن التخزين الفيزيائي، يمكن إعادة تنظيم التخزين أو فهرسته أو نقله وستظل البرامج ترى نفس الجداول.

ترى البرامج الجداول؛ يرى نظام إدارة قواعد البيانات الأقراص
يصف المخطط المنطقي لقاعدة البيانات:
التصميم المنطقي منفصل عن التخزين الفيزيائي، وهو ما يسمح بتغيير التخزين دون أن تلاحظ البرامج ذلك.
نزاهة البيانات وأمانها
- نزاهة البيانات: يحافظ نظام إدارة قواعد البيانات على صحة البيانات واتساقها بفرض القواعد مركزياً: المفاتيح الأساسية فريدة وغير فارغة، النزاهة المرجعية على كل مفتاح أجنبي، أنواع البيانات، وقيود التحقق مثل النطاق أو القيمة من قائمة.
- أمان البيانات: يتحكم نظام إدارة قواعد البيانات بمن قد يرى ويغير ماذا. تُمنح صلاحيات الوصول للمستخدمين الأفراد أو المجموعات، جدولاً تلو الآخر، كقراءة فقط، قراءة وكتابة، أو بدون وصول؛ كلمات المرور تؤكد هوية كل مستخدم؛ يمكن تشفير البيانات المخزنة.
- الأمان يشمل أيضاً إجراءات النسخ الاحتياطي: نسخ منتظمة لقاعدة البيانات، مع سجل للتغييرات منذ النسخ الأخيرة، حتى يمكن استعادة البيانات بعد التعطل.
ما هي ميزات أمان البيانات في DBMS؟ حدد كل ما ينطبق.
من يمكنه الوصول، والاستعادة بعد الفقدان، هما الأمن. التطبيع خطوة تصميم ضد التكرار.
مثال محلول: كيف يحافظ نظام إدارة قواعد البيانات على أمان البيانات
- صف كيف يوفر نظام إدارة قواعد البيانات أمان البيانات. [4]
- لكل مستخدم حساب وكلمة مرور، لذا يدخل فقط الأشخاص المصرح لهم. يعطي المسؤول لكل مستخدم أو مجموعة صلاحيات وصول لكل جدول: موظف مكتب قد يقرأ الأسعار لكن لا يغيرها؛ العميل لا يستطيع رؤية جدول الموظفين إطلاقاً. يمكن لعرض أن يقدم للمستخدم حقولاً يحتاجها فقط.
- يشغل نظام إدارة قواعد البيانات إجراءات النسخ الاحتياطي: نسخة منتظمة لقاعدة البيانات على وسائط منفصلة، مع سجل للعمليات منذ النسخ، لذا لا تفقد أي بيانات بسبب تعطل أو هجوم.
- الأمان يتعلق بـ من قد يصل؛ النزاهة تتعلق بأن تكون البيانات صحيحة. افصل بينهما عندما يطلب السؤال ذلك.
مستخدمون كثيرون في آنٍ واحد
- الوصول المتزامن: يعمل مستخدمون كثيرون على قاعدة البيانات في نفس الوقت. يستخدم التحكم في التزامن قفلات لمنع مستخدمين من تحديث نفس السجل في آنٍ واحد وإفساده: ينتظر الثاني حتى ينهي الأول.
- المعاملة هي مجموعة عمليات تنجح جميعها أو تفشل جميعها، لذا لن يترك تعطل أثناء عملية تحويل funds مفقودة من كل الحسابين.
- العرض هو جدول افتراضي مبني على استعلام، يعرض لكل مستخدم فقط قسمه من البيانات.
عملية قاعدة البيانات هي:
العمليات كلها-أو-لا شيء، لذا لا تُترك قاعدة البيانات نصف محدثة أبداً.
التحكم في التزامن (القفل) ضروري حتى:
يمنع القفل تحديثين متزامنين من التصادم وتلف البيانات المشتركة.
العملية كلها-أو-لا شيء: إما أن تكتمل بالكامل (commit) أو تلغي نفسها بالكامل (rollback)، لذا لا تُترك قاعدة البيانات نصف محدثة.
هذا الذرية هو سبب عدم إمكانية خصم حساب بنكي دون إيداع الآخر.
جدول افتراضي (غالباً استعلام محفوظ) يعرض للمستخدم فقط الجزء المعني به من البيانات يسمى ______.
يقدم العرض جزءاً مخصصاً، وغالباً محدوداً، من البيانات دون نسخه.
رتب أحداث مستخدمين محدثين لنفس السجل تحت التحكم في التزامن.
يُشفر القفل التحديثين بحيث لا يمسح أحدهما تغيير الآخر.
أدوات البرمجيات
- واجهة المطور هي مجموعة الأدوات وواجهات البرمجة لبناء تطبيقات على قاعدة البيانات: بناء نموذج لإدخال البيانات، ومولد تقارير، وباني استعلامات، ومحرر SQL، ومحرر قاموس البيانات، وواجهات برمجة تطبيقات (API) تسمح لبرنامج مكتوب بلغة Python أو Java بإرسال استعلام SQL واستقبال النتائج.
- معالج الاستعلامات يستقبل استعلاماً كُتب بلغة SQL، ويتحقق منه مقابل قاموس البيانات، ويحدد الطريقة الأكثر كفاءة لتنفيذه، وينفذه ثم يُرجع مجموعة النتائج.
- المستخدم الذي يكتب الاستعلام والمبرمج الذي يبني نموذج الحجز يستخدمان كلاهما نظام إدارة قواعد البيانات؛ الأول من خلال معالج الاستعلامات، والثاني من خلال واجهة المطور.
طابق كل مكون من مكونات DBMS بمهامه.
تشغيل الاستعلامات، بناء التطبيقات، وصف البنية، والتصميم نفسه: أربعة أشياء مختلفة يذكرها الامتحان بشكل منفصل.
مثال محلول: الأداةين قيد الاستخدام
- تُستخدم قاعدة بيانات متجر من قبل المدير الذي يحتاج إلى مجاميع المبيعات، ومن قبل مبرمج يكتب تطبيقاً لإدارة المخزون. اشرح كيف يتم استخدام معالج الاستعلامات وواجهة المطور.
- يكتب المدير أو يبني استعلاماً لمجاميع المبيعات؛ المعالج يقوم بتحليله، ويستخدم قاموس البيانات للتحقق من وجود الجداول والمجالات، ويختار أسرع طريقة لتنفيذه، وينفذه ويُرجع النتائج.
- يستخدم المبرمج واجهة المطور: مباني النماذج والتقارير لإنشاء شاشات المخزون، وواجهة API بحيث يمكن لكود التطبيق إرسال SQL إلى نظام إدارة قواعد البيانات واستقبال السجلات مرة أخرى.
- علامتان لكل أداة: ما هي الأداة، وماذا يفعل هذا الشخص بها.
علامات ضائعة
- نظام إدارة قواعد البيانات هو البرمجيات، وليس البيانات. عبارة "يحتوي نظام إدارة قواعد البيانات على سجلات العملاء" غير صحيحة؛ فهو يديرها.
- قاموس البيانات يحتوي على بيانات حول البيانات: الهياكل، الأنواع، المفاتيح، الصلاحيات. ليس السجلات نفسها.
- المخطط المنطقي هو التصميم المستقل عن التخزين الفيزيائي. قل هذه العبارة.
- الأمان يتعلق بمن يمكنه الوصول؛ النزاهة تتعلق بصحة البيانات. النسخ الاحتياطي ينتمي للأمان.
لقد فهمت الأمر
- نظام إدارة قواعد البيانات هو البرمجيات التي تمر عبرها كل البرامج: نسخة واحدة من كل حقيقة، استقلالية البيانات، قواعد مركزية.
- إدارة البيانات مع قاموس بيانات (بيانات حول البيانات) · نمذجة البيانات لإنتاج المخطط المنطقي (التصميم المستقل عن التخزين) · نزاهة البيانات (القواعد المفروضة) · أمان البيانات (صلاحيات الوصول للمستخدمين والمجموعات، كلمات المرور، التشفير، النسخ الاحتياطية).
- التحكم في التوازي باستخدام القفل، العمليات التي تكون كاملة أو لا شيء، والمشاهدات التي تُظهر للمستخدم جزءاً محدداً منه.
- الأدوات: واجهة المطور لبناء التطبيقات، ومعالج الاستعلامات لتشغيل SQL.