RDB – OODB - ORDB Comparison
RDB – what’s good ? – Simple data model (but less versatile) – Simpler for user to learn (OO programmer?) – Easier to optimize (for simple access?) – Strong market-share (inertia of change)
Advantages of Adding OO Richer Data Types Simplify DB design Simplify query specification Reusability of code (more natural to OO programmer) No impedance mismatch
ORDB – OODB Similarities Similar OO type system ambitions: Objects/OIDs Methods ADTs Constructed types Inheritance Object-QL
ORDBOODB ADT methods QL
ORDBOODB ADT Optional / mixed (also key) Uniformally enforced Methods QL
ORDBOODB ADT Optional / mixed (also key) Uniformally enforced Methods Externally def. methods; register executables One pure OO language; Seamless with PL QL
ORDBOODB ADT Optional / mixed (also key) Uniformally enforced Methods Externally def. methods; register executables One pure OO language; Seamless with PL QL SQL3 moving targetODMG OQL stable SQL3 : 300 pagesOQL : 3 pages SQL3 : one standard?OQL: binding with different PL models
ORDBOODB Types/ type constru ctors Types equal citizens ? Referen ces?
ORDBOODB Types/ type constru ctors Row = special data type (superset of relation) Many type constructors Types equal citizens ? Referen ces?
ORDBOODB Types/ type constru ctors Row = special data type (superset of relation) Many type constructors Types equal citizens ? Results are tables again Any container data type Referen ces?
ORDBOODB Types/ type constru ctors Row = special data type (superset of relation) Many type constructors Types equal citizens ? Results are tables again Any container data type Referen ces? Foreign keys : restricted to one table scope OID references : hard to support; dangling pointers
ORDBOODB DB design Classes of applications targeted
ORDBOODB DB design Design : ER diagram ? Directly use OMT, or OO design tools Classes of applications targeted
ORDBOODB DB design Design : ER diagram ? Directly use OMT, or OO design tools Classes of applications targeted Target many small objects (disk in/out); disk intensive;short transactions; Target large complex objects (long in memory); long transactions, client-side caching
DBMS features inherited from RDB into ORDB : Constraints Views Triggers Priviledges (security) ORDB Extra Goodies