1 / 15

Object relational database managmement systems (ORDBMS)

Object relational database managmement systems (ORDBMS). Adapted by Edel Sherratt from originals by Nigel Hardy. ORDBMS. Like a relational database management system But with classes and inheritance. Basic Idea. Extend the relational model do not throw away that strength

hazina
Download Presentation

Object relational database managmement systems (ORDBMS)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Object relational database managmement systems (ORDBMS) Adapted by Edel Sherratt from originals by Nigel Hardy

  2. ORDBMS • Like a relational database management system • But with classes and inheritance

  3. Basic Idea • Extend the relational model • do not throw away that strength • recognise that OO has additional strengths • add OO features to existing systems

  4. Some examples • Postgres • Illustra, acquired by Informix, in turn acquired by IBM • PostgreSQL • Omniscience, Omniscience corporation, acquired by Oracle, became Oracle Lite • DB2, Oracle database, Microsoft SQL Server

  5. The Important extensions • structured types for attributes • references to tuples • methods • IDs for tuples • but relations (and queries on them) remain central

  6. Structured types for attributes • As well as atomic types: int, float, char, boolean . . . • Also allow structs, sets, bags, lists, arrays . • And more complex arrangements: bags of structs • i.e. relations

  7. User defined types (UDTs) as attribute types • CREATE TYPE addrType AS (street CHAR(50),city CHAR(20) ); • CREATE TYPE student AS (name CHAR (30),sidchar(9),address addrType ); • CREATE TABLE company (name CHAR(20) PRIMARY KEY,addressaddrType ); • keys are declared as part of tables - not UDTs

  8. UDTs as table types • CREATE TABLE students OF student; • where student has three attributes • name • student_id • address • and where address is a struct of • street • city

  9. What about methods? • include declaration in the type • declare code separately CREATE TYPE student AS ( ... METHOD avgMark() RETURNS DECIMAL(5,2) ); CREATE METHOD avgMark() RETURNS DECIMAL(5,2) FOR student BEGIN ... END;

  10. What about Identity • Often hidden from user • But can be made visible • can be SYSTEM GENERATED • like an OID • can be DERIVED from the declared table key

  11. And what about data manipulation? • Essentially SQL, with programming language extensions • Some extras – for example to enable access to object identifiers

  12. Inheritance • UDTs can “extend” UDTs • all the attributes and methods of the parent • plus any that are added • tables can “extend” tables • all the attributes, keys and constraints of the parent • plus any that are added • Keywords vary

  13. Querying inheritance structures • by default, querying a parent searches all subtypes • the ONLY keyword limits it to the given table • assume Staff is UNDER Person SELECT p.name FROM Person p; SELECT p.name FROM ONLY(Person) p; SELECT s.name FROM Staff s;

  14. BLOBs and CLOBs • Large OBjects • Binary and Character • stored and retrieved • cannot take part in standard search comparisons • though CLOB can be searched for substrings • CLOBs for texts, code • BLOBs for images, sounds, video

  15. ORDBMS - conclusion • here and growing • builds on RDBMS expertise using other widely available expertise • introduces complexity and cost • it does let us handle some of the difficult applications much more easily • but how common are they • must the “traditional” applications pay the cost?

More Related