Normalization Theory for XML∗

Normalization Theory for XML∗

Normalization Theory for XML∗ Marcelo Arenas Department of Computer Science Pontificia Universidad Cat´olica de Chile [email protected] 1 Introduction today in every database textbook. With the development of the Web, new data mod- Since the beginnings of the relational model, it was els have started to play a more prominent role. In clear for the database community that the process particular, XML (eXtensible Markup Language) has of designing a database is a nontrivial and time- emerged as the standard data model for storing and consuming task. Even for simple application do- interchanging data on the Web. As more companies mains, there are many possible ways of storing the adopt XML as the primary data model for storing in- data of interest. formation, the problem of designing XML databases During the 70s and 80s, a lot of effort was put into is becoming more relevant. developing methodologies to aid in the process of de- The concepts of database design and normal forms ciding how to store data in a relational database. The are central in relational database technology. In this most prominent approaches developed at that time – paper, we show how these concepts can be extended which today are an standard part of the relational to XML databases. The goal of this paper is to technology– were the entity-relationship and the nor- present principles for good XML data design. We malization approach. In the normalization approach, believe this research is especially relevant nowadays, an already designed relational database is given as since a huge amount of data is being put on the Web. input, together with some semantic information pro- Once massive Web databases are created, it is very vided by a user in the form of relationships between hard to change their organization; thus, there is a different parts of the database, called data depen- risk of having large amounts of widely accessible, but dencies. This semantic information is then used to poorly organized legacy data. check whether the design has some desirable proper- Designing a relational database means choosing an ties, and if this is not the case, it is also used to con- appropriate relational schema for the data of inter- vert the poor design into an equivalent well-designed est. A relational schema consists of a set of rela- database. tions, or tables, and a set of data dependencies over The normalization approach was proposed in the these relations. Designing an XML database is sim- early 70s by Codd [9, 10]. In this approach, a normal ilar: An appropriate XML schema has to be chosen, form, defined as a syntactic condition on data de- which usually consists of a DTD (Document Type pendencies, specifies a property that a well-designed Definition) and a set of data dependencies. However, database must satisfy. Normalization as a way of the structure of XML documents, which are trees as producing good relational database designs is a well- opposed to relations, and the rather expressive con- understood topic. In the 70s and 80s, normal forms straints imposed by DTDs make the design problem such as 3NF [9], BCNF [10], 4NF [13], and PJ/NF for XML databases quite challenging. [14] were introduced to deal with the design of rela- This paper is organized as follows. In Section 2, we tional databases having different types of data depen- show that XML documents may contain redundant dencies. These normal forms, together with normal- information, which could be related to the hierarchi- ization algorithms for converting a poorly designed cal structure of these documents. In Section 3, we database into a well-designed database, can be found present the basic terminology used in this paper. In ∗ Section 4, we introduce a functional dependency lan- Database Principles Column. Column editor: Leonid Libkin, School of Informatics, University of Edinburgh, Edin- guage for XML, which is used in Section 5 to define burgh, EH8 9LE, UK. E-mail: [email protected]. XNF, a normal form for XML documents. In Section 1 6, we study the complexity of verifying whether an attribute of issue. That is, we change attribute lists XML document is in XNF. In Section 7, we present as: an information-theoretic approach that can be used <!ATTLIST issue to justify normal forms and, in particular, XNF. We year CDATA #REQUIRED> conclude the paper with some final remarks in Section <!ATTLIST inproceedings 8. title CDATA #REQUIRED pages CDATA #REQUIRED> 2 Motivation: Redundant In- 2 formation in XML Our goal is to show how to detect anomalies of those kinds. How does one identify bad designs? We have looked at a large number of DTDs and found two kinds of commonly present design problems. One of them is 3 Notation reminiscent of the canonical example of bad relational We shall use a somewhat simplified model of XML design caused by non-key functional dependencies, trees in order to keep the notation simple. We as- while the other one is more closely related to the hier- sume a countably infinite set of labels L, a countably archical structure of XML documents, as we illustrate infinite set of attributes A (we shall use the notation in the example below. @a1, @a2, etc for attributes to distinguish them from Example 2.1 Consider the following DTD that de- labels), and a countably infinite set V of values of scribes a part of a database for storing data about attributes. Furthermore, we do not consider PCDATA conferences. elements in XML trees since they can always be rep- resented by attributes. <!ELEMENT db (conf*)> A DTD (Document Type Definition) D is a 4-tuple <!ELEMENT conf (issue+)> (L0,P,R,r) where L0 is a finite subset of L, P is a <!ATTLIST conf set of rules ` → P for each ` ∈ L0, where P is a title CDATA #REQUIRED> ` ` <!ELEMENT issue (inproceedings+)> regular expression over L0 −{r}, R assigns to each <!ELEMENT inproceedings EMPTY> ` ∈ L0 a finite subset of A (possibly empty; R(`) is <!ATTLIST inproceedings the set of attributes of `), and r ∈ L0 (the root). title CDATA #REQUIRED pages CDATA #REQUIRED Example 3.1 The DTD shown in Example 2.1 is represented as (L0,P,R,r), where r = db, L0 = {db, year CDATA #REQUIRED> ∗ conf , issue, inproceedings}, P = {db → conf , conf Each conference has a title, and one or more issues → issue+, issue → inproceedings +, inproceedings → (which correspond to years when the conference was }, R(conf ) = {@title}, R(inproceedings) = {@title, held). Papers are stored in inproceedings elements; @pages, @year} and R(db) = R(issue) = ∅. 2 the year of publication is one of its attributes. Such a document satisfies the following constraint: An XML tree is a finite rooted directed tree T = any two inproceedings children of the same issue (N, E) where N is the set of nodes and E is the set of must have the same value of year. This too is simi- edges, together with the labeling function λ : N → L lar to relational functional dependencies, but now we and partial attribute value functions ρ@a : N → V for refer to the values (the year attribute) as well as the each @a ∈ A. We furthermore assume that for every structure (children of the same issue). Moreover, node x in N, its children x1,...,xn are ordered and we only talk about inproceedings nodes that are ρ@a(x) is defined for a finite set of attributes @a. We children of the same issue element. Thus, this func- say that T conforms to DTD D = (L0, P, R, r), tional dependency can be considered relative to each written as T |= D, if the root of T is labeled r, for issue. every x ∈ N with λ(x)= `, the word λ(x1) · · · λ(xn) The functional dependency here leads to redun- that consists of the labels of its children belongs to dancy: year is stored multiple times for a conference. the language denoted by P`, and for every x ∈ N The natural solution to the problem in this case is with λ(x)= `, we have that @a ∈ R(`) if and only if not to create a new element for storing the year, but the function ρ@a is defined on x (and thus provides rather restructure the document and make year an the value of attribute @a). 2 4 Functional Dependencies for The first functional dependency specifies that two dis- XML tinct conferences must have distinct titles. The sec- ond one specifies that any two inproceedings children of the same issue must have the same value of @year. To present a functional dependency language for 2 XML we need to introduce some terminology. An el- ement path q is a word in L∗, and an attribute path is Given a DTD D and a set Σ ∪{ϕ} of XFDs over D, a word of the form q.@a, where q ∈ L∗ and @a ∈ A. we say that (D, Σ) implies ϕ, written (D, Σ) ` ϕ, if An element path q is consistent with a DTD D if for every tree T with T |= D and T |= Σ, it is the there is a tree T |= D that contains a node reachable case that T |= ϕ. The set of all XFDs implied by by q (in particular, all such paths must have r as the (D, Σ) is denoted by (D, Σ)+. Furthermore, an XFD first letter); if in addition the nodes reachable by q ϕ is trivial if (D, ∅) ` ϕ. In relational databases, the have attribute @a, then the attribute path q.@a is only trivial FDs are X → Y , with Y ⊆ X. Here, consistent with D.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    8 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us