XML Constraints Constraints are a fundamental part of the semantics of the data; XML may not come with a DTD/type – thus constraints are often the only.

Slides:



Advertisements
Similar presentations
Database Management Systems, R. Ramakrishnan and J. Gehrke1 The Relational Model Chapter 3.
Advertisements

XML, XML Schema, Xpath and XQuery Slides collated from various sources, many from Dan Suciu at Univ. of Washington.
1 DTD (Document Type Definition) Imposing Structure on XML Documents (W3Schools on DTDs)W3Schools on DTDs.
1 XML Data Management 2. XML Syntax Werner Nutt. 2 HTML Designed for publishing hypertext on the Web Describes how a browser should arrange text, images,
Data Modeling using XML Schemas Murali Mani Extreme 2002.
The Relational Model Class 2 Book Chapter 3 Relational Data Model Relational Query Language (DDL + DML) Integrity Constraints (IC) (From ER to Relational)
1 XEM: Managing the Evolution of XML Documents Author: Hong Su, Diane Kramer. Li Chen, Kajal Claypool and Elke A. Rundensteiner Presented by: Li Shuhong.
From Semistructured Data to XML: Migrating The Lore Data Model and Query Language Roy Goldman, Jason McHugh, Jennifer Widom Stanford University
1 Lecture 10 XML Wednesday, October 18, XML Outline XML (4.6, 4.7) –Syntax –Semistructured data –DTDs.
Keys For XML Peter Buneman Susan Davidson Wenfei Fan Carmem Hara Wang Chiew Tan.
Storing and Querying Ordered XML Using Relational Database System Swapna Dhayagude.
Mark Graves Leveraging Existing DBMS Storage for XML DBMS.
1 Relational Model. 2 Relational Database: Definitions  Relational database: a set of relations  Relation: made up of 2 parts: – Instance : a table,
The Relational Model Lecture 3 Book Chapter 3 Relational Data Model Relational Query Language (DDL + DML) Integrity Constraints (IC) From ER to Relational.
1 New Ways of Querying the Web by Eliahu Brodsky and Alina Blizhovsky.
Semi-structured Data. Facts about the Web Growing fast Popular Semi-structured data –Data is presented for ‘human’-processing –Data is often ‘self-describing’
Storing and Querying Ordered XML Using a Relational Database System By Khang Nguyen Based on the paper of Igor Tatarinov and Statis Viglas.
XML(EXtensible Markup Language). XML XML stands for EXtensible Markup Language. XML is a markup language much like HTML. XML was designed to describe.
Spring 2005Daria Barger – DB Seminar 1 Efficient Incremental Validation of XML Documents Denilson Barbosa Alberto O.Mendelson Leonid Libkin Laurent Mignet.
July 14, 2015ICS 424: recap1 Relational Database Design: Recap of ICS 324.
1 Modelling Hachim Haddouti Al Akhawayn University SSE
1 Advanced Topics XML and Databases. 2 XML u Overview u Structure of XML Data –XML Document Type Definition DTD –Namespaces –XML Schema u Query and Transformation.
4/20/2017.
XML-to-Relational Schema Mapping Algorithm ODTDMap Speaker: Artem Chebotko* Wayne State University Joint work with Mustafa Atay,
VICTORIA UNIVERSITY OF WELLINGTON Te Whare Wananga o te Upoko o te Ika a Maui SWEN 432 Advanced Database Design and Implementation Document Type Definition.
Relational Data Model, R. Ramakrishnan and J. Gehrke with Dr. Eick’s additions 1 The Relational Model Chapter 3.
Lecture 6 of Advanced Databases XML Schema, Querying & Transformation Instructor: Mr.Ahmed Al Astal.
1 XML Schemas. 2 Useful Links Schema tutorial links:
XMLI Structure of XML Data Structure of XML Data XML Document Schema XML Document Schema XPATH XPATH.
Chapter 27 The World Wide Web and XML. Copyright © 2004 Pearson Addison-Wesley. All rights reserved.27-2 Topics in this Chapter The Web and the Internet.
Processing of structured documents Spring 2002, Part 2 Helena Ahonen-Myka.
Avoid using attributes? Some of the problems using attributes: Attributes cannot contain multiple values (child elements can) Attributes are not easily.
Winter 2006Keller, Ullman, Cushing18–1 Plan 1.Information integration: important new application that motivates what follows. 2.Semistructured data: a.
VICTORIA UNIVERSITY OF WELLINGTON Te Whare Wananga o te Upoko o te Ika a Maui SWEN 432 Advanced Database Design and Implementation Identity Constraints.
FALL 2004CENG 351 File Structures and Data Management1 Relational Model Chapter 3.
Relational Data Model Ch. 7.1 – 7.3 John Ortiz Lecture 3Relational Data Model2 Why Study Relational Model?  Most widely used model.  Vendors: IBM,
University of Crete Department of Computer Science ΗΥ-561 Web Data Management XML Data Archiving Konstantinos Kouratoras.
Chapter 27 The World Wide Web and XML. Copyright © 2004 Pearson Addison-Wesley. All rights reserved.27-2 Topics in this Chapter The Web and the Internet.
Chapter 23 XML. 2 Introduction  XML: eXtensible Markup Language (What is a Markup language?)  Defined by the WWW Consortium (W3C)  Originally intended.
CPT-S Topics in Computer Science Big Data 1 1 Yinghui Wu EME 49.
VICTORIA UNIVERSITY OF WELLINGTON Te Whare Wananga o te Upoko o te Ika a Maui SWEN 432 Advanced Database Design and Implementation Mapping RDB Schema to.
The Semistructured-Data Model Programming Languages for XML Spring 2011 Instructor: Hassan Khosravi.
Well Formed XML The basics. A Simple XML Document Smith Alice.
Introduction to DTD A Document Type Definition (DTD) defines the legal building blocks of an XML document. It defines the document structure with a list.
Deriving Relation Keys from XML Keys by Qing Wang, Hongwei Wu, Jianchang Xiao, Aoying Zhou, Junmei Zhou Reviewed by Chris Ying Zhu, Cong Wang, Max Wang,
Working with XML. Markup Languages Text-based languages based on SGML Text-based languages based on SGML SGML = Standard Generalized Markup Language SGML.
XPath --XML Path Language Motivation of XPath Data Model and Data Types Node Types Location Steps Functions XPath 2.0 Additional Functionality and its.
SEMI-STRUCTURED DATA (XML) 1. SEMI-STRUCTURED DATA ER, Relational, ODL data models are all based on schema Structure of data is rigid and known is advance.
CENG 351 File Structures and Data Management1 Relational Model Chapter 3.
CITA 330 Section 2 DTD. Defining XML Dialects “Well-formedness” is the minimal requirement for an XML document; all XML parsers can check it Any useful.
Modified Slides from Dr.Peter Buneman 1 XML Constraints Constraints are a fundamental part of the semantics of the data; XML may not come with a DTD/type.
CS 480: Database Systems Lecture 26 March 18, 2013.
XML: Extensible Markup Language
CS 480: Database Systems Lecture 25 March 15, 2013.
Chapter 2: Intro to Relational Model
Chapter 23: XML Database System concepts,6th Ed.
Translation of ER-diagram into Relational Schema
A Normal Form for XML Documents
Managing XML and Semistructured Data
The Relational Model Relational Data Model
Relational Databases The Relational Model.
Relational Databases The Relational Model.
XML Data DTDs, IDs & IDREFs.
The Relational Model Textbook /7/2018.
Semi-Structured data (XML Data MODEL)
2/18/2019.
Lecture 9: XML Monday, October 17, 2005.
Introduction to Database Systems CSE 444 Lecture 10 XML
Semi-Structured data (XML)
Lecture 11: XML and Semistructured Data
Presentation transcript:

