قاعدة بيانات علائقية كائنية

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

مثال على نموذج قاعدة بيانات موجه للكائنات [ 1 ]

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

ملخص

تنشأ الحاجة الأساسية لقواعد البيانات العلائقية الكائنية من حقيقة أن لكل من قواعد البيانات العلائقية وقواعد البيانات الكائنية مزاياها وعيوبها. يسمح التماثل بين نظام قاعدة البيانات العلائقية والعلاقة الرياضية باستغلال العديد من التقنيات والنظريات المفيدة من نظرية المجموعات. إلا أن هذا النوع من قواعد البيانات ليس الأمثل لبعض أنواع التطبيقات. يسمح نموذج قاعدة البيانات الكائنية بوجود حاويات مثل المجموعات والقوائم، وأنواع بيانات عشوائية يُعرّفها المستخدم، بالإضافة إلى الكائنات المتداخلة. وهذا يُحقق التشابه بين أنظمة أنواع التطبيقات وأنظمة أنواع قواعد البيانات، مما يُزيل أي مشكلة في عدم التوافق . لكن قواعد البيانات الكائنية، على عكس العلائقية، لا تُوفر أي أساس رياضي لتحليلها المُعمق. [ 2 ] [ 3 ]

يتمثل الهدف الأساسي لقواعد البيانات العلائقية الكائنية في سد الفجوة بين قواعد البيانات العلائقية وتقنيات نمذجة الكائنات المستخدمة في لغات البرمجة مثل Java و C++ و Visual Basic (.NET) و C# . مع ذلك، يُعد استخدام أنظمة قواعد البيانات العلائقية القياسية مع نوع من برامج ربط الكائنات العلائقية (ORM) بديلاً أكثر شيوعًا لتحقيق هذا الربط . فبينما ركزت منتجات RDBMS أو SQL-DBMS التقليدية على الإدارة الفعالة للبيانات المستمدة من مجموعة محدودة من أنواع البيانات (المحددة بمعايير اللغة ذات الصلة)، يسمح نظام إدارة قواعد البيانات العلائقية الكائنية لمطوري البرامج بدمج أنواعهم الخاصة والأساليب المطبقة عليها في نظام إدارة قواعد البيانات.

يتكامل نظام إدارة قواعد البيانات العلائقية (ORDBMS) (مثل ODBMS أو OODBMS ) مع لغة برمجة كائنية التوجه . وتتمثل الخصائص المميزة لنظام ORDBMS في: 1) البيانات المعقدة، 2) وراثة الأنواع، 3) سلوك الكائنات. يعتمد إنشاء البيانات المعقدة في معظم أنظمة ORDBMS القائمة على لغة SQL على تعريف المخطط الأولي عبر النوع المعرف من قبل المستخدم (UDT). يوفر التسلسل الهرمي داخل البيانات المعقدة المهيكلة خاصية إضافية، وهي وراثة الأنواع . أي أن النوع المهيكل يمكن أن يحتوي على أنواع فرعية تعيد استخدام جميع سماته وتحتوي على سمات إضافية خاصة بالنوع الفرعي. ميزة أخرى، وهي سلوك الكائنات ، تتعلق بالوصول إلى كائنات البرنامج. يجب أن تكون كائنات البرنامج هذه قابلة للتخزين والنقل لمعالجة قواعد البيانات، ولذلك تُسمى عادةً بالكائنات الدائمة . داخل قاعدة البيانات، جميع العلاقات مع كائن البرنامج الدائم هي علاقات مع مُعرّف الكائن (OID) الخاص به. يمكن معالجة كل هذه النقاط في نظام علائقي مناسب، على الرغم من أن معيار SQL وتطبيقاته تفرض قيودًا تعسفية وتعقيدًا إضافيًا [ 4 ].

في البرمجة كائنية التوجه (OOP)، يُوصف سلوك الكائن من خلال الدوال (أو الدوال الكائنية). تتميز الدوال، التي تحمل اسمًا واحدًا، بنوع مُعاملاتها ونوع الكائنات التي تُلحق بها ( توقيع الدالة ). تُطلق لغات البرمجة كائنية التوجه على هذا مبدأ تعدد الأشكال ، والذي يُعرَّف باختصار بأنه "واجهة واحدة، تطبيقات متعددة". يرتبط مبدأا الوراثة والتغليف ، وهما من مبادئ البرمجة كائنية التوجه ، بكل من الدوال والخصائص. تُعد وراثة الدوال جزءًا من وراثة الأنواع. أما التغليف في البرمجة كائنية التوجه فهو درجة وضوح مُعلنة، على سبيل المثال، من publicخلال مُعدِّلاتprivate الوصول .protected

تاريخ

نشأت أنظمة إدارة قواعد البيانات العلائقية الكائنية من أبحاث أجريت في أوائل التسعينيات. وقد وسّعت هذه الأبحاث مفاهيم قواعد البيانات العلائقية القائمة بإضافة مفاهيم الكائنات . وهدف الباحثون إلى الحفاظ على لغة استعلام تصريحية قائمة على حساب المسندات كمكون أساسي في بنية النظام. ولعلّ أبرز هذه الأبحاث مشروع Postgres (جامعة كاليفورنيا، بيركلي)، الذي انبثق عنه منتجان يعود أصلهما إلى تلك الأبحاث: Illustra و PostgreSQL .

