مستويات بنية قاعدة البيانات الفرعية. البنية العامة لقاعدة البيانات

13.04.2019

اقترحت مجموعة أبحاث ANSI-SPARC (ANSI - المعهد الوطني الأمريكي للمعايير وSPARC - لجنة تخطيط المعايير والمتطلبات) ثلاثة مستويات من التجريد لتنظيم هيكل قاعدة البيانات. هذا خارجي, المفاهيميو الداخليةمستويات وصف البيانات

على أساس بنية ANSI-SPARC، تعتمد بنية معظم أنظمة إدارة قواعد البيانات الحديثة.

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

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

  • - الكيانات والصفات والعلاقات
  • - قيود البيانات
  • - معلومات دلالية عن البيانات
  • - معلومات حول كيفية ضمان أمن البيانات وسلامتها.

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

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

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

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

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

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

حول الوضع الفعلي للبيانات وأوصافها في الذاكرة؛

نبذة عن آلية البحث عن البيانات المطلوبة؛

حول المشاكل التي تنشأ عندما يطلب عدد كبير من المستخدمين (برامج التطبيقات) نفس البيانات في وقت واحد؛

حول طرق حماية البيانات من التحديثات غير الصحيحة و (أو) الوصول غير المصرح به؛

حول الحفاظ على قاعدة البيانات محدثة.

يظهر الشكل 6.6 البنية العامة للاتصالات بين البرامج والبيانات عند استخدام نظام إدارة قواعد البيانات (DBMS).

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

جوهر موضوع الاهتمام؛

السمات التي تميز الخصائص المتأصلة لكل كيان؛

العلاقات التي تربط الكيانات المحددة.

أرز. 6.6. هيكل معمم للاتصالات بين البرامج والبيانات في نظام إدارة قواعد البيانات

تم اقتراح النهج المتبع في الهندسة المعمارية ووصف البيانات من قبل لجنة ANSISPARC (لجنة تخطيط المعايير والقوانين

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

أرز. 6.7. بنية ANSI-SPARC ثلاثية الطبقات

يضمن هذا الفصل إلى مستويات استقلالية البيانات المخزنة، وهو أمر ضروري للأسباب التالية:

1. يجب أن يكون كل مستخدم قادراً على الوصول إلى البيانات باستخدام رؤيته الخاصة لها، وتغيير وجهة نظره للبيانات دون التأثير على رؤية المستخدمين الآخرين.

2. لا يتعين على المستخدمين التعامل مع تفاصيل التنظيم المادي للبيانات، على سبيل المثال. لا ينبغي أن تعتمد على خصائص تخزين البيانات المادية.

3. يجب أن يكون مسؤول قاعدة البيانات قادرًا على تغيير بنية تخزين البيانات بحيث تظل هذه التغييرات شفافة للمستخدمين الآخرين.

4. يجب ألا تعتمد بنية قاعدة البيانات على الجوانب المادية للتخزين، على سبيل المثال، عند التبديل إلى جهاز ذاكرة خارجي جديد.

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

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

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

1) الكيانات وسماتها واتصالاتها؛

2) القيود المفروضة على البيانات؛

3) المعلومات الدلالية حول البيانات.

4) معلومات حول تدابير السلامة.

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

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

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

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

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

خريطة تخصيص مساحة القرص لتخزين البيانات والفهارس؛

وصف لتفاصيل تخزين السجلات (يشير إلى الأحجام الفعلية لعناصر البيانات المخزنة)؛

معلومات حول نشر السجلات؛

معلومات حول إمكانية ضغط البيانات وطرق التشفير المختارة.

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

على المستوى الداخلي، يتم إنشاء نموذج مادي.

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

وفقًا لمقترحات ANSI-SPARC، يمكن تمثيل نموذج بيانات ثلاثي المستويات (الشكل 6.8):

أرز. 6.8. طبقات نموذج البيانات

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

أرز. 6.9. المكونات الرئيسية لنظام إدارة قواعد البيانات (DBMS).

دعونا نلقي نظرة على المكونات الرئيسية لنظام إدارة قواعد البيانات.

معالج الاستعلام هو المكون الرئيسي لنظام إدارة قواعد البيانات (DBMS) الذي يحول الاستعلامات إلى سلسلة من التعليمات ذات المستوى المنخفض لوحدة تحكم قاعدة البيانات.

