









Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Community
Ask the community for help and clear up your study doubts
Discover the best universities in your country according to Docsity users
Free resources
Download our free guides on studying techniques, anxiety management strategies, and thesis advice from Docsity tutors
Various extensions to the relational model, including object-oriented (oo) models, complex object models, and more expressive query languages. The extensions aim to simplify data modeling by allowing non-atomic objects as values of attributes and sets as attribute values. They also enhance expressive power by enabling transitive closure, iteration and recursion, and second-order quantification. Topics such as oo/complex object/n1nf model, reification, records, sets, transitive closure, nesting and unnesting, and constraint extensions.
Typology: Slides
1 / 17
This page cannot be seen from the preview
Don't miss anything!
David Toman School of Computer ScienceUniversity of Waterloo Introduction to Databases CS
1 To simplify • Data Modeling representing complex values conveniently )records/sets/... as first-class citizens
Allow non-atomic objects as values of attributes. Records
Structure Data: Classes C = fA 1 : C 1 ; : : : ; Ak : Ck g
Emp = { name: String, salary: Int, dept: Dept } Dept = { name: String, boss: Emp } Query Extensions:
SELECT e.name, e.dept.boss.name FROMWHERE Empe.dept = d, e.salary > e.dept.boss.salary e, Dept d
Are Tuples Objects themselves?
how are sets created?
What’s the problem with Powerset? ) too many new objects! Nesting/Unnesting
Only allow construction of sets for which we can create a name fromvalues we already have in the database. ) just like the GROUP BY clause.
Queries over flat databases are equivalent to flat queries.
Can we have some middle ground (PTIME)?
Allow inductive definitions of relations of the form
tc tc((xx ;; yy)) EE ((xx ;; yz )); tc(z ; y)
The inductive definition must provide a monotone functional We cannot use general negation
The framework only works for set semantics. In SQL it breaks when:
Extensions allow:
Understanding why things work depends on understanding LOGICAL FOUNDATIONS Also helps with understanding properties,...