النموذج الكينوني. نماذج البيانات الكائنية - مزايا وعيوب النموذج الكينوني

مقدمة

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

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

نموذج بيانات كائني التوجه

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

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

عند إنشاء نظم إدارة قواعد البيانات (DBMS) الموجهة للكائنات (OODBMS) ، يتم استخدام طرق مختلفة ، وهي:

تضمين الأدوات المصممة للعمل مع قاعدة البيانات في اللغة الموجهة للكائنات ؛

تمديد اللغة الحالية للعمل مع قواعد البيانات ذات الوظائف الموجهة للكائنات ؛

إنشاء مكتبات وظائف موجهة للكائنات للعمل مع قاعدة بيانات ؛

إنشاء لغة جديدة ونموذج بيانات كائني جديد.

تشمل مزايا OOMD فرصًا كبيرة لنمذجة المجال ولغة الاستعلام التعبيرية والأداء العالي. كل كائن في OOMD له معرّف فريد (OID - معرّف الكائن). عمليات بحث OID أسرع بشكل ملحوظ من عمليات بحث الجدول العلائقية.

من بين عيوب OODB ، تجدر الإشارة إلى عدم وجود نموذج مقبول بشكل عام ، ونقص الخبرة في إنشاء وتشغيل OODB ، وتعقيد الاستخدام ، وعدم كفاية وسائل حماية البيانات.

الآن دعونا نلقي نظرة على كيفية تنفيذ دعم نموذج البيانات في أنظمة إدارة قواعد البيانات الحقيقية.

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

تم وصف معيار OOM في توصيات معيار ODMG-93 (مجموعة إدارة قاعدة بيانات الكائنات). لم يتم بعد تنفيذ توصيات ODMG-93 بالكامل. لتوضيح الأفكار الرئيسية ، ضع في اعتبارك نموذجًا مبسطًا إلى حد ما لقاعدة بيانات موجهة للكائنات.

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

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

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

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

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

أولاً ، باتباع ممارسات العديد من OODBs ، يُقترح التمييز بين مستويين من نمذجة الكائن: السفلي (الهيكلي) والعلوي (السلوكي). على المستوى الهيكلي ، يتم دعم الكائنات المعقدة وتحديدها وأنواع اتصالات "عيسى". قاعدة البيانات عبارة عن مجموعة من عناصر البيانات المرتبطة بعلاقة "موجود في فئة" أو "سمة". وبالتالي ، يمكن اعتبار DB كرسم بياني موجه. نقطة مهمة هي الحفاظ على مفهوم القيمة ، جنبًا إلى جنب مع مفهوم الكائن (سنرى لاحقًا مقدار ما تم بناؤه على هذا في أحد أنظمة DBMS O2 الناجحة الموجهة للكائنات).



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

لا تقدم Beeri نموذجًا رسميًا كاملًا للمستوى الهيكلي OODB ، ولكنها تعبر عن ثقتها في أن المستوى الحالي من الفهم كافٍ لإضفاء الطابع الرسمي على مثل هذا النموذج. أما بالنسبة للمستوى السلوكي ، فلا يُقترح سوى نهج عام للجهاز المنطقي المطلوب لذلك (منطق المستوى الأول غير كافٍ).

من الافتراضات المهمة ، وإن لم يتم إثباتها بشكل كافٍ ، لـ Beeri أن الطبقتين التقليديتين - المخطط والبيانات - لا تكفيان لـ OODB. لتعريف OODB بدقة ، مطلوب مستوى مخطط تعريف ، يجب أن يحدد محتواه أنواع الكائنات والعلاقات المسموح بها على مستوى مخطط قاعدة البيانات. يجب أن يلعب المخطط التلوي الدور نفسه لـ OODBs كما يفعل الجزء الهيكلي من نموذج البيانات العلائقية لمخططات قواعد البيانات العلائقية.

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

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

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

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

يمكن تسمية الكائنات والقيم. ترتبط تسمية كائن أو قيمة باستمراريتها: أي كائنات أو قيم مسماة ثابتة ؛ أي كائن أو قيمة تشكل جزءًا من كائن أو قيمة مسماة أخرى دائمة.

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

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

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

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

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

في القسم التالي ، سننظر ، من بين أشياء أخرى ، في ميزات لغات البرمجة واستعلامات نظام O2 ، والتي ترتبط ارتباطًا وثيقًا بطبيعة نموذج البيانات بخصائص نموذج البيانات.

مفاهيم أساسية

التعريف 1

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

ترتبط سجلات قاعدة البيانات ووظائف المعالجة الخاصة بها بآليات مشابهة للأدوات المقابلة التي يتم تنفيذها في لغات البرمجة الموجهة للكائنات.