XML Constraints Constraints are a fundamental part of the semantics of the data; XML may not come with a DTD/type – thus constraints are often the only means to specify the semantics of the data Constraints have proved useful in semantic specifications: obvious query optimization: effective database conversion to an XML encoding: a must data integration: information preservation update anomaly prevention: classical normal forms for XML specifications: “BCNF”, “3NF” efficient storage/access: indexing, …

Keys and Foreign Keys Example: school document <!ELEMENT db (student+, course+) > <!ELEMENT student (id, name, gpa, taking*)> <!ELEMENT course (cno, title, credit, taken_by*)> <!ELEMENT taking (cno)> <!ELEMENT taken_by (id)> keys: locating a specific object, an invariant connection from an object in the real world to its representation student.@id  student, course.@cno  course foreign keys: referencing an object from another object taking.@cno  course.@cno, course.@cno  course taken_by.@id  student.@id, student.@id  student

The limitations of the XML standard (DTD) ID and IDREF attributes in DTD vs. keys and foreign keys in RDBs Scoping: ID unique within the entire document (like oids), while a key needs only to uniquely identify a tuple within a relation IDREF untyped: one has no control over what it points to -- you point to something, but you don’t know what it is! <student id=“01” name=“peter” taking=“qsx”/> <student id=“02” name=“wei” taking=“qsx 01”/> <course id=“qsx”/>