تتفاعل وحدة تحكم قاعدة البيانات مع برامج المستخدم والاستعلامات قيد التشغيل. تقبل وحدة تحكم قاعدة البيانات الاستعلامات وتفحص المخططات الخارجية والمفاهيمية لتحديد تلك السجلات المفاهيمية اللازمة لتلبية متطلبات الاستعلام. تستدعي وحدة تحكم قاعدة البيانات وحدة تحكم الملفات لتلبية الطلب الوارد.

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

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

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

تتحكم وحدة تحكم القاموس في الوصول إلى دليل النظام وتشغيله. يمكن الوصول إلى كتالوج النظام لمعظم مكونات نظام إدارة قواعد البيانات.

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

1. التحكم في حقوق الوصول (للمستخدم أو ليس له الحق في العملية المطلوبة).

2. معالج الأوامر (لتنفيذ الطلب، يتم نقل التحكم إلى معالج الأوامر).

3. ضوابط السلامة (عند إجراء العمليات المتعلقة بتغيير محتويات قاعدة البيانات، يتم التحقق من سلامة المفاتيح).

4. يحدد مُحسِّن الاستعلام أفضل استراتيجية لتنفيذ الاستعلام.

5. يقوم مراقب المعاملات بالمعالجة المطلوبة للعمليات الواردة أثناء تنفيذ المعاملات.

6. يكون المجدول مسؤولاً عن التنفيذ الخالي من التعارض للعمليات المتوازية لقاعدة البيانات.

7. تضمن وحدة التحكم بالاسترداد استعادة البيانات إلى حالة ثابتة بعد الفشل.

8. وحدة التحكم في المخزن المؤقت مسؤولة عن نقل البيانات بين ذاكرة الوصول العشوائي (RAM) والوسائط الخارجية.

أرز. 6.10. مكونات وحدة تحكم قاعدة البيانات

ثلاثة مستويات من الهندسة المعمارية.

تشتمل بنية ANSI/SPARC على ثلاثة مستويات: داخلي ومفاهيمي وخارجي. وبشكل عام فهي كما يلي:

الطبقة الداخلية هي الطبقة الأقرب إلى التخزين الفعلي، أي. المرتبطة بطرق تخزين المعلومات على أجهزة التخزين المادية.

المستوى الخارجي هو الأقرب للمستخدمين، أي. فهو يهتم بالطرق التي يتم بها تقديم البيانات للمستخدمين الفرديين.

المستوى المفاهيمي هو مستوى "متوسط" بين المستويين الأولين.

المستوى الخارجي (آراء فردية للمستخدمين). المستوى المفاهيمي (آراء عامة للمستخدمين).

المستوى الداخلي (التمثيل في الذاكرة).

إذا كان المستوى الخارجي عبارة عن آراء فردية للمستخدمين، فإن المستوى المفاهيمي يرتبط برؤية عامة للمستخدمين.

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

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

كل مستخدم لديه لغة الاتصال الخاصة به.

بالنسبة لمبرمج التطبيقات، تكون هذه إما إحدى لغات البرمجة الشائعة، مثل C أو COBOL أو PL/1، أو لغة متخصصة للنظام المعني. تسمى هذه اللغات الأصلية (بشكل غير رسمي!) لغات الجيل الرابع على أساس أن كود الآلة ولغة التجميع ولغات مثل COBOL يمكن اعتبارها لغات "الأجيال" الثلاثة الأولى، و يتم تحديث اللغات الأصلية من لغات الجيل الثالث بنفس الطريقة التي تتحسن بها لغات الجيل الثالث على لغة التجميع.

بالنسبة للمستخدم النهائي، فهي إما لغة استعلام خاصة أو لغة ذات غرض خاص، ربما تعتمد على النموذج والقائمة، ومصممة خصيصًا للمتطلبات ومدعومة ببعض التطبيقات عبر الإنترنت.

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

تتكون لغة معالجة البيانات من عبارات PL/1 قابلة للتنفيذ والتي تنقل المعلومات من وإلى قاعدة البيانات؛ مرة أخرى، ربما يشمل عملاء خاصين جدد.

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

المستوى المفاهيمي.

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

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

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