التعريف 2

تمثيل رسوميبنية قاعدة البيانات الموجهة للكائنات هي شجرة تمثل عقدها الكائنات.

النوع القياسي (على سبيل المثال ، سلسلة - سلسلة) أو نوع من إنشاء المستخدم ( صف دراسي) ، يصف خصائص الموضوع.

في الشكل 1 ، يكون كائن LIBRARY هو أصل كائنات مثيل DIRECT و SUBSCRIBER و REFERENCE. يمكن أن يكون للكائنات المختلفة من نوع BOOK نفس الوالدين أو مختلفين. يجب أن تحتوي الكائنات من نوع BOOK التي لها نفس الأصل على أرقام جرد مختلفة على الأقل (فريدة لكل نسخة من الكتاب) ، ولكن نفس قيم الخاصية مؤلف, لقب, أودكو isbn.

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

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

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

التعريف 3

استهداف مغلفات- قصر نطاق اسم الخاصية على حدود العنصر الذي تم تعريفه فيه.

على سبيل المثال ، إذا تمت إضافة خاصية إلى كائن الدليل الذي يعيّن رقم هاتف المؤلف ويحمل الاسم هاتف، سيتم الحصول على خصائص نفس الاسم لكائنات الدليل والمشترك. يتم تحديد معنى الخاصية من خلال الكائن الذي يتم تغليفها فيه.

التعريف 4

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

على سبيل المثال ، يمكن تعيين خصائص الكائن الأصل لجميع كائنات BOOK المنحدرة من كائن DIRECTORY: مؤلف, لقب, أودكو isbn.

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

لذا فإن الخصائص مجالو تذكرةفي كائن LIBRARY يتم توارثها بواسطة جميع الكائنات التابعة REFERENCE و BOOK و SUBSCRIBER. هذا هو السبب في أن قيم هذه الخاصية لفئتي SUBSCRIBER و OUTPUT هي نفسها - 00015 (الشكل 1).

التعريف 5

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

بمعنى آخر ، يسمح للكائنات من أنواع مختلفة أن يكون لها طرق (وظائف أو إجراءات) بنفس الأسماء.

بحثفي قاعدة البيانات الموجهة للكائنات ، يتم تحديد التشابه بين الكائن الذي يحدده المستخدم والكائنات المخزنة في قاعدة البيانات.

مزايا وعيوب النموذج الكينوني

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

ل سلبياتيتميز النموذج الموجه للكائنات بدرجة عالية من التعقيد المفاهيمي ومعالجة البيانات غير الملائمة وسرعة الاستعلام المنخفضة.

اليوم ، هذه الأنظمة منتشرة على نطاق واسع. وتشمل نظم إدارة قواعد البيانات (DBMS):

  • بوستجرس ،
  • أوريون
  • قزحية،
  • ODBJupiter ،
  • فيرسانت ،
  • الموضوعية / DB ،
  • ObjectStore ،
  • ستاتيس ،
  • جيمستون
  • G- قاعدة.

04/06/2004 سيها باجوي

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

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

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

يوجد حاليًا أكثر من 25 نظام OODB في السوق. وتشمل هذه الخدمات GemStone لـ Servio و ONTOS من Ontos و Object Design's ObjectStore وغيرها الكثير. بالإضافة إلى ذلك ، تضمنت أنظمة إدارة قواعد البيانات العلائقية التي طورتها Oracle و Microsoft و Borland و Informix أدوات موجهة للكائنات. ظهر العديد من هذه المنتجات في النصف الثاني من الثمانينيات ، واليوم ، بعد ما يقرب من عقد ونصف من التطوير ، لم تصل بعد إلى مرحلة النضج ؛ هذا هو أحد الأسباب التي جعلت السوق العالمية للتطبيقات الواقعية بطيئة في اعتماد أنظمة OODB حتى يومنا هذا. من بين OODBs الحديثة ، لا توجد أنظمة كاملة قابلة للمقارنة مع أنظمة قواعد البيانات العلائقية الحديثة. دعونا نناقش الإنجازات والمشكلات الرئيسية المرتبطة بالوضع الحالي لمكتب تنمية العمليات المالية.

نموذج OODB

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

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

كل كائن له نظام محدد معرّف فريد... يتم تجميع الكائنات التي لها نفس الخصائص والسلوك في الطبقات... يمكن أن يكون الكائن مثيلًا لفئة واحدة فقط أو عدة فئات.

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

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

مزايا نموذج OODB

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

تحديد التجريدات المخصصة

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

