پایگاه داده شیء-رابطه
پایگاهداده شیء-رابطه(به انگلیسی: Object-relational database) (مخفف انگلیسی: ORDBMS) سیستم مدیریت پایگاه داده است که مانند پایگاه داده رابطهای کار میکند ولی همراه امکانات شیءگرایی.
یک RDBMS معمولاً شامل دستوراتی نظیر دستورات زیر میباشد:
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()
اما در یک پایگاه داده ORDBMS، ممکن است چیزی شبیه به این، (که توسط کاربر تعریف شده است) را مشاهده کنیم :
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;
مدل ORDBMS را میتوانید از مزیت دیگری نیز ببنید. در این نوع پایگاه داده میتوانید با استفاده از روابط بین دادهها به راحتی نسبت به جمعآوری سوابق مرتبط اقدام نمود. در یک برنامه "شناسنامه کتاب"، یک جدول اضافی میتواند به آنهایی که در بالا اضافه شده صفر آدرس یا هر تعداد آدرس را نگهداری کند؛ که با استفاده از یک RDBMS سنتی، جمعآوری اطلاعات برای هر دو کاربر و آدرس خود را نیاز به JOIN کردن است مانند مثال زیر:
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"
همان QUERY در یک مدل ORDMS به صورت سادهتر و مشابه دستور زیر صادر میشود:
SELECT Formal(C.Name) FROM Customers C WHERE C.address.city="New York" -- the linkage is 'understood' by the ORDB
منابع
https://en.m.wikipedia.org/wiki/Object-relational_databaseمشارکتکنندگان ویکیپدیا. «Object-relational database». در دانشنامهٔ ویکیپدیای انگلیسی.