يستخدم المخطط المفاهيمي لغة تعريف بيانات مختلفة، مفاهيمية. وجهة النظر المفاهيمية هي تمثيل لمحتويات قاعدة البيانات بأكملها، والمخطط المفاهيمي هو تعريف هذا التمثيل. ومع ذلك، سيكون من الخطأ افتراض أن المخطط المفاهيمي ليس أكثر من مجموعة من التعريفات، أشبه بعلاقات التسجيل البسيطة في برنامج COBOL (أو أي برنامج آخر).

الآن دعنا ننتقل إلى دراسة أكثر تفصيلاً لمستويات الهندسة المعمارية الثلاثة.

المستوى الداخلي.

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

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

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

عادةً ما يتم تصنيف التطبيقات التي تستخدم قواعد البيانات ضمن إحدى البنى البرمجية، والتي لها إيجابياتها وسلبياتها.

الهندسة المعمارية المحلية.

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

ملف - بنية الخادم.

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

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

العميل - بنية الخادم.

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

العيب الرئيسي لهذه البنية ليس الموثوقية العالية جدًا. إذا تعطل الخادم، يتوقف كل العمل.

العمارة الموزعة.

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

تسمح لك بتحسين معالجة الطلبات من عدد كبير من المستخدمين وتوزيع الحمل بالتساوي بين أجهزة الكمبيوتر على الشبكة.

عيب البنية الموزعة هو العملية المعقدة والمكلفة لإنشاءها وصيانتها (الإدارة)، فضلاً عن المتطلبات العالية لأجهزة الكمبيوتر الخادم.

الإنترنت - الهندسة المعمارية.

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

عن طريق تنظيم التفاعل مع قاعدة البيانات عبر الشبكة، وتنقسم نظم إدارة قواعد البيانات إلى:

نظام إدارة قواعد البيانات (DBMS) ذو بنية مركزية؛

نظام إدارة قواعد البيانات (DBMS) مع بنية خادم الملفات؛

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

نظام إدارة قواعد البيانات (DBMS) ذو بنية ثلاثية المستويات: "العميل الرقيق" - خادم التطبيقات - خادم قاعدة البيانات.

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

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

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

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

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

في بنية خادم العميليتم تخزين قاعدة البيانات على الخادم، وينقسم نظام إدارة قواعد البيانات إلى قسمين: عميلو غرفة الخادم. يعمل جزء العميل من نظام إدارة قواعد البيانات (DBMS) على جانب العميل ويوفر تفاعلًا تفاعليًا مع المستخدم وإنشاء استعلامات لقاعدة البيانات (بلغة SQL).

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

يتم تنفيذ معظم أنظمة إدارة قواعد البيانات الحديثة باستخدام بنية خادم العميل: Oracle، وMS SQL Server، وPostgreSQL، وMySQL، وInformix، وDB2، وما إلى ذلك.

ومع ذلك، فإن بنية خادم العميل لا تخلو من العيوب.

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

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

في مثل هذه الحالات، يجب عليك الانتقال إلى بنية ثلاثية المستويات: "العميل الرقيق" - خادم التطبيقات - خادم قاعدة البيانات.

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

يوجد "العميل الرقيق" على جهاز الكمبيوتر الخاص بالمستخدم ويمثل في أغلب الأحيان مستعرض ويب (على سبيل المثال، Internet Explorer) يستخدم تطبيقات Java أو مكونات ActiveX على صفحة HTML المقابلة.

يقع خادم التطبيق على الخادم ويمكن أن يكون برنامجًا متخصصًا (على سبيل المثال، Oracle Forms Server) أو خادم ويب عادي يستدعي برنامجًا خارجيًا عبر واجهة CGI لمعالجة طلب HTTP (الشكل 33).

أرز. 33. بنية قاعدة المعرفة ثلاثية المستويات.

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

أرز. 1.3. بنية نظم إدارة قواعد البيانات

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

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

هذا النهج مقبول بشكل عام وهو موجود منذ أكثر من 30 عامًا. تم طرح المقترحات الأولى للبنية متعددة المستويات من قبل مجموعة عمل CODACYL في عام 1971. في عام 1975، اقترحت لجنة تخطيط ومتطلبات معايير SPARC التابعة للمعهد الوطني الأمريكي للمعايير (FNSI) هيكلًا معممًا لنظام إدارة قواعد البيانات (DBMS) من ثلاث طبقات، والذي كان تم الاعتراف به رسميًا في عام 1978 ويسمى ANSI SPARC.