تُستخدم الخصائص متعددة القيم في نماذج البيانات الموجهة للكائنات للتعبير عن هياكل البيانات المعقدة. في النموذج العلائقي ، يتم تحقيق ذلك من خلال العلاقات والصلات الإضافية.

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

تصميم خفيف الوزن لبعض الروابط

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

لا حاجة لمفاتيح معرّفة من قبل المستخدم

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

مسندات المقارنة

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

  1. المساواة في الأشياء على أساس هويتها. كائنان ، S1 و S2 متساويان إذا كانا نفس الكائن (أي لهما نفس معرف الكائن).
  2. المساواة في الأشياء على أساس القيم. يمكن تحديد ذلك في تمريرين - (أ) جسمان بدائيان متساويان إذا كان لهما نفس القيمة ؛ (ب) يتساوى كائنان غير بدائيين إذا كان لهما نفس عدد الخصائص ، ولكل خاصية pi للعنصر S1 توجد خاصية pj للعنصر S2 تساوي القيمة.
  3. المساواة في الملكية على أساس القيم.
  4. المساواة في الممتلكات على أساس هويتهم.
حاجة أقل للاتصالات

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

ولكن ، كما لوحظ بالفعل ، يمكن أن يؤدي دعم تعبيرات المسار إلى تقليل الحاجة إلى الانضمام إلى الفصل بشكل كبير مقارنة بالوضع في RDB. حتى أن هناك مواقف يمكن فيها التخلص تمامًا من الحاجة إلى الصلة العلائقية. على سبيل المثال ، عندما يكون مجال سمة من الفئة A هو الفئة B ، فإن جلب معرفات الكائنات لبعض الفئات المخزنة كقيم سمات لفئة أخرى يلغي الحاجة إلى الانضمام الضمني للكائن.

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

مكاسب في الأداء

OODBs الحديثة ليست أنظمة قواعد بيانات مكتملة مقارنةً بـ OODBs الحديثة ؛ تمتلك OODBs العديد من الميزات التي توفر مكاسب في الأداء.

  1. في OODB ، قيمة سمة كائن X مجاله كائن آخر Y هي معرف الكائن Y. لذلك ، إذا كان التطبيق قد استرد الكائن X بالفعل ويريد الآن استرداد الكائن Y ، فيمكن لـ DBMS استرداد الكائن Y من خلال إيجاد معرفها. إذا كان هذا المعرف هو العنوان الفعلي لكائن ما ، فيمكن استرداد هذا الكائن مباشرة ؛ إذا كان المعرف عنوانًا منطقيًا ، فسيكون الكائن من خلال العثور على العنصر المقابل في جدول التجزئة (بافتراض أن النظام يحتفظ بجدول تجزئة يعيّن معرف الكائن إلى عنوان مادي). قد لا يكون الأمر بهذه السهولة في RDB ، لأن معرفات الكائنات غير مدعومة في RDB.
  2. الميزة الثانية لـ OODBs ، والتي توفر زيادة في الأداء ، هي أنه في معظم OODBs ، عندما يتم تحميل كائن في الذاكرة ، يتم تحويل معرفات الكائن المخزنة في هذا الكائن إلى مؤشرات من الذاكرة. نظرًا لأن معرفات الكائن لا يتم تخزينها في RDB ، فمن المستحيل تخزين المؤشرات في الذاكرة إلى مجموعات أخرى فيها. عدم القدرة على التنقل عبر الكائنات الموجودة في الذاكرة هو خاصية أساسية لـ RDB ، ولا يمكن تعويض الانخفاض الناتج في الأداء عن طريق زيادة بسيطة في مقدار ذاكرة التخزين المؤقت. لذلك عند تشغيل التطبيقات التي تتضمن تنقلًا متعددًا عبر الكائنات المرتبطة التي تم تحميلها في الذاكرة ، يمكن أن تتفوق OODBs بشكل كبير على RDBs في الأداء.
  3. بالإضافة إلى ذلك ، حتى إذا لم تتم فهرسة OODBs ، فقد يكون من الملائم تنفيذ استعلامات عشوائية تتطابق مع بنية الكائن عن طريق عمليات المسح المتسلسلة ، أي استخدام المسارات المرجعية بين الكائنات. عندما تتم صياغة طلب في اتجاه غير مدعوم بروابط ، ستتم معالجة هذا الطلب من خلال مسح تسلسلي. ومع ذلك ، فإن الاستعلامات التي تتم صياغتها على أساس علاقات الكائنات التي لم يتم تصميمها بشكل مباشر باستخدام الروابط غير فعالة.
الإصدار ودعم المعاملات طويلة الأمد

لا يدعم RDB الإصدارات أو المعاملات المطولة. يتوفر هذا الدعم في بعض OODBs ، وإن كان ذلك بقدرات محدودة.