The limitations of the XML standard (DTD) keys need to be multi-valued, while IDs must be single-valued (unary) enroll (sid: string, cid: string, grade:string) a relation may have multiple keys, while an element can have at most one ID (primary) ID/IDREF can only be defined in a DTD, while XML data may not come with a DTD/schema ID/IDREF, even relational keys/foreign keys, fail to capture the semantics of hierarchical data – will be seen shortly

To overcome the limitations Absolute key: (Q, {P1, . . ., Pk} ) target path Q: to identify a target set [[Q]] of nodes on which the key is defined (vs. relation) a set of key paths {P1, . . ., Pk}: to provide an identification for nodes in [[Q]] (vs. key attributes) semantics: for any two nodes in [[Q]], if they have all the key paths and agree on them up to value equality, then they must be the same node (value equality and node identity) ( //student, {@id}) ( //student, {//name}) ( //enroll, {@id, @cno}) ( //, {@id})

Value equality on trees Two nodes are value equal iff either they are text nodes (PCDATA) with the same value; or they are attributes with the same tag and the same value; or they are elements having the same tag and their children are pairwise value equal db person @pnone “234-5678” @phone name “123-4567” firstName lastName “George” “Bush” “JohnDoe” ...

Path expressions Path expression: navigating XML trees A simple yet powerful path language: q ::=  | l | q/q | // : empty path l: tag q/q: concatenation //: descendants and self – recursively descending downward

New challenges of hierarchical XML data How to identify in a document a book? a chapter? a section? db book title chapter “XML” section “1” “Bush, a C student,...” “6” number text “10” “5” “SGML”

Relative constraints Relative key: (Q, K) path Q identifies a set [[Q]] of nodes, called the context; k = (Q’, {P1, . . ., Pk} ) is a key on sub-documents rooted at nodes in [[Q]] (relative to Q). Example. (//book, (chapter, {number})) (//book/chapter, (section, {number})) (//book, {title}) -- absolute key Analogous to keys for weak entities in a relational database: the key of the parent entity an identification relative to the parent entity

Examples of XML constraints absolute (//book, {title}) relative (//book, (chapter, {number})) relative (//book/chapter, (section, {number})) db book title chapter “XML” section “1” “Bush, a C student,...” “6” number text “10” “5” “SGML”

Absolute vs. relative keys Absolute keys are a special case of relative keys: (Q, K) when Q is the empty path Absolute keys are defined on the entire document, while relative keys are scoped within the context of a sub-document Important for hierarchically structured data: XML, scientific databases, … absolute (//book, {title}) relative (//book, (chapter, {number})) relative (//book/chapter, (section, {number})) XML keys are more complex than relational keys!

Key and Keyref in XML Schema Rules for <xs:key> : must occur after all the element and attribute declarations + primary key rules Example Usage of <xs:key> <xs:key name="KeyforBib"> <xs:selector xpath="book"/> <xs:field xpath="@isbn"/> </xs:key> Rules for <xs:keyref> : fields in keyref must match in type and position with fields in key Example Usage of <xs:keyref> <xs:keyref name="KeyRefforISBN" refer="KeyforBib"> <xs:selector xpath="BookStorage"/> <xs:field xpath="isbn"/> </xs:keyref>