تمت أول محاولة لإنشاء مصطلحات قياسية وبنية مشتركة لنظام إدارة قواعد البيانات في عام 1971 من قبل مجموعة DBTG، التي أدركت الحاجة إلى نهج ثنائي المستوى يعتمد على استخدام عرض النظام، أي. المخططات وطرق عرض المستخدم، على سبيل المثال. دوائر فرعية تم اقتراح مصطلحات وهندسة مماثلة في عام 1975 من قبل لجنة تخطيط المعايير والقوانين التابعة لـ SPARC. أدركت لجنة ANSI/SPARC الحاجة إلى نهج ثلاثي المستويات. على الرغم من أن نموذج ANSI/SPARC لم يصبح معيارًا، إلا أنه لا يزال يوفر إطارًا لفهم بعض وظائف نظام إدارة قواعد البيانات.

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

· يجب أن يكون كل مستخدم قادرًا على الوصول إلى نفس البيانات باستخدام رؤيته الخاصة لها. يجب أن يكون كل مستخدم قادرًا على تغيير طريقة عرضه للبيانات دون التأثير على المستخدمين الآخرين.

· لا يتعين على المستخدمين التعامل بشكل مباشر مع تفاصيل التخزين الفعلي للبيانات في قاعدة البيانات

· يجب أن يكون مسؤول قاعدة البيانات قادرًا على تغيير بنية تخزين البيانات الخاصة بقاعدة البيانات دون التأثير على آراء المستخدم.

· يجب ألا يتأثر الهيكل الداخلي لقاعدة البيانات بالتغيرات في الجوانب المادية لتخزين المعلومات، مثل الانتقال إلى جهاز تخزين جديد.

· يجب أن يكون مسؤول قواعد البيانات قادرًا على تغيير البنية المفاهيمية أو الشاملة لقاعدة البيانات دون أي تأثير على جميع المستخدمين.

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

الغرض الرئيسي من هذه البنية هو ضمان استقلالية البيانات، وجوهرها هو أن التغييرات في المستويات الدنيا من البنية لا تؤثر على المستويات العليا.

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

المستوى المفاهيميهو مستوى متوسط ​​ويوفر تمثيلاً تجريديًا لقاعدة البيانات بأكملها. ويسمى وصف قاعدة البيانات في هذا المستوى بالمخطط المفاهيمي، وهو نتيجة التصميم المفاهيمي. يعكس المخطط المفاهيمي اهتمامات جميع المستخدمين ويمثل وصفًا منطقيًا واحدًا لجميع عناصر البيانات والعلاقات بينها، مما يشكل البنية المنطقية لقاعدة البيانات بأكملها.

يجب أن يحتوي المخطط المفاهيمي على:

· الأشياء والصفات الخاصة بمجال الموضوع.

· الاتصالات بين الأشياء.

· القيود المفروضة على البيانات.

· المعلومات الدلالية حول البيانات.

· ضمان أمن البيانات.

· دعم سلامة البيانات.

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

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

· توزيع مساحة القرص لتخزين البيانات والفهارس.

· وصف تفاصيل حفظ السجلات (أنواع وأحجام عناصر البيانات، وما إلى ذلك)؛

· معلومات حول وضع السجلات.

· معلومات حول ضغط التسجيل وطرق التشفير المختارة.

نظام إدارة قواعد البيانات مسؤول عن إنشاء المراسلات بين المستويات الثلاثة والحفاظ على اتساقها.

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

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

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

في هيكل مجمع برامج DBMS يمكن التمييز بين:

معالج الاستعلام– تحويل الطلبات إلى سلسلة من التعليمات ذات المستوى المنخفض لوحدة تحكم قاعدة البيانات.

مترجم مع NDL– تحويل أوامره إلى مجموعة من الجداول التي تحتوي على البيانات الوصفية. يتم تخزين هذه المعلومات في دليل النظام، ويتم تخزين معلومات التحكم في رؤوس الملفات.

مترجم مع NMD- تحويل العوامل المضمنة في برامج التطبيقات إلى استدعاءات للوظائف القياسية للغة الأساسية. يتفاعل مع معالج الطلب.