قاعدة بيانات علائقية غرضية التوجه أو تسمى إدارة قواعد بيانات علائقية غرضية التوجه، هي نظم إدارة قواعد البيانات DBMS تشابه لقاعدة البيانات العلاقيه لكن تختلف عنها بوجود نموذج قواعد البيانات كائنية التوجه : object , classes and inheritance مدعوم مباشرة من خلال مخطط قواعد البيانات ولغة الاستعلام. إضافةً لذلك كما نظم العلاقات، فهو يدعم تمديد نموذج البيانات مع نوع البيانات المخصصة وطرقها. قاعدة بيانات علائقية غرضية التوجه تقدم حل وسط بين قاعدة البيانات العلاقيه وقاعدة البيانات الموجهة للكائنات، في قاعدة البيانات علائقية غرضية التوجه المفهوم هو ان البيانات الموجودة في قواعد البيانات يتم معالجتها بشكل جماعي مع استعلامات في لغة الاستعلام. وفي الطرف الاقصى(OODBMSes) نظم إدارة البيانات الموجهة للكائنات بحيث ان قاعدة البيانات هي مخزون كائنات مستمر للبرمجيات المكتوبة بلغة البرمجة الموجهة للكائنات مع برمجة واجهة برمجة التطبيقات (API) للتخزين وإسترجاع الكائنات، كما انه الدعم المتوفر للاستعلام قليل أو أحياناً لا يوجد دعم.
نظرة عامة
تنشأ الحاجة الأساسية لقاعدة بيانات الكائنات ذات العلاقة من حقيقة أن قاعدة البيانات العلائقية والموضوعية لها مزاياها وعيوبها الفردية. إن التماثل في نظام قاعدة البيانات العلائقية مع علاقة رياضية تسمح له باستغلال العديد من التقنيات والنظريات المفيدة من النظرية المحددة. لكن هذه الأنواع من قواعد البيانات ليست مفيدة عندما تأتي هذه المسألة لتعقيد البيانات لمصدر وعدم توافق needed بين التطبيق و DBMS.
يسمح نموذج قاعدة البيانات الموجهة للكائنات بالحاويات مثل المجموعات والقوائم، وأنواع البيانات التعسفية التي يحددها المستخدم بالإضافة إلى الكائنات المتداخلة. وهذا يجلب القواسم المشتركة بين أنظمة أنواع التطبيقات وأنظمة قواعد البيانات التي تزيل أي مشكلة تتعلق بعدم تطابق المعاوقة. لكن قواعد بيانات الكائن، على عكس العلاقة العلائقية لا توفر أي قاعدة رياضية لتحليلها العميق. [2] [3]
الهدف الأساسي لقاعدة بيانات الكائن - العلائقية هو سد الفجوة بين قواعد البيانات العلائقية وتقنيات النمذجة الموجهة للكائنات المستخدمة في لغات البرمجة مثل Java أو C ++ أو Visual Basic .NET أو C #. ومع ذلك، هناك بديل أكثر شيوعًا لتحقيق مثل هذا الجسر هو استخدام أنظمة قواعد بيانات علائقية قياسية مع شكل ما من برامج رسم الخرائط ذات الصلة بالأشياء (ORM). في حين ركزت منتجات RDBMS أو SQL-DBMS التقليدية على الإدارة الفعالة للبيانات المستمدة من مجموعة محدودة من أنواع البيانات (التي تحددها المعايير اللغوية ذات الصلة) ، فإن نظام DBMS المرتبط بالأشكال يسمح لمطوري البرامج بدمج أنواعهم الخاصة والأساليب التي تنطبق عليهم في DBMS. يتكامل ORDBMS (مثل ODBMS أو OODBMS) مع لغة برمجة موجهة للكائنات. الخصائص المميزة لـ ORDBMS هي 1) البيانات المعقدة، 2) نوع الميراث، و 3) سلوك الكائن. يعتمد إنشاء البيانات المعقدة في معظم SQL ORDBMSs على تعريف المخطط الأولي عبر نوع المعرفة من قبل المستخدم (UDT). التسلسل الهرمي داخل البيانات المركبة المهيكلة يوفر خاصية إضافية، اكتب الوراثة. بمعنى، يمكن أن يكون للنوع المنظم أنواع فرعية تعيد استخدام كل سماتها وتحتوي على سمات إضافية خاصة بالنوع الفرعي. هناك ميزة أخرى، وهي سلوك الكائن، مرتبطة بالوصول إلى كائنات البرنامج. يجب أن تكون عناصر البرنامج هذه قابلة للتخزين وقابلة للنقل لمعالجة قواعد البيانات، لذلك عادة ما يتم تسميتها ككائنات ثابتة. داخل قاعدة البيانات، تكون كافة العلاقات مع كائن برنامج مستمر عبارة عن علاقات مع معرف الكائن الخاص به (OID). يمكن التعامل مع كل هذه النقاط في نظام ارتباط مناسب، على الرغم من أن معيار SQL وتطبيقاته تفرض قيودًا تعسفية وتعقيدًا إضافيًا [4] [page needed]
في البرمجة الكائنيه (OOP)، يتم وصف سلوك الكائن من خلال الطرق (وظائف الكائن). تتميز الطرق التي يتم الإشارة إليها باسم واحد بنوع المعلمات الخاصة بها ونوع الكائنات المرتبطة بها (توقيع الطريقة). تسمّى لغات OOP هذا مبدأ تعدد الأشكال، الذي يُعرّف لفترة وجيزة بأنه "واجهة واحدة، العديد من التطبيقات". ترتبط مبادئ OOP الأخرى، و الميراث والتغليف ، بالطرق والسمات. يتم تضمين توريث الطريقة في توريث النوع. التغليف في OOP هو درجة الوضوح المعلنة، على سبيل المثال، من خلال معدّلات الوصول العامة والخاصة والمحمية.
لمحة تاريخيه
نظم إدارة قواعد البيانات العلاقات الكائنيه ازدهر بسبب البحث الذي تم في بداية 1990 البحث وسع مبدأ قواعد البيانات العلاقيه بإضافة مبدأ الكائنات. يهدف الباحثون إلى الاحتفاظ بلغة استعلام تصريحي تعتمد على حساب التفاضل والتكامل كمركب أساسي في الهندسة المعمارية. من المحتمل أن يكون المشروع البحثي الأبرز، Postgres (UC Berkeley) ، أنتج منتجين يتتبعان سلالتهما إلى هذا البحث: Illustra و PostgreSQL. في منتصف التسعينيات، ظهرت منتجات تجارية مبكرة. تضمنت هذه الأمثلة Illustra [1] (شركة Illustra Information Systems ، التي حصلت عليها Informix Software ، والتي حصلت بدورها على IBM) ، Omniscience (Omniscience Corporation ، التي حصلت عليها شركة Oracle وأصبحت Oracle Lite الأصلية) ، و UniSQL (UniSQL، Inc. حصل عليها KCOMS). طور المطور الأوكراني رسلان زاسوخين، مؤسس شركة Paradigma Software Inc. ، وشحن النسخة الأولى من قاعدة بيانات فالنتينا في منتصف التسعينات باسم C ++ SDK. بحلول العقد القادم، أصبحت PostgreSQL قاعدة بيانات قابلة للتطبيق تجارياً، وهي أساس للعديد من المنتجات الحالية التي تحافظ على ميزات ORDBMS الخاصة بها. وقد اشار بعض علماء الكمبيوتر على ان هذه المنتجات تعتبر "أنظمة إدارة قواعد البيانات ذات الصلة بالأشياء" أو ORDBMSs. [2] العديد من الافكار المتعلقة بقاعدة البيانات المرتبطة بالكيمياء المبكرة قد أصبحت مدمجة إلى حد كبير في SQL: 1999 عبر أنواع منظمة. في الواقع، يمكن وصف أي منتج يتقيد بالجوانب الموجهة للكائنات في SQL: 1999 كمنتج إدارة قاعدة بيانات الكائنات. على سبيل المثال، تقوم DB2 ، و قاعدة بيانات Oracle ، و Microsoft SQL Server في IBM بتقديم المطالبات لدعم هذه التقنية وتقوم بذلك بدرجات متفاوتة من النجاح.
مقارنة مع RDBMS
نظم إدارة البيانات العلاقية عادةً يتضمن تقرير (SQL) :
CREATE TABLE Customers ( Id CHAR(12) NOT NULL PRIMARY KEY, Surname VARCHAR(32) NOT NULL, FirstName VARCHAR(32) NOT NULL, DOB DATE NOT NULL ); SELECT InitCap(Surname) || ', ' || InitCap(FirstName) FROM Customers WHERE Month(DOB) = Month(getdate()) AND Day(DOB) = Day(getdate())
تسمح معظم قواعد بيانات SQL الحالية بصياغة الدالات المخصصة، مما يسمح بظهور الاستعلام على النحو التالي:
SELECT Formal(Id) FROM Customers WHERE Birthday(DOB) = Today()
في قاعدة بيانات الكائنات المترابطة، قد يرى المرء شيئًا من هذا القبيل، مع أنواع بيانات محددة من المستخدم وتعبيرات مثل BirthDay ():
CREATE TABLE Customers ( Id Cust_Id NOT NULL PRIMARY KEY, Name PersonName NOT NULL, DOB DATE NOT NULL ); SELECT Formal( C.Id ) FROM Customers C WHERE BirthDay ( C.DOB ) = TODAY;
يمكن أن يوفر نموذج العلاقات الموضوعية ميزة أخرى من حيث أن قاعدة البيانات يمكنها الاستفادة من العلاقات بين البيانات لتجميع السجلات ذات الصلة بسهولة. في تطبيق دفتر العناوين ، سيتم إضافة جدول إضافي إلى تلك المذكورة أعلاه لعقد عناوين صفر أو أكثر لكل عميل. باستخدام RDBMS التقليدية، يتطلب جمع المعلومات لكل من المستخدم وعنوانه "الانضمام":
SELECT InitCap(C.Surname) || ', ' || InitCap(C.FirstName), A.city FROM Customers C join Addresses A ON A.Cust_Id=C.Id -- the join WHERE A.city="New York"
يظهر نفس الاستعلام في قاعدة بيانات الكائنات العلاقية بشكل أكثر بساطة:
SELECT Formal( C.Name ) FROM Customers C WHERE C.address.city="New York" -- the linkage is 'understood' by the ORDB
مقالات ذات صلة
- إس كيو إل
- مقارنة بين نظم إدارة قواعد البيانات ذات الصلة الكائن*نوع منظم
- قاعدة بيانات الكائن
- رسم الخرائط العلائقية للكائنات*نموذج علائقي
- LINQ
- ADO.NET Entity Framework
المراجع
- معجم دمج البيانات (PDF) ، الولايات المتحدة: وزارة النقل، أغسطس 2001
- فرانك ستاجانو (1995) ، مقدمة لطيفة لقواعد البيانات العلائقية والموضوعية (PDF)
- نعمان سوغاني (2015) ، مراجعة ورقة تقنية (PDF)
- التاريخ، كريستوفر "كريس" ؛ داروين، هيو، البيان الثالث
- Stonebraker ،. مايكل مع مور، دوروثي. كائنات DBMS ذات العلاقة: الموجة العظيمة التالية. Morgan Kaufmann Publishers، 1996. .
- كان هناك، في ذلك الوقت، نزاع ما إذا كان المصطلح قد صاغه مايكل ستونبراكر من Illustra أو وون كيم من UniSQL.
الروابط الخارجية
- Savushkin, Sergey (2003), A Point of View on ORDBMS, مؤرشف من الأصل في 14 أبريل 2017,21 يوليو 2012 .
- JPA Performance Benchmark, مؤرشف من الأصل في 18 مايو 2019 — comparison of Java JPA ORM Products (Hibernate, EclipseLink, OpenJPA, DataNucleus).
- PolePosition Benchmark, مؤرشف من الأصل في 28 مايو 2019 — shows the performance trade-offs for solutions in the object-relational impedance mismatch context.