أنظمة إدارة قواعد البيانات الحديثةتُستخدم في العديد من الكائنات ، ولكن في نفس الوقت لا يعرف الجميع ما هي وكيف يمكن استخدام وظائف DBMS. تتميز هذه الأدوات بعدد كبير من الاحتمالات ، لذلك ، من أجل استخدامها بشكل كامل ، يجب أن تفهم ما يمكن أن تفعله وكيف أنها مفيدة للمستخدم.
إدارة البيانات
بادئ ذي بدء ، تشمل وظائف نظام إدارة قواعد البيانات المعالجةالمعلومات في الذاكرة الخارجية ، وهذه الوظيفة هي توفير الهياكل الأساسية لـ VI ، والتي تكون مطلوبة ليس فقط لتخزين المعلومات المضمنة مباشرة في قاعدة البيانات ، ولكن أيضًا لأداء مهام الخدمة المختلفة ، مثل الحصول على وصول سريع إلى أي ملفات في حالات مختلفة ... في بعض التعديلات ، يتم استخدام إمكانيات أنظمة الملفات المختلفة بنشاط ، بينما يوفر البعض الآخر العمل حتى على مستوى أجهزة الذاكرة الخارجية. ولكن في هذه الحالة ، تجدر الإشارة إلى أنه في وظيفة DBMS بدرجة عالية من التطوير ، لا يتم إبلاغ المستخدم بأي حال من الأحوال حول ما إذا كان سيتم استخدام أي نظام ، وإذا كان الأمر كذلك ، فكيف يتم تنظيم الملفات. على وجه الخصوص ، يحتفظ النظام بترتيب التسمية الخاص به للكائنات المدرجة في قاعدة البيانات.
إدارة ذاكرة الوصول العشوائي العازلة
في معظم الحالات ، وظائفمن المعتاد استخدام DBMS في قواعد البيانات الكبيرة بما فيه الكفاية ، وهذا الحجم غالبًا على الأقل أكبر بكثير من المقدار المتاح من ذاكرة الوصول العشوائي. بالطبع ، في حالة الوصول إلى كل عنصر من عناصر البيانات ، يتم إجراء تبادل مع ذاكرة خارجية ، فإن سرعة الأخيرة سوف تتوافق مع سرعة النظام نفسه ، وبالتالي ، فإن الخيار الوحيد عمليًا للزيادة الحقيقية هو تخزين المعلومات في ذاكرة الوصول العشوائي. في الوقت نفسه ، حتى إذا كان نظام التشغيل يقوم بالتخزين المؤقت على مستوى النظام ، على سبيل المثال ، مع UNIX ، فلن يكون هذا كافيًا لتزويد نظام DBMS بالغرض والوظائف الأساسية ، نظرًا لأنه يحتوي على قدر أكبر بكثير من البيانات حول الخصائص المفيدة للتخزين المؤقت لكل جزء محدد من قاعدة البيانات المستخدمة. نتيجة لذلك ، تحتفظ الأنظمة المتقدمة بمجموعة من المخازن المؤقتة الخاصة بها ، بالإضافة إلى نظام فريد لاستبدالها.
تجدر الإشارة إلى حقيقة أن هناك منفصلةاتجاه أنظمة التحكم ، يركز على التواجد المستمر في ذاكرة الوصول العشوائي لقاعدة البيانات بأكملها. يعتمد هذا الاتجاه على افتراض أنه في المستقبل القريب ، سيكون حجم ذاكرة الوصول العشوائي في أجهزة الكمبيوتر قادرًا على التوسع كثيرًا بحيث لن يقلقوا بعد الآن بشأن أي تخزين مؤقت ، وستكون الوظائف الرئيسية لنظام إدارة قواعد البيانات من هذا النوع مفيدة هنا. في الوقت الحالي ، تظل كل هذه الأعمال في مرحلة الاختبار.
ادارة العمليات التجارية
المعاملة هي سلسلة من العملياتمع قاعدة البيانات المستخدمة ، والتي يعتبرها نظام الإدارة كوحدة واحدة. إذا تم تنفيذ المعاملة بالكامل بنجاح ، فسيقوم النظام بتنفيذ التغييرات التي أجراها على الذاكرة الخارجية ، أو لن يؤثر أي من هذه التغييرات على حالة قاعدة البيانات. هذه العملية مطلوبة للحفاظ على التكامل المنطقي لقاعدة البيانات المستخدمة. وتجدر الإشارة إلى أن الحفاظ على المسار الصحيح لآلية المعاملة هو شرط أساسي حتى عند استخدام DBMS لمستخدم واحد ، والغرض منها ووظائفها تختلف اختلافًا كبيرًا عن الأنواع الأخرى من الأنظمة.
الخاصية التي تبدأ بها أي معاملةفقط عندما تكون قاعدة البيانات في حالة متسقة وفي نفس الوقت تتركها في نفس الحالة بعد نهاية الإجراء ، يجعل استخدامها مريحًا للغاية كوحدة نشاط فيما يتعلق بقاعدة البيانات. من خلال الإدارة السليمة لتنفيذ المعاملات المتزامنة بواسطة نظام التحكم ، يمكن لكل مستخدم فردي ، من حيث المبدأ ، أن يشعر بأنه جزء من الكل. ومع ذلك ، يعد هذا تمثيلًا مثاليًا إلى حد ما ، لأنه في العديد من المواقف أثناء العمل ، سيظل الناس يشعرون بوجود زملائهم إذا استخدموا نظامًا متعدد المستخدمين ، ولكن في الواقع يتم توفير هذا من خلال مفهوم نظام إدارة قواعد البيانات. كما تربط وظائف نظام إدارة قواعد البيانات متعدد المستخدمين مفاهيم مثل خطة التنفيذ التسلسلي والتسلسل مع إدارة المعاملات.
ماذا يقصدون؟
تسلسل تنفيذ المعاملات بشكل متزامنينص على بناء خطة خاصة لعملهم ، حيث يكون إجمالي التأثير المحقق للخليط معادلاً للنتيجة التي تم الحصول عليها بسبب التنفيذ المتسلسل.
خطة التنفيذ التسلسليبنية معينة من الإجراءات تؤدي إلى التسلسل. بالطبع ، إذا تمكن النظام من ضمان تنفيذ تسلسلي حقيقي لمزيج من المعاملات ، فعندئذٍ بالنسبة لأي مستخدم يقوم بإجراء معاملة ، سيكون وجود الآخرين غير مرئي تمامًا ، باستثناء أنه سيعمل بشكل أبطأ قليلاً مقارنة بالمستخدم الفردي- وضع المستخدم.
هناك العديد من خوارزميات التسلسل الأساسية.في الأنظمة المركزية ، الأكثر شيوعًا اليوم هي الخوارزميات التي تستند إلى الالتقاط المتزامن لكائنات قاعدة البيانات المختلفة. في حالة استخدام أي من خوارزميات التسلسل ، يتم توفير إمكانية التعارض بين معاملتين أو أكثر عند الوصول إلى كائنات قاعدة بيانات معينة. في مثل هذه الحالة ، لتقديم الدعم لهذا الإجراء ، تحتاج إلى التراجع ، أي إزالة أي تغييرات تم إجراؤها على قاعدة البيانات من خلال عملية واحدة أو أكثر. هذا مجرد موقف واحد عندما يشعر الشخص في نظام متعدد المستخدمين بوجود الآخرين.
يوميات
من المتطلبات الأساسية للحديثالأنظمة هي ضمان موثوقية تخزين المعلومات في الذاكرة الخارجية. على وجه الخصوص ، ينص هذا على أن من بين الوظائف الرئيسية لنظام إدارة قواعد البيانات القدرة على استعادة آخر حالة متسقة لقاعدة البيانات بعد حدوث أي فشل في البرامج أو الأجهزة. في الغالبية العظمى من الحالات ، من المعتاد النظر في خيارين لأعطال الأجهزة:
- لينة ، والتي يمكن تفسيرها على أنها إغلاق غير متوقع للكمبيوتر (الحالة الأكثر شيوعًا هي إيقاف التشغيل في حالات الطوارئ) ؛
- الصعب ، والتي تتميز بفقدان جزئي أو كامل للبيانات المخزنة على الوسائط الخارجية.
تتضمن أمثلة مواطن الخلل في البرامجيتسبب في تعطل النظام عند محاولة استخدام ميزة ليست من بين الوظائف الرئيسية لنظام إدارة قواعد البيانات ، أو تعطل أي أداة مساعدة للمستخدم ، ونتيجة لذلك لم يتم إكمال معاملة معينة. يمكن اعتبار الموقف الأول نوعًا خاصًا من الفشل الناعم ، بينما يحتاج الموقف الأخير إلى التعامل مع عواقب معاملة واحدة.
بالطبع ، على أي حال طبيعيلاستعادة قاعدة البيانات ، يجب أن يكون لديك قدر معين من المعلومات الإضافية. بمعنى آخر ، من أجل الصيانة العادية لموثوقية تخزين البيانات في قاعدة البيانات ، من الضروري توفير التكرار في تخزين المعلومات ، ويجب حماية جزء من البيانات المستخدمة في الاسترداد بعناية خاصة. الطريقة الأكثر شيوعًا للحفاظ على هذه البيانات المكررة هي الاحتفاظ بسجل التغيير.
ما هو وكيف يتم استخدامه؟
المجلة هي جزء خاص من قاعدة البياناتالبيانات ، التي لم يتم تضمين الوصول إليها في عدد وظائف DBMS ، وهي مدعومة بعناية فائقة. في بعض الحالات ، من المتصور الاحتفاظ بنسختين من المجلة في وقت واحد على وسائط مادية مختلفة. تتلقى هذه المستودعات معلومات حول أي تغييرات تحدث في الجزء الرئيسي من قاعدة البيانات ، وفي أنظمة التحكم المختلفة ، يمكن تسجيل التغييرات على مستويات مختلفة. في بعض الحالات ، يتوافق إدخال السجل تمامًا مع عملية تغيير منطقي محددة ، في مكان ما - عملية داخلية بسيطة مرتبطة بتعديل صفحة ذاكرة خارجية ، بينما توفر بعض نظم إدارة قواعد البيانات مزيجًا من الطريقتين.
على أي حال ، فإن ما يسمى ب"إستراتيجية الكتابة المسبقة" للسجل. عند تطبيقه ، يدخل سجل يشير إلى حدوث تغيير في أي كائنات قاعدة بيانات في الذاكرة الخارجية للسجل قبل الكائن الذي تم تغييره. من المعروف أنه إذا كانت وظائف Access DBMS توفر الالتزام العادي بهذا البروتوكول ، فيمكن استخدام المجلة لحل أي مشاكل مرتبطة باستعادة قاعدة البيانات في حالة حدوث أي فشل.
التراجع
أسهل حالة للشفاءهو التراجع الفردي للمعاملة. بالنسبة لهذا الإجراء ، لا تحتاج إلى استخدام سجل التغيير على مستوى النظام ، ويكفي استخدام سجل تعديل محلي لكل معاملة ، ثم التراجع عن المعاملات عن طريق إجراء العمليات العكسية ، بدءًا من نهاية كل عملية التسجيلات. غالبًا ما يوفر هيكل وظيفة DBMS استخدام مثل هذا الهيكل ، ولكن في معظم الحالات ، لا تزال السجلات المحلية غير مدعومة ، ويتم تنفيذ التراجع الفردي حتى بالنسبة للمعاملات الفردية وفقًا للنظام على مستوى النظام ، ولأجل يتم دمج جميع سجلات كل معاملة في قائمة عكسية.
عند حدوث فشل ضعيف ، الذاكرة الخارجيةيمكن أن تتضمن قواعد البيانات كائنات مختلفة تم تعديلها بواسطة المعاملات التي لم تكتمل في وقت الفشل ، والكائنات المختلفة التي تمت ترقيتها بواسطة تلك التي اكتملت بنجاح قبل الفشل قد تكون مفقودة بسبب استخدام مخازن ذاكرة الوصول العشوائي المؤقتة ، ومحتوياتها تختفي تمامًا عند حدوث مشكلات مماثلة. في حالة اتباع بروتوكول استخدام السجلات المحلية ، تظل السجلات في الذاكرة الخارجية التي تتعلق بتعديل أي من هذه الكائنات.
الغرض الرئيسي من إجراء الاسترداد بعدالفشل الناعم هو حالة الذاكرة الخارجية لقاعدة البيانات الرئيسية التي قد تحدث إذا تم الالتزام بالتغييرات الخاصة بأي معاملات مكتملة إلى VI ولا تحتوي على آثار لإجراءات غير مكتملة. لتحقيق هذا التأثير ، تتمثل الوظائف الرئيسية لنظام إدارة قواعد البيانات في هذه الحالة في التراجع عن المعاملات غير المكتملة وإعادة تشغيل تلك العمليات ، والتي لم تظهر نتائجها في النهاية في الذاكرة الخارجية. توفر هذه العملية عددًا كبيرًا إلى حد ما من التفاصيل الدقيقة ، والتي تتعلق بشكل أساسي بتنظيم إدارة السجل والمخزن المؤقت.
حوادث صعبة
إذا كنت بحاجة إلى استعادة قاعدة البياناتبعد حدوث إخفاقات جسيمة ، لا يتم استخدام السجل فحسب ، بل يتم أيضًا استخدام نسخة الأرشيف من قاعدة البيانات. الأخير هو نسخة كاملة من قاعدة البيانات في الوقت الذي بدأ فيه السجل بالملء. بالطبع ، لتنفيذ إجراء استعادة عادي ، فإن أمان السجل مطلوب ، لذلك ، كما ذكرنا سابقًا ، يتم فرض متطلبات خطيرة للغاية على سلامته في الذاكرة الخارجية. في هذه الحالة ، يعني استرداد قاعدة البيانات ، استنادًا إلى نسخة الأرشيف ، أن جميع المعاملات التي تم إكمالها في الوقت الذي حدث فيه الفشل يتم إعادة عرضها في السجل. إذا لزم الأمر ، يمكن حتى إعادة إنتاج عملية المعاملات غير المكتملة ويمكن أن يستمر تشغيلها العادي بعد انتهاء إجراء الاسترداد ، ولكن في معظم الأنظمة الحقيقية ، لا يتم تنفيذ مثل هذا الإجراء لسبب أن الاسترداد من الإخفاقات الشديدة بحد ذاته هو بالأحرى إجراء مطول.
دعم اللغة
للعمل مع قواعد البيانات الحديثةيتم استخدام لغات مختلفة ، وفي أوائل نظم إدارة قواعد البيانات ، كان الغرض والوظائف والميزات الأخرى الخاصة بها مختلفة بشكل كبير عن الأنظمة الحديثة ، تم توفير الدعم للعديد من اللغات المتخصصة للغاية. كانت هذه بشكل أساسي SDL و DML ، المصممة لتحديد مخطط قاعدة البيانات ومعالجة البيانات ، على التوالي.
تم استخدام SDL لتعريفالهيكل المنطقي لقاعدة البيانات ، أي التعرف على الهيكل المحدد لقاعدة البيانات التي يتم تقديمها للمستخدمين. من ناحية أخرى ، تضمنت DML مجموعة كاملة من المشغلين لمعالجة المعلومات ، مما يسمح لك بإدخال المعلومات في قاعدة بيانات ، وكذلك حذف أو تعديل أو استخدام البيانات الموجودة بالفعل.
تتضمن وظائف DBMS أنواعًا مختلفة من الدعملغة واحدة متكاملة ، تتيح توافر أي أدوات ضرورية للتشغيل العادي مع قواعد البيانات ، بدءًا من إنشائها الأولي ، وتوفير واجهة مستخدم قياسية. يتم استخدام SQL كلغة قياسية توفر الوظائف الأساسية لنظام إدارة قواعد البيانات (DBMS) للأنظمة العلائقية الأكثر انتشارًا اليوم.
ما هو عليه؟
بادئ ذي بدء ، تجمع هذه اللغةالوظائف الرئيسية لـ DML و SDL ، أي أنها توفر القدرة على تحديد دلالات محددة لقاعدة بيانات علائقية ومعالجة المعلومات الضرورية. في الوقت نفسه ، يتم دعم تسمية كائنات قاعدة البيانات المختلفة مباشرة على مستوى اللغة بمعنى أن المحول البرمجي يحول أسماء الكائنات إلى معرفات داخلية ، بناءً على جداول كتالوج الخدمة المدعومة بشكل خاص. جوهر أنظمة التحكم ، من حيث المبدأ ، لا يتفاعل بأي شكل من الأشكال مع الجداول أو أعمدتها الفردية.
تتضمن لغة SQL قائمة كاملة بملفاتأدوات خاصة تسمح لك بتحديد قيود تكامل قاعدة البيانات. مرة أخرى ، يتم تضمين أي قيود من هذا القبيل في جداول كتالوج خاصة ، ويتم التحكم في التكامل مباشرة على مستوى اللغة ، أي في عملية قراءة مشغلي تعديل قاعدة البيانات الفرديين ، يقوم المترجم ، بناءً على قيود التكامل في قاعدة البيانات ، بإنشاء رمز البرنامج المقابل.