Title: RDB%20
1RDB OODB - ORDB Comparison
2RDB whats 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)
3Advantages of Adding OO
- Richer Data Types
- Simplify DB design
- Simplify query specification
- Reusability of code (more natural to OO
programmer) - No impedance mismatch
4ORDB OODB Similarities
- Similar OO type system ambitions
- Objects/OIDs
- Methods
- ADTs
- Constructed types
- Inheritance
- Object-QL
5ORDB OODB
ADT
methods
QL
6ORDB OODB
ADT Optional / mixed (also key) Uniformally enforced
Methods
QL
7ORDB OODB
ADT Optional / mixed (also key) Uniformally enforced
Methods Externally def. methods register executables One pure OO language Seamless with PL
QL
8ORDB OODB
ADT Optional / mixed (also key) Uniformally enforced
Methods Externally def. methods register executables One pure OO language Seamless with PL
QL SQL3 moving target ODMG OQL stable
SQL3 300 pages OQL 3 pages
SQL3 one standard? OQL binding with different PL models
9ORDB OODB
Types/ type constructors
Types equal citizens?
References?
10ORDB OODB
Types/ type constructors Row special data type (superset of relation) Many type constructors
Types equal citizens?
References?
11ORDB OODB
Types/ type constructors Row special data type (superset of relation) Many type constructors
Types equal citizens? Results are tables again Any container data type
References?
12ORDB OODB
Types/ type constructors Row special data type (superset of relation) Many type constructors
Types equal citizens? Results are tables again Any container data type
References? Foreign keys restricted to one table scope OID references hard to support dangling pointers
13ORDB OODB
DB design
Classes of applications targeted
14ORDB OODB
DB design Design ER diagram ? Directly use OMT, or OO design tools
Classes of applications targeted
15ORDB OODB
DB design Design ER diagram ? Directly use OMT, or OO design tools
Classes of applications targeted Target many small objects (disk in/out) disk intensiveshort transactions Target large complex objects (long in memory) long transactions, client-side caching
16ORDB Extra Goodies
- DBMS features inherited from RDB into ORDB
- Constraints
- Views
- Triggers
- Priviledges (security)