الجبر الكائن

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

عيوب نموذج OODB

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

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

عدم وجود قابلية التشغيل البيني بين RDB و OODB

لكي يكون لـ OODBs تأثير كبير على سوق قاعدة البيانات ، يجب استيفاء عدد من الشروط.

  1. قم بتحويل OODBs إلى أنظمة قواعد بيانات كاملة ومتوافقة بشكل معقول مع RDBs. مطلوب مسار انتقال لضمان التعايش بين المنتجات الحالية والجديدة ، وكذلك الانتقال السلس من السابق إلى الأخير.
  2. تقديم أدوات تطوير التطبيقات ووسائل الوصول إلى قواعد البيانات الموجهة للكائنات.
  3. توحيد بنية RDB و OODB.
  4. توحيد نماذج بيانات RDB و OODB.
أموال غير كافية لتحسين الاستعلامات

واحدة من أهم المشاكل في OODB هي تحسين الاستعلامات التوضيحية. تحسين الاستعلامات مقابل OODBs يعوقه التعقيد الإضافي لنموذج البيانات الموجه للكائنات نفسه. هذا التعقيد الإضافي يرجع إلى عدد من العوامل.

  1. إن قدرة المستخدمين على تحديد أنواع وفئات جديدة باستخدام الوراثة تجعل من السهل والأصعب تحسين الاستعلامات. مثال حيث يمكن أن تساعد هذه الميزة في التحسين هو استعلام يتضمن تقاطع مجموعات الموظفين والمشرفين. إذا كان الموظف فئة فائقة من المشرفين ، فيمكن للمحسن أن يفترض أن المشرفين هم مجموعته الفرعية من الموظفين وتبسيط تقاطع المجموعات. أحد الأمثلة التي تحدد فيها أنواع البيانات الإضافية خيارات التحسين هو اتحاد مجموعتي الطلاب والموظفين ؛ الطبقة العليا لكلا الفئتين هي شخص. إذا أردنا العثور على جميع المشرفين على الطلاب والموظفين ، فسنقوم أولاً بالدمج ثم نستخدم المشرف ().
  2. يمكن أن تستند الاستعلامات إلى عمليات على المجموعات ، ولكن يجب دمج أنواع التحسين التي تؤثر على المجموعات (أو المجموعات المتعددة ، أو القوائم ، وما إلى ذلك) مع التحسين على أنواع الكائنات الموجودة في هذه المجموعات. يجب أن يكون مُحسِّن الاستعلام الموجه للكائنات قادرًا على تطبيق إجراءات التحسين الخاصة بهذه الأنواع ، بالإضافة إلى إجراءات التحسين التي تأخذ في الاعتبار العلاقات بين الكائنات من أنواع مختلفة.
  3. يتفاقم تعقيد معالجة الاستعلامات في OODBs من خلال وجود كائنات وأساليب وتغليفات معقدة. تنشئ الكائنات المعقدة تعبيرات المسار التي تعقد معالجة الاستعلام. يؤدي إنشاء فهارس لتعبيرات المسار ، خاصةً عند وجود طرق عشوائية في التعبيرات ، إلى تعقيد معالجة الاستعلام. تكون المشكلة أكثر تعقيدًا إذا كانت لهذه الأساليب آثار جانبية. مشكلة أخرى مع تعبيرات المسار هي أنها تفرض الترتيب الذي يتم من خلاله استدعاء طرق تعبير المسار ، ويمكن أن يكون هذا الترتيب غير فعال تمامًا. على سبيل المثال ، يتم حساب تعبير المسار Orders.part.name بشكل أفضل من اليمين إلى اليسار إذا كان هناك العديد من الطلبات (الطلبات) وأجزاء قليلة (الأجزاء) ، ولكن إذا كان هناك العديد من الأجزاء وعدد قليل من الطلبات ، فمن الأفضل حساب التعبير من اليسار إلى اليمين. بالإضافة إلى ذلك ، في بعض الأحيان يتم التعامل مع تعبيرات المسار بشكل أكثر كفاءة باستخدام Join. على سبيل المثال ، ضع في اعتبارك استعلامًا باستخدام تعبير المسار s.comp.name ، حيث ينتمي s إلى مجموعة الطلاب. قد يكون أكثر فعالية (إذا كان عدد الشركات صغيرًا) لحساب الاسم أولاً لكل شركة وتخزين النتيجة في مجموعة. بعد ذلك ، قد يتضمن تقييم التعبير من اسم الطالب إلى اسم الشركة ضم مجموعة الطلاب إلى مجموعة المجموعات عن طريق تعيين خاصية comp لفئة الطالب إلى قيمة سمة الشركة لبعض المجموعات.
  4. في لغات استعلام OODB ، يتم دعم استخدام الهياكل المتداخلة ، والتي ، مرة أخرى ، يمكن أن تعقد بشكل كبير عملية التحسين ، لأنها تحولها من مشكلة محلية إلى مشكلة عالمية ، نظرًا لأن المعرفة العالمية بتعبير الاستعلام بالكامل مطلوبة.
  5. عندما يتم التعرف على الأشياء ، فإن السؤال الذي يطرح نفسه هو المقصود بالمساواة بين شيئين. ينتقل هذا السؤال إلى لغة تُستخدم فيها مقارنات المساواة في المسندات وحيث يكون من الضروري اتخاذ قرار بشأن إنشاء كائنات جديدة عند تنفيذ استعلام. يجب أن يكون مُحسِّن النموذج الموجه للكائنات قادرًا على حل المشكلات المرتبطة بإنشاء كائنات جديدة ومع تعريفات بديلة للمساواة.

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

