Download presentation
Presentation is loading. Please wait.
Published byPamela Stevenson Modified over 8 years ago
1
Completeness Criteria for Object- Relational Database Systems by Won Kim April 2002 Sang Ho Lee School of Computing, Soongsil University shlee@computing.ssu.ac.kr
2
2 The purpose of this paper is to propose a practical metric for object-relational completeness, so it may serve as a reference for determining whether a product is an ORDB, and for determining the degree of completeness of the product Seven major categories Each category consists of “primary” and “secondary” capabilities
3
3 Data Model - primary (1) Classes, instances, atomic attributes A class is a table in an RDB with Methods Set-valued attributes Attributes whose domains may include references to classes Abstract data type OID per instance An instance has a unique and immutable identifier, OID Encapsulation The user may write a method and attach it to a class
4
4 Data Model – primary (2) Inheritance Multiple inheritance of attributes, methods, integrity constraints on attributes name-conflict resolution (not prevention) Arbitrary domain Alphanumeric type Abstract data types (ADTs) Class reference Class reference as domain of an attribute OID-based object references Expedite an navigational access in a nested object Set-valued attributes May be a set, a multiset, or a sequence
5
5 Data Model – primary (3) OID references Single OIDs Set of OIDs
6
6 Data Model - secondary Free-floating functions These do not belong to any particular class, as such are not inherited Built-in functions, user-definable functions, stored procedures Inheritance hierarchy of a classes as domain Set-inclusion semantics associated with an inheritance hierarchy One of the fundamentals of the OO paradigm Class attribute, class method Example: aggregate properties of all instances of a class (e.g. average weight of all Automobile instances) Meta-class, meta-meta-class, …
7
7 Query Language – primary (1) An ORDB must support an SQL-like and its API (function calls) SQL-92 support Entry level Advance level Query involving nested objects A query construct known as “path expression” is necessary Query involving set-valued attributes Query involving methods/functions in search predicates Query involving an ADT
8
8 Query Language – primary (2) Views A view is a subset of a database that satisfies user- defined query conditions Full RDB views Oid-based fetch Access objects by OIDs An capability to successively “fetch next” objects
9
9 Query Language – secondary Query involving an inheritance hierarchy All instances of a class or all instances of an inheritance hierarchy rooted at that class Views An ORDB should not allow a view in the inheritance hierarchy of classes Inheritance hierarchy of views The user should construct an inheritance hierarchy of views, separate from an inheritance hierarchy of classes View reference as domain of an attribute
10
10 Computational Model Workspace memory control Lock caching Automatic garbage collection Object swapping Query processing involving updated objects in the workspace Support for dynamic schema changes on objects in the workspace Pointer swizzling Conversion of the storage format of objects between the database format and the memory format An ORDB should support both facilities
11
11 Database Tools (1) Important object modeling capabilities include set-valued attributes, ADTs, nested objects Pre-compiler for OO SQL Database administration tool Full RDB tool capabilities Query generator/result viewer Full RDB tool capabilities Generating and viewing OO queries
12
12 Database Tools (2) Schema designer/editor Full RDB tool capabilities OO extensions (class as domain of an attribute, inheritance hierarchy of classes, methods, free- floating user-definable functions, set-valued attributes) GUI application development tool Full RDB tool capabilities OO extensions (set-valued attributes, OID references)
13
13 Performance - primary It must be comparable (within 20%) to that of a major RDB in executing pure relational operations against a pure RDB It must be comparable (within 20%) to that of an OODB in executing OID-based navigational access in a database and in executing pointer-based navigational access in memory It must be satisfactory to the users in performing database access involving object extensions to SQL (path expression, set, ADT, method, user functions, inheritance hierarchy)
14
14 Mission-Critical Database Services – primary (1) Automatic query optimization and query processing Full optimization of RDB queries Optimization of OO queries Query with path expressions Query with retrieves set-valued attributes Query with methods Query with user-definable free-floating functions Query that retrieves ADT-valued functions Query that retrieves instances from an inheritance hierarchy of classes
15
15 Mission-Critical Database Services – primary (2) Indexing (create index, drop index, multi- attribute index, concurrency control, recovery) Full RDB indexing Indexing for OO queries Query with path expressions Query that retrieves set-valued attributes Query that retrieves ADT-valued attributes Query that retrieves instances from an inheritance hierarchy of classes Concurrency control Full RDB concurrency control Object-level locking Concurrency control for dynamic schema changes Concurrency control for queries and updates involving an inheritance hierarchy of classes
16
16 Mission-Critical Database Services – primary (3) Authorization Full RDB authorization Object-level authorization Authorization on methods Authorization on free-floating user-definable functions Triggers Full RDB triggers Stored procedures
17
17 Mission-Critical Database Services – primary (4) Dynamic schema evolution Full RDB schema changes Add/drop methods to a class Add/drop a superclass to a class Add/drop class methods Add/drop class attributes
18
18 Mission-Critical Database Services- secondary Security Full RDB security Security on OO extensions Methods and free-floating user-definable functions Inheritance hierarchy of classes OID access Workspace object access Set-valued attribute access ADT-valued attribute access Replicate service
19
19 Harnessing the Power Data type extensibility Function library for each specific non-alphanumeric type of data of interest to customers Data unification Automatic distributed query optimization and processing Automatic distributed transaction processing Facilities for homogenizing schema differences in local databases Gateway for local database systems
20
20 Discussion Now what do you think about his view?
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.