90 likes | 215 Views
Object and o bject-relational databases. Fall 2011. What’s wrong with relational databases?. No collection types No user-defined types No object-IDs (no object identity and so no object semantics) therefore: only v alue semantics Impedance mismatch No subtypes
E N D
Object and object-relational databases Fall 2011
What’s wrong with relational databases? • No collection types • No user-defined types • No object-IDs (no object identity and so no object semantics) • therefore: only value semantics • Impedance mismatch • No subtypes • No large or unstructured attributes
Why object-oriented? • Multiple reasons…. • Better data types • Avoid impedance problems • Object semantics • Single language – a “persistent” language
So, a new approach • A persistent programming language • maybe with selective persistence • A uniform application and database data structuring approach • Advanced and augmentable data types • Able to server more application domains • engineering? • medicine and science and geographic applications • more complex transactions run less often on smaller “tables” • business logic - moves the protection of the database upward • long term decision making?
What is an object? • Page 524 – an (OID, value) • Primitive values • Reference values • Tuple values • Set values • Plus subtyping • Plus method encapsulation • Plus augment object-oriented language with SQL-like capabilities • need path expressions
Problems with o-o databases • Cost of pulling entire objects into memory • Temptation to create large and complex objects • Difficulty in isolating SQL-like operations to optimize them • No upward compatibility • ** Didn’t actually increase applicability of database technology • no sophisticated complaints • no analytical operations • no advanced media like images, video, audio, graphics, and xml documents • no text objects or text searching • no notion of time or versions • no way to separate large volume, simple types from small types that have complex structure
Object-relational databases • Relational venders didn’t want to get blown out like H/N database venders • Objects “from the bottom up” • set valued and array valued domains • user defined types • Subtypes • Still uses two languages • Bimodel data model: • tupes • objects • see page 530
Interesting facts • Extensions are not widely used • User defined types are perhaps the most popular adaption • Newer extensions for xml, image, video, audio, and graphics data are very popular