عدم وجود جبر الاستعلام القياسي

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

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

عدم وجود وسائل لدعم الطلبات

تفتقر معظم OODBs إلى تسهيلات دعم الاستعلام. في الأنظمة القليلة التي تحتوي على تسهيلات كافية ، لا تتوافق لغة الاستعلام مع ANSI SQL. من بين وسائل توفير الاستعلامات هذه ، لا توجد استعلامات فرعية متداخلة ، واستعلامات بمجموعات (توحيد ، تقاطع ، فرق) ، وظائف مجمعة و GROUP BY ، الانضمام إلى عدة فئات - إمكانات مدعومة بالكامل في RDB.

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

عدم وجود دعم العرض

طرق العرض غير مدعومة في OODBs. على الرغم من تقديم العديد من الاقتراحات حول هذا الأمر ، لم يتم التوصل إلى توافق في الآراء حول كيفية عمل محرك العرض التقديمي في OODB. إن تطوير محرك العرض الموجه للكائنات معقد بسبب خصائص النموذج مثل قابلية التعرف على الكائن. ما هو معرف الكائن في العرض؟ من ناحية أخرى ، يتم التعبير عن وجهة نظر مفادها أن القدرة على تغليف البيانات والميراث تسمح لك بالاستغناء عن تعريفات صريحة لوجهات النظر.

مشاكل تتعلق بالسلامة

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

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

عدم وجود دعم للتغييرات الديناميكية في تعريفات الفئات

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

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

دعم محدود لقيود النزاهة

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

خيارات ضبط الأداء المحدودة

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

دعم غير كافٍ للأشياء المعقدة

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

تكامل محدود مع أنظمة البرمجة الشيئية

من الصعب إعادة كتابة البرامج الموجهة للكائنات لإدارة البيانات المستقرة. يظهر هنا عدد من المشاكل: تعارض الأسماء ؛ الحاجة إلى إعادة التسلسل الهرمي للفئات ؛ اتجاه OODB لزيادة تحميل عمليات النظام.

مكاسب محدودة في الأداء

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

تشمل الميزات غير المدعومة في OODBs المشغلات وعناصر التحكم في البيانات الوصفية وقيود التكامل مثل UNIQUE و NULL.

***

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

