Lecture 15: Midterm Review

Slides:



Advertisements
Similar presentations
XQuery How to handle databases with the XML standard? Peter van Keeken Industrial trainee, Evitech 4 th period 2002.
Advertisements

XML: Extensible Markup Language
XML May 3 rd, XQuery Based on Quilt (which is based on XML-QL) Check out the W3C web site for the latest. XML Query data model –Ordered !
Review for Final Exam Lecture Week 14. Problems on Functional Dependencies and Normal Forms.
Agenda from now on Done: SQL, views, transactions, conceptual modeling, E/R, relational algebra. Starting: XML To do: the database engine: –Storage –Query.
Querying XML (cont.). Comments on XPath? What’s good about it? What can’t it do that you want it to do? How does it compare, say, to SQL?
1 Lecture 10 XML Wednesday, October 18, XML Outline XML (4.6, 4.7) –Syntax –Semistructured data –DTDs.
1 Lecture 10: Database Design XML Wednesday, October 20, 2004.
1 Lecture 12: XQuery in SQL Server Monday, October 23, 2006.
1 Managing XML and Semistructured Data Part 1: Preliminaries, Motivation and Overview Acknowledgement: Part of the materials in this set of XML slides.
1 Lecture 4 XML/Xpath/XQuery Tuesday, January 30, 2007.
XML –Query Languages, Extracting from Relational Databases ADVANCED DATABASES Khawaja Mohiuddin Assistant Professor Department of Computer Sciences Bahria.
End of SQL XML April 22 th, Null Values If x=Null then 4*(3-x)/7 is still NULL If x=Null then x=“Joe” is UNKNOWN Three boolean values: –FALSE =
1 Lecture 12: XML Publishing, XML Storage Monday, October 24, 2005.
4/20/2017.
End of XML February 19 th, FLWR (“Flower”) Expressions FOR... LET... WHERE... RETURN... FOR... LET... WHERE... RETURN...
28 October 2008CIS 340 # 1 Topics To define XML as a technology To place XML in the context of system architectures Online support:
Lecture 5: XML Tuesday, January 16, Outline XML, DTDs (Data on the Web, 3.1) Semistructured data in XML (3.2) Exporting Relational Data in XML (8.3.1)
1 Final Review Tuesday, March 6, The Final Date: Tuesday, March 13, 2007 Time: 6:30 - 8:30 Room: EE 037 You must come to campus Open book exam.
Submitted To: Ms. Poonam Saini, Asst. Prof., NITTTR Submitted By: Rohit Handa ME (Modular) CSE 2011 Batch.
XML May 6th, Instructor AnHai Doan Brief bio –high school in Vietnam & undergrad in Hungary –M.S. at Wisconsin –Ph.D. at Washington under Alon &
1 CSE544 XML, XQuery Wednesday, April 5, Announcements Project Ideas are posted (to discuss in class) Groups due today Proposals due Monday Two.
1 Lecture 9: Database Design Wednesday, January 25, 2006.
Formal definition of a key A key is a set of attributes A 1,..., A n such that for any other attribute B: A 1,..., A n  B A minimal key is a set of attributes.
1 CSE544 XML, XQuery Monday+Wednesday, April 11+13, 2004.
1 CS122A: Introduction to Data Management Lecture #15: Physical DB Design Instructor: Chen Li.
Lecture 11: Functional Dependencies
XML to Relational Database Mapping
XML: Extensible Markup Language
CS411 Database Systems 08: Midterm Review Kazuhiro Minami 1.
Database Processing with XML
Relational Algebra Chapter 4, Part A
Relational Algebra 461 The slides for this text are organized into chapters. This lecture covers relational algebra, from Chapter 4. The relational calculus.
Managing XML and Semistructured Data
Relational Algebra 1.
Functional Dependencies and Normalization
Lecture 11 XML Wednesday, Oct. 24, 2001.
Relational Algebra Chapter 4, Sections 4.1 – 4.2
Lecture 06 Data Modeling: E/R Diagrams
eXtensible Markup Language (XML)
Lecture 09: Functional Dependencies, Database Design
Introduction to Database Systems CSE 444 Lecture 23: Final Review
Lecture 12: XML, XPath, XQuery
MIS2502: Data Analytics Relational Data Modeling
Semi-Structured data (XML Data MODEL)
Introduction to Database Systems CSE 444 Lecture 12 More Xquery and Xquery in SQL Server April 25, 2008.
Lecture 8: Database Design
Lecture 07: E/R Diagrams and Functional Dependencies
2/18/2019.
Lecture 9: XML Monday, October 17, 2005.
Lecture 30: Final Review Wednesday, December 6, 2000.
Lecture 5: The Relational Data Model
Wednesday, May 29, 2002 XML Storage Final Review
Lecture 8: XML Data Wednesday, October
Lecture 24: Final Review Friday, March 10, 2006.
Lecture 30: Final Review Wednesday, December 10, 2003.
MIS2502: Data Analytics Relational Data Modeling 2
CSE591: Data Mining by H. Liu
Introduction to Database Systems CSE 444 Lecture 23: Final Review
Wednesday, May 22, 2002 XML Publishing, Storage
Lecture 08: E/R Diagrams and Functional Dependencies
Introduction to Database Systems CSE 444 Lecture 10 XML
Final Review Friday, December 8, 2006.
Lecture 12: XQuery in SQL Server
Introduction to Database Systems CSE 444 Lecture 12 Xquery in SQL Server October 22, 2007.
Lecture 6: Functional Dependencies
Lecture 11: XML and Semistructured Data
Lecture 14: XML Publishing & Storage Midterm Review
Lecture 13: XQuery XML Publishing, XML Storage
Lecture 29: Final Review Wednesday, December 11, 2002.
Presentation transcript:

Lecture 15: Midterm Review Friday, October 31, 2003

XML Storage Most often the XML data is small E.g. a SOAP message Parsed directly into the application (DOM API) Sometimes XML data is large need to store/process it in a database The XML storage problem: How do we choose the schema of the database ?

XML Storage Three solutions: Schema derived from DTD Storing XML as a graph: “Edge relation” Store it as a BLOB Simple, boring, inefficient Won’t discuss in class

Designing a Schema from DTD Design a relational schema for: <!DOCTYPE company [ <!ELEMENT company ((person|product)*)> <!ELEMENT person (ssn, name, office?, phone*)> <!ELEMENT ssn (#PCDATA)> <!ELEMENT name (#PCDATA)> <!ELEMENT office (#PCDATA)> <!ELEMENT phone (#PCDATA)> <!ELEMENT product (pid, name, ((price,availability)|description))> <!ELEMENT pid (#PCDATA)> <!ELEMENT description (#PCDATA)> ]>

Designing a Schema from DTD First, construct the DTD graph: company * We ignore the order * person product * ssn name office phone pid price avail. descr.

Designing a Schema from DTD Next, design the relational schema, using common sense. company * * person product * ssn name office phone pid price avail. descr. Person(ssn, name, office) Phone(ssn, phone) Product(pid, name, price, avail., descr.) Which attributes may be NULL ? (Look at the DTD)

Designing a Schema from DTD What happens to queries: FOR $x IN /company/product[description] RETURN <answer> { $x/name, $x/description } </answer> SELECT Product.name, Product.description FROM Product WHERE Product.description IS NOT NULL

Storing XML as a Graph Sometimes we don’t have a DTD: How can we store the XML data ? Every XML instance is a tree Store the edges in an Edge table Store the #PCDATA in a Value table

Can be ANY XML data (don’t know DTD) Storing XML as a Graph Can be ANY XML data (don’t know DTD) db book publisher title author state “Complete Guide to DB2” “Chamberlin” “Transaction Processing” “Bernstein” “Newcomer” “Morgan Kaufman” “CA” 1 2 3 4 5 6 7 8 9 10 11 Edge Source Tag Dest db 1 book 2 title 3 author 4 5 6 7 . . . Value Source Val 3 Complete guide . . . 4 Chamberlin 6 . . .

Storing XML as a Graph FOR $x IN /db/book[author/text()=“Chamberlin”] What happens to queries: FOR $x IN /db/book[author/text()=“Chamberlin”] RETURN $x/title xdb xbook xauthor xtitle vauthor vtitle db book author title “Chamberlin” Return value

Storing XML as a Graph What happens to queries: A 6-way join !!! SELECT vtitle.value FROM Edge xdb, Edge xbook, Edge xauthor, Edge xtitle, Value vauthor, Value vtitle WHERE xdb.source = 0 and xdb.tag = ‘db’ and xdb.dest = xbook.source and xbook.tag = ‘book’ and xbook.dest = xauthor.source and xauthor.tag = ‘author’ and xbook.dest = xtitle.source and xtitle.tag = ‘title’ and xauthor.dest = vauthor.source and vauthor.value = ‘Chamberlin” and xtitle.dest = vtitle.source

Storing XML as a Graph Edge relation summary: Same relational schema for every XML document: Edge(Source, Tag, Dest) Value(Source, Val) Generic: works for every XML instance But inefficient: Repeat tags multiple times Need many joins to reconstruct data

Other XML Topics Name spaces XML API: XML languages: XML Schema DOM = “Document Object Model” XML languages: XSLT XML Schema Xlink, XPointer SOAP Available from www.w3.org (but don’t spend rest of your life reading those standards !)

Research on XML Data Management at UW Processing: Query languages (XML-QL, a precursor of XQuery) Tukwila XML updates XML publishing/storage SilkRoute: silkroute.sourceforge.net STORED XML tools XML Compressor: Xmill XML Toolkit (xsort, xagg, xgrep, xtransf, etc): xmltk.sourceforge.net Theory: Typechecking Xpath, Xquery containment

The Midterm Four questions: SQL E/R Schema design (BCNF/3NF) XML

The Midterm Open book exam (books,/notebooks,/lectures) No retakes But no computers No retakes Your score: Max(midterm-score,100 – 1.2(100 – final-score) No retakes on final: you *must* take it on Dec. 12

1. SQL Selection/project/join Understand well duplicates Aggregate queries avoid nested queries when a GROUP BY suffices Nested queries More difficult: ANY, ALL, NOT IN Updates, table creations, views

2. E/R Diagrams One/many v.s. many/many relationships Inheritance Translation to relations Remember: no table for one/many !

3. Schema Design What does AB  CD mean ? Compute {AB}+ Compute all keys Decompose in BCNF or 3NF

4. XML XML: XPath XQuery Basic principles in publishing/storing data Basic syntax: elements + attributes DTDs: elements only The tree model Canonical XML view of a relation (<row>...) XPath XQuery Basic principles in publishing/storing data

Final Thoughts Open book Some question(s) may be hard(er) But read the book before the exam Some question(s) may be hard(er) Answer first the questions that are easier The answers should not be very complex

Exercises ABC, CD, DB, DE Decompose in BCNF General strategy: find X s.t.: X  X+  all attributes

BCNF Try AB+ = ABCDE nope… Try C+ = CDBE yep… decompose CDBE, CA ABC, CD, DB, DE BCNF Try AB+ = ABCDE nope… Try C+ = CDBE yep… decompose CDBE, CA Continue in CDBE: try D+ = DBE yep… decompose DBE, DC Continue in DBE: try D+ = DE yep… decompose DE, DB Answer: CA, DC, DE, DB Notice: AB is a key, but A and B are separated. Cleary 3NF differs

3NF ABC, CD, DB, DE Minimal keys: AB, AC, AD Try C+ = CDBE yes, BUT: D,B part of keys so decompose on C E only: CE, CABD Continue in CABD Try A+ = A nope… Try B+ = B nope… Try AB+ = ABCD nope… Try C+ = CDB yes, but B, D part of keys Try D+ = DB again B part of a key Try others… nope. Answer: CE, CABD. Notice: DE, DABC also OK