DOC PREVIEW
UW CSE 444 - Object-Oriented Databases

This preview shows page 1-2-3-4 out of 13 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 13 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 13 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 13 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 13 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 13 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Object-Oriented DatabasesLimitations of the Relational ModelLanguage FitVersioningA Look BackObject-Oriented TrendsReview of OO Programming ConceptsStrict OO ViewpointHybrids and CompromisesOIDsChallenges for Query LanguagesPersistenceDeductive Databases12/1/97 P-1Object-Oriented DatabasesChapter 2212/1/97 P-2Limitations of the Relational Model•limited constraints expressible•limited types of relationships•normalization leads to atomization, inefficiency•Limited built-in datatypes–No support for multimedia types: images, video, sound, designs, texts, etc.–BLOBs (binary large objects) are one workaround12/1/97 P-3Language Fit•COBOL and DB grew up together–COBOL pioneered the "record" construct–character-based types•Poor fit to today's languages like C++12/1/97 P-4Versioning•In some applications, old versions of data must be accessible–designs (architecture, CAD, etc.)–documents–multimodule systems•Often are complex relationships between versions•Not necessarily an OO concept.12/1/97 P-5A Look Back•Before we look ahead...•Hierarchical and Network (CODASYL) models were popular before relational–Network had extremely rich semantics–Complex relationships directly expressed (no joins)–Primarily "navigational"•Custom programs locate data via knowledge of schema, following pointers•No standardized query languages12/1/97 P-6Object-Oriented Trends•Trends in OO Programming seem promising for databases–Rich, user-defined data types (support of new media, lift 1NF restriction)–Inheritance (important type of relationship)–Encapsulation of data and functions–Increasing emphasis on components and reusability; cross-platform–Tighter integration with C++12/1/97 P-7Review of OO Programming Concepts•Class: description of data structure and operations (i.e. a data type)–encapsulation: data and ops are wrapped together; only an interface is externally visible.•Object: an instance of a class•Class B inherits from class A: B has all the properties of A, plus some new or altered properties (data/functions)12/1/97 P-8Strict OO Viewpoint•Where possible: model the behavior and relationships of the real world•Everything is an object•Objects communicate only by passing messages–In practice, a message is a function name plus a set of arguments•Types can be determined at run-time•Smalltalk is the model: untyped; interpreted; interactive12/1/97 P-9Hybrids and Compromises•Example: C++–retains all features of non-OO C language, adds classes, inheritance, polymorphism•OODBs tend to be compromises–May retain relational facilities: ORDBMS–Add OO features such as: user-defined types & classes, inheritance, etc.–Add features like "persistence" and versioning–SQL3 will have OO features12/1/97 P-10OIDs•Object Identifiers (OID)•Unique (database-wide) identifier for each object–independent of key•One object can reference another via OID–Allows complex embedding12/1/97 P-11Challenges for Query Languages•DDL: coordinating PL with QL•Encapsulation issues–how much is visible?–must all operations be predefined?•Multimedia–what does "query" mean?–how to display results?12/1/97 P-12Persistence•The idea: it's easy for a program to work with a complex data structure in memory, but hard to flatten it into a file. It would be convenient if some variables were persist ent, i.e., could exist on disk between executions of the program, i.e., be part of the DB.•Not strictly on OO concept•One challenge: mapping OIDs between in-memory pointers and disk addresses–"pointer swizzling"12/1/97 P-13Deductive Databases•Another (non-OO) approach to relieving relational limitations•DB viewed as a set of facts and rules–a row can be viewed as a fact which satisfies a predicate•Logic-based languages–Datalog: DB extension of Prolog•Excellent at expressing complex constraints, making deductions and discoveries,


View Full Document

UW CSE 444 - Object-Oriented Databases

Documents in this Course
XML

XML

48 pages

SQL

SQL

25 pages

SQL

SQL

42 pages

Recovery

Recovery

30 pages

SQL

SQL

36 pages

Indexes

Indexes

35 pages

Security

Security

36 pages

Wrap-up

Wrap-up

6 pages

SQL

SQL

37 pages

More SQL

More SQL

48 pages

SQL

SQL

35 pages

XML

XML

46 pages

Triggers

Triggers

26 pages

Load more
Download Object-Oriented Databases
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Object-Oriented Databases and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Object-Oriented Databases 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?