المؤلفات

  1. س. أبيتبول ، أ. بونر ، "الأشياء والآراء". ACM SIGMOD Int. أسيوط. في إدارة البيانات ، 1991.
  2. أتكنسون ، وآخرون ، "بيان نظام قاعدة البيانات الكائني." بناء نظام قاعدة بيانات كائني التوجه: قصة O2. مورجان كوفمان ، 1992.
  3. F. Bancilhon ، "نظم قواعد البيانات وجوه المنحى". المركز السابع ACM SIGART / SIGMOD Conf. ، 1988.
  4. J. Banerjee ، وآخرون ، "قضايا نموذج البيانات للتطبيقات الموجهة للكائنات." ACM Trans. في نظم المعلومات المكتبية ، يناير 1987.
  5. J. Banerjee، W. Kim، K.C. كيم ، "استعلامات في قواعد البيانات الكائنية." IEEE Data Engineering Conf. ، فبراير. 1988.
  6. د. الزان ، "مؤسسة التطور والعلائقية لقواعد بيانات الكائن". بروك. تقنية قاعدة البيانات الموسعة ، مارس. 1988.
  7. إي برتينو ، إم نيجري ، جي بيلاجاتي ، إل سباتيلا ، "لغات الاستعلام الموجهة للكائنات: الفكرة والقضايا". معاملات IEEE حول المعرفة وهندسة البيانات ، Mar. 1992.
  8. أ. براون ، قواعد بيانات كائنية التوجه ، تطبيقات في هندسة البرمجيات. نيويورك: ماكجرو هيل ، 1991.
  9. ج. Cattell ، إدارة بيانات الكائن ، أنظمة قواعد البيانات العلائقية الموسعة والموجهة للكائنات. أديسون ويسلي ، 1991.
  10. م. تشيرنياك ، "النموذج (النماذج) فوق الوظيفة (الوظائف): KOLA Query Algebra." تقرير تقني ، جامعة براون ، ديسمبر. 1995.
  11. S. Cluet ، وآخرون ، "Reloop ، لغة الاستعلام القائمة على الجبر لنظام قاعدة بيانات كائني التوجه." الأول كثافة العمليات. أسيوط. في قواعد البيانات الاستنتاجية والكائنية ، ديسمبر. 1989.
  12. لو. كروز ، دودل: لغة بصرية لقواعد البيانات الشيئية. ACM SIGMOD Int. أسيوط. في إدارة البيانات ، 1992.
  13. ش. دايال ، "استعلامات ووجهات نظر في نموذج بيانات كائني التوجه." كثافة العمليات الثانية. عمل. في لغات برمجة قواعد البيانات ، يونيو 1989.
  14. ك. ديتريش ، ك. ديتريش ، "أين يجب أن تعمل نظم إدارة قواعد البيانات ذات التوجه الكينوني بشكل أفضل: نقد قائم على التجارب المبكرة." أنظمة قواعد البيانات الحديثة: Object Model، Interoperability and Beyond، ACM Press، Addison Wesley، 1995.
  15. U. Erlingsson ، "Object-Qriented Query Optimization" ، مخطوطة غير منشورة.
  16. فيجاراس ، د. ماير ، "نحو حساب التفاضل والتكامل الفعال للغات الاستعلام الكائني." ACM SIGMOD Int. أسيوط. في إدارة البيانات ، سان خوسيه ، كاليفورنيا ، مايو 1995.
  17. فيجاراس ، د. ماير ، ت. شيرد ، "تحديد محسنات الاستعلام المستندة إلى القواعد في إطار انعكاسي." 3rd كثافة العمليات. أسيوط. في قواعد البيانات الاستنتاجية والموجهة للكائنات ، فينيكس ، أريزونا ، ديسمبر. 1993.
  18. س. هيلر ، س. زدونيك ، "وجهات نظر الكائن: توسيع الرؤية". 6 كثافة العمليات. أسيوط. في هندسة البيانات ، 1990.
  19. ج. هيوز ، قواعد بيانات كائنية التوجه. نيويورك: برنتيس هول ، 1991.
  20. س. خوشفيان ، "البصيرة في قواعد البيانات الكائنية." تكنولوجيا المعلومات والبرمجيات ، أبريل. 1990.
  21. خوشفيان ، قواعد بيانات كائنية التوجه ، نيويورك: جون وايلي وأولاده ، 1993.
  22. س. خوشفيان ، جي كوبلاند ، "هوية الكائن". الأول كثافة العمليات. أسيوط. حول أنظمة البرمجة الشيئية واللغات والتطبيقات ، أكتوبر. 1986.
  23. دبليو كيم ، "مؤسسة قواعد البيانات الشيئية". MCC Tech. النائب ، ن. ACA-ST-248-88 ، أغسطس. 1988.
  24. دبليو كيم ، مقدمة لقواعد البيانات الشيئية. مطبعة معهد ماساتشوستس للتكنولوجيا ، 1991.
  25. دبليو كيم ، "أنظمة قواعد البيانات الشيئية: الوعود والواقع والمستقبل". أنظمة قواعد البيانات الحديثة: Object Model، Interoperability and Beyond، ACM Press، Addison Wesley، 1995.
  26. T.W. Leung ، وآخرون ، "نموذج بيانات أكوا والجبر". التقرير الفني CS-93-09 ، جامعة براون ، مارس. 1993.
  27. جي ميتشل ، S.B. Zdonik ، U. Dayal ، "تحسين الاستعلام الكينوني - ما هي المشكلة؟" التقرير الفني CS-91-41 ، جامعة براون ، يونيو 1991.
  28. إي. Rudensteiner ، "Multiview: منهجية لدعم وجهات النظر المتعددة في قواعد البيانات الموجهة للكائنات." 18 كثافة العمليات. أسيوط. في قواعد بيانات كبيرة جدًا ، 1992.
  29. شول ، إتش شيك ، "نموذج الكائن العلائقي". 3rd كثافة العمليات. أسيوط. في نظرية قاعدة البيانات ، LNCS ، المجلد. 470 ، Springer Verlag ، 1990.
  30. ص. Selinger ، وآخرون ، "تحديد مسار الوصول في نظام إدارة قواعد البيانات العلائقية." ACM SIGMOD Int. أسيوط. في إدارة البيانات ، 1979.
  31. M. Stefik، D.G. Bobrow ، "البرمجة الشيئية: الموضوعات والاختلافات". مجلة منظمة العفو الدولية ، يناير. 1986.
  32. M. Stonebraker ، وآخرون ، "بيان نظام قاعدة بيانات الجيل الثالث". لجنة وظيفة نظم إدارة قواعد البيانات المتقدمة ، جامعة كاليفورنيا ، بيركلي ، 1990.
  33. د. ستراوب ، إم تي. Ozsu ، "الاستعلامات ومعالجة الاستعلام في أنظمة قواعد البيانات الموجهة للكائنات." معاملات ACM على نظم المعلومات ، أكتوبر. 1990.
  34. د. ستراوب ، إم تي. Ozsu ، "إنشاء خطة التنفيذ لنموذج بيانات كائني التوجه." كثافة العمليات الثانية. أسيوط. في قواعد البيانات الاستنتاجية والكائنية ، ميونيخ ، ألمانيا ، ديسمبر. 1991.
  35. S.Y.W. Su، M. Guo، H. Lam، Association Algebra: Mathematical Foundation for Object-Oriented Data قواعد البيانات. معاملات IEEE حول المعرفة وهندسة البيانات ، أكتوبر. 1993.
  36. س. Zdonik، D. Maier، eds.، Readings in Object-Oriented Database Systems، Morgan Kauffman، 1989.
  37. س. Zdonik ، P. Wegner ، "اللغة والمنهجية لبيئات قواعد البيانات الشيئية". هاواي إنت. أسيوط. في علوم النظام ، يناير. 1986.