في منتصف التسعينيات، ظهرت المنتجات التجارية الأولى. وشملت هذه المنتجات Illustra [ 5 ] (شركة Illustra Information Systems، التي استحوذت عليها شركة Informix Software ، والتي استحوذت عليها بدورها شركة International Business Machines ( IBM ))، وOmniscience (شركة Omniscience Corporation، التي استحوذت عليها شركة Oracle Corporation وأصبحت النسخة الأصلية من Oracle Lite)، وUniSQL (شركة UniSQL، التي استحوذت عليها مجموعة KCOM ). قام المطور الأوكراني روسلان زاسوخين، مؤسس شركة Paradigma Software، بتطوير وشحن الإصدار الأول من قاعدة بيانات Valentina في منتصف التسعينيات كحزمة تطوير برمجيات (SDK) بلغة C++ . وبحلول العقد التالي، أصبحت PostgreSQL قاعدة بيانات قابلة للتطبيق تجاريًا، وهي أساس للعديد من المنتجات الحالية التي تحافظ على ميزات ORDBMS الخاصة بها.

أطلق علماء الحاسوب على هذه المنتجات اسم "أنظمة إدارة قواعد البيانات العلائقية الكائنية" أو ORDBMS. [ 6 ]

تم دمج العديد من أفكار الجهود المبكرة لقواعد البيانات العلائقية الكائنية في معيار SQL:1999 عبر الأنواع المهيكلة . في الواقع، يمكن وصف أي منتج يلتزم بالجوانب الكائنية لمعيار SQL:1999 بأنه منتج لإدارة قواعد البيانات العلائقية الكائنية. على سبيل المثال، تدّعي كل من IBM Db2 و Oracle Database و Microsoft SQL Server دعم هذه التقنية، وتفعل ذلك بدرجات متفاوتة من النجاح.

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

قد تتضمن أنظمة إدارة قواعد البيانات العلائقية عادةً عبارات SQL مثل هذه:

إنشاء جدول العملاء ( Id CHAR ( 12 ) NOT NULL PRIMARY KEY , Surname VARCHAR ( 32 ) NOT NULL , FirstName VARCHAR ( 32 ) NOT NULL , DOB DATE NOT NULL # DOB: تاريخ الميلاد ); SELECT InitCap ( C . Surname ) || ', ' || InitCap ( C . FirstName ) FROM Customers C WHERE Month ( C . DOB ) = Month ( getdate ()) AND Day ( C . DOB ) = Day ( getdate ())

أحدث المعلوماتتسمح قواعد بيانات SQL بإنشاء وظائف مخصصة ، مما يسمح للاستعلام بالظهور على النحو التالي:

حدد معرف العميل ( C.Id ) من جدول العملاء ( C ) حيث يكون تاريخ ميلاد العميل ( C.DOB ) هو تاريخ اليوم ()

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

إنشاء جدول العملاء ( المعرف Cust_Id غير فارغ مفتاح أساسي ، الاسم PersonName غير فارغ ، تاريخ الميلاد DATE غير فارغ ) ؛ تحديد Formal ( C.Id ) من جدول العملاء C حيث تاريخ الميلاد ( C.DOB ) = اليوم ؛

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

استعلم عن الأحرف الأولى من اسم العائلة ( C.Surname ) أو فاصلة (,) أو الاسم الأول ( C.FirstName ) ومدينة ( A.city ) من جدول العملاء ( Customers ) مع ربطه بجدول العناوين (Addresses ) بناءً على تطابق معرف العميل ( Cust_Id ) في جدول العناوين (Customers ) مع معرف العميل (C.Id ) في جدول العناوين (Addresses ) ، حيث تكون مدينة ( A.city ) هي "نيويورك".

يظهر نفس الاستعلام في قاعدة بيانات علائقية كائنية بشكل أبسط:

SELECT Formal ( C.Name ) FROM Customers C WHERE C.address.city = " New York" -- يتم فهم الربط بواسطة قاعدة بيانات ORDB

انظر أيضاً

مراجع

  1. مسرد مصطلحات تكامل البيانات (ملف PDF) ، الولايات المتحدة: وزارة النقل، أغسطس 2001، مؤرشف من النسخة الأصلية (ملف PDF) بتاريخ 24 سبتمبر 2016 ، تم الاطلاع عليه بتاريخ 8 مارس 2014
  2. فرانك ستاجانو (1995)، مقدمة مبسطة لقواعد البيانات العلائقية وقواعد البيانات الموجهة للكائنات (PDF)
  3. نامان سوغاني (2015)، مراجعة ورقة بحثية تقنية (ملف PDF) ، مؤرشفة من الأصل (ملف PDF) بتاريخ 4 مارس 2016 ، تم الاطلاع عليها بتاريخ 5 أكتوبر 2015
  4. ديت، كريستوفر "كريس" جيه؛ داروين، هيو ، البيان الثالث
  5. ستونبريكر، مايكل مع مور، دوروثي. أنظمة إدارة قواعد البيانات العلائقية الكائنية: الموجة العظيمة التالية . دار مورغان كوفمان للنشر، 1996. ISBN 1-55860-397-2.
  6. كان هناك، في ذلك الوقت، خلاف حول ما إذا كان المصطلح قد صاغه مايكل ستونبريكر من شركة Illustra أو وون كيم من شركة UniSQL.