پایگاه داده شیء-رابطه

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو
نمونه مدل پایگاه‌داده شیء-رابطه

پایگاه‌داده شیء-رابطه(به انگلیسی: 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»، ویکی‌پدیای انگلیسی، دانشنامهٔ آزاد.