سيها باجوي([البريد الإلكتروني محمي]) محاضر في قسم علوم الحاسب بجامعة ويست فلوريدا. مؤلف مشارك لثلاثة كتب عن قواعد البيانات: تعلم SQL: دليل خطوة بخطوة باستخدام Oracle ، تعلم SQL: دليل خطوة بخطوة باستخدام Access (Addison Wesley) وتصميم قاعدة البيانات باستخدام مخططات علاقة الكيانات (CRC Press).

ترجم من "الإنجازات ونقاط الضعف في قواعد البيانات الكائنية المنحى" بقلم سيخا باجوي في مجلة تكنولوجيا الكائنات (JOT) ، المجلد. 2 ، لا. 4 ، يوليو - أغسطس 2003 ، الصفحات 29-41. تُرجمت إلى الروسية لـ Otkrytye Systemy بموجب إذن خاص من الناشر الأصلي. حقوق النشر JOT ، 2003. المقالة الأصلية في http://www.jot.fm/issues/issue_2003_07/column2.

من محرر الترجمة

OODB - نضج أم تراجع؟

سيرجي كوزنتسوف

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

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

تستند المقالة إلى تحليل 36 منشورًا مخصصًا لقواعد البيانات الشيئية وتم نشرها في الفترة 1986-1995. لذلك ، فإن الخاصية المستخدمة بشكل متكرر لـ OODBs "الحديثة" ليست عادلة تمامًا. الاقتباسات ، التي تُقدم أحيانًا بصيغة المضارع ، تبدو أحيانًا مشبوهة إلى حد ما.

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

أريد أن أشير إلى ميزة غريبة أخرى لمقال باغويا. حتى عام 2001 ، كان هناك اتحاد دولي لمجموعة إدارة بيانات الكائنات ، والذي نشر ثلاثة إصدارات من المقترحات لتوحيد نموذج البيانات الموجه للكائنات ؛ أحدث إصدار - تم نشر ODMG 3.0 في عام 2000. إنها الوثيقة الوحيدة التي تقدم مصطلحات متسقة نسبيًا ، وإلى حد ما ، نموذج بيانات موجه للكائنات. إنه لأمر مؤسف أن باجوي لا تستخدم هذه المواد.

لاحظ أن مجلة "DBMS" نشرت مقالاً عن الإصدار الأول من المعيار ODMG-93. يمكن العثور على نظرة عامة على معيار ODMG 3.0 في. أود أيضًا أن أوصي بترجمة بيان أنظمة قواعد البيانات الموجهة للكائنات ونظرة عامة لطيفة جدًا عن تقنية OODB.

المؤلفات

  1. معيار بيانات الكائن: ODMG 3.0. ج. كاتيل ، د. باري ، محررون ، مورجان كوفمان ، 2000.
  2. L.A. كالينيتشينكو. // DBMS ، رقم 1 ، 1996.
  3. إس د. كوزنتسوف. ثلاثة بيانات لقاعدة البيانات: بأثر رجعي ومنظور. تقرير في مؤتمر "قواعد البيانات وتكنولوجيا المعلومات في القرن الحادي والعشرين" ، موسكو ، سبتمبر 2003 ، http://www.citforum.ru/database/articles/manifests.
  4. أتكينسون وآخرون ، // DBMS ، رقم 4 ، 1995.
  5. أرك أندريف ، ديمتري بيريزكين ، رومان ساماريف. // الأنظمة المفتوحة ، العدد 3 ، 2001.

قواعد البيانات الكائنية: الإنجازات والتحديات


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

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

تين. 3. نموذج بيانات كائني التوجه

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

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

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

تُستخدم قواعد البيانات الموجهة للكائنات على نطاق واسع في مجالات مثل أنظمة التصميم / التصنيع بمساعدة الكمبيوتر (CAD / CAM) وأنظمة تطوير البرامج بمساعدة الكمبيوتر (CASE) وأنظمة إدارة المستندات المتعددة. في مناطق غير تقليدية لقواعد البيانات. من أمثلة نظم إدارة قواعد البيانات (DBMS) وجوه المنحى: POET و Jasmine و Versant و Iris و Orion.

2.2.4 نموذج البيانات العلائقية

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

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

الشكل 4. جدول قاعدة البيانات العلائقية.

كل عمود له اسمه الخاص. على سبيل المثال ، في الجدول "البضائع في المخزون" (الشكل 5.) ، تكون أسماء الحقول كما يلي: المعرف, منتج, أسم المجموعة, مجموعة, وحدة قياس, سعر الشراء, سعر البيع, توافر المخزون.

أرز. 5. جدول "البضائع في المخزن »

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

يتميز كل سجل بمفتاح تسجيل فريد من نوعين: أساسي وثانوي.

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

المفتاح الثانويهو حقل يمكن أن تتكرر قيمته في عدة سجلات للملف ، أي أنه ليس فريدًا.

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

الشكل 6. مثال باستخدام مفتاح خارجي

عادة ، تتكون قاعدة البيانات العلائقية من عدة جداول ، منذ ذلك الحين لا يمكن الجمع في جدول واحد كل المعلومات المطلوبة من قبل الموظفين (مستخدمي قاعدة البيانات) في أي مؤسسة لحل المشاكل.

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

للعمل مع قواعد البيانات العلائقية ، يتم استخدام لغة الاستعلام الهيكلية (لغة الاستعلام الهيكلية - SQL) حاليًا بشكل شائع. إنها لغة تُستخدم لإنشاء البيانات وتعديلها ومعالجتها. SQL ليست لغة برمجة حسابية. إنها لغة معلوماتية منطقية ، تقوم على الجبر العلائقي وتنقسم إلى ثلاثة أجزاء:

· عوامل تعريف البيانات.

عوامل معالجة البيانات (إدراج ، تحديد ، تحديث ، حذف) ؛

· مشغلي تعريف الوصول إلى البيانات.

في عام 1986 ، تم اعتماد SQL كمعيار ANSI (المعهد الوطني الأمريكي للمعايير) للغات قواعد البيانات العلائقية. تعتبر قاعدة البيانات هذه اليوم معيارًا لأنظمة المعلومات الحديثة.

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

مزايا النموذج العلائقي هي:

البساطة وسهولة الفهم من قبل المستخدم النهائي - الهيكل المعلوماتي الوحيد هو الجدول ؛

عند تصميم قاعدة بيانات علائقية ، يتم تطبيق قواعد صارمة تستند إلى جهاز رياضي ؛

استقلالية البيانات الكاملة. عندما يتغير الهيكل ، تكون التغييرات التي يجب إجراؤها في برامج التطبيق ضئيلة ؛

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

عيوب النموذج العلائقي هي:

سرعة وصول منخفضة نسبيًا وكمية كبيرة من الذاكرة الخارجية ؛

صعوبة فهم بنية البيانات بسبب ظهور عدد كبير من الجداول نتيجة للتصميم المنطقي ؛

ليس من الممكن دائمًا تمثيل نطاق الموضوع كمجموعة من الجداول.

قواعد البيانات العلائقية هي الأكثر انتشارًا حاليًا. تعتبر النماذج الشبكية والتسلسل الهرمي عفا عليها الزمن ، والنماذج الموجهة للكائنات لم يتم توحيدها وانتشارها بعد.