Title: Bases de Datos XML bien Disenadas
1Bases de Datos XML bien Disen?adas
Marcelo Arenas Pontificia Universidad Católica
de Chile
2Motivación
- Prácticamente todas las organizaciones usan una
base de datos para almacenar información. - La organización tiene que solucionar el problema
del disen?o de la base de datos. - Disen?o decidir como representar la información
de interés. - Depende del modelo de datos.
3Disen?o de una base de datos relacional
- Tenemos que disen?ar el esquema de la base de
datos - Conjunto de relaciones.
- Conjunto de atributos para cada relación.
- Conjunto de restricciones de integridad.
- Incluso para aplicaciones sencillas existe un
gran número de maneras de representar la
información de interés.
4Como verificar si un disen?o es bueno
- Disen?ar una base de datos involucra representar
parte del mundo real. - Podemos verificar si un disen?o es una buena
representación de esta parte del mundo real? - Esta evaluación es subjetiva.
- Pero podemos verificar si el disen?o tiene
ciertas propiedades de bajo nivel. - Ejemplo No queremos almacenar información
redundante.
5Normalización
- El enfoque más popular para verificar si un
disen?o cumple ciertas propiedades de bajo nivel. - Propuesto en los an?os 70s por Codd.
- Idea central una forma normal define una
condición que una base de datos bien disen?ada
tiene que cumplir. - Forma normal condición sintáctica sobre el
esquema de la base de datos. - Definida para una clase de restricciones de
integridad.
6Normalización hoy
- La teoría de normalización fue desarollada en los
an?os 70s y 80s. - Por qué necesitamos esta teoría hoy?
- Nuevos modelos de datos han emergido XML.
- Documentos XML pueden contener información
redundante. - La información redundante en documentos XML
- Puede ser descubierta si el usuario entrega
suficiente información semántica. - Puede ser eliminada.
7Indice
- Un enfoque basado en teoría de la información
para formas normales relacionales. - Documentos XML y DTDs.
- Tree tuples y dependencias funcionales para
XML. - XNF Una forma normal para documentos XML.
- Conclusiones.
8Indice
- Un enfoque basado en teoría de la información
para formas normales relacionales. - Documentos XML y DTDs.
- Tree tuples y dependencias funcionales para
XML. - XNF Una forma normal para documentos XML.
- Conclusiones.
9Justificación de formas normales
- Normalización es un tópico bien entendido en
bases de datos relacionales. - En el mundo relacional, los criterios para
definir cuando una base de datos está bien
disen?ada son claros. - Pero se vuelven más complicados cuando nos
movemos a otros modelos de datos. - Primer objetivo proveer herramientas para
verificar si una forma normal corresponde a un
buen disen?o.
10Justificación de formas normales
- Qué es lo que hace que un disen?o sea bueno?
- Eliminación de anomalías de actualización.
- Existencia de algoritmos que producen buenos
disen?os no pierden información, no pierden
restricciones de integridad. - El trabajo anterior es específico para las bases
de datos relacionales. - Problemas clásicos tienen que ser revisados en el
contexto de nuevos modelos de datos. - Problemático usar criterios que consideran
lenguajes de consulta / actualización /
restricciones de integridad.
11Justificación de formas normales
- Necesitamos un enfoque diferente.
- Tiene que estar basado en alguna característica
intrínsica de la información. - Tiene que ser aplicable a nuevos modelos de
datos. - Tiene que ser independiente de los lenguajes de
consulta / actualización / restricciones de
integridad. - Proponemos un enfoque basado en teoría de la
información.
12Teoría de la información
- La entropía mide la cantidad de información
entregada por cierto evento. - Asuma que pueden ocurrir n diferentes eventos con
probabilidades p1, , pn.
Entropía es maximal si pi 1/n
13Entropía y redundancia
- Esquema de la base de datos R(A,B,C), A ? B
- Instancia I
- Escoja un dominio que contenga propiamente
adom(I) - Distribución de probabilidades P(4) 0 y P(a)
1/5, a ? 4 - Entropía log 5 2.322
- Escoja dominio que contenga propiamente adom(I)
1, , 6 - Distribución de probabilidades P(2) 1 y P(a)
0, a ? 2 - Entropía log 1 0
1, , 6
14Entropía y formas normales
- Sea ? un conjunto de DFs sobre un esquema S
- Teorema (S,?) está en BCNF si y sólo si para
cada instancia de (S,?) y cada dominio que
contiene propiamente adom(I), cada posición
contiene una cantidad de información mayor que
cero (entropía gt 0). - Esta es una caracterización limpia de BCNF, pero
la medida no es lo suficientemente precisa ...
15Problemas con la medida
- La medida no puede distinguir entre distintos
tipos de restricciones de integridad. - No puede distinguir entre diferentes instancias
del mismo esquema
R(A,B,C), A ? B
entropía 0
entropía 0
16Una medida general
Instancia I del esquema R(A,B,C), A ? B
17Una medida general
Instancia I del esquema R(A,B,C), A ? B
Inicio Escoja una posición p ? Pos(I) y un valor
k tal que adom(I) ? 1, , k. Por ejemplo, k 7.
18Una medida general
Instancia I del esquema R(A,B,C), A ? B
Inicio Escoja una posición p ? Pos(I) y un valor
k tal que adom(I) ? 1, , k. Por ejemplo, k 7.
19Una medida general
Instancia I del esquema R(A,B,C), A ? B
Computación Para cada X ? Pos(I) p, calcule
la distribución de probabilidades P(a X), a ?
1, , k.
Inicio Escoja una posición p ? Pos(I) y un valor
k tal que adom(I) ? 1, , k. Por ejemplo, k 7.
20Una medida general
Instancia I del esquema R(A,B,C), A ? B
Computación Para cada X ? Pos(I) p, calcule
la distribución de probabilidades P(a X), a ?
1, , k.
21Una medida general
Instancia I del esquema R(A,B,C), A ? B
Computación Para cada X ? Pos(I) p, calcule
la distribución de probabilidades P(a X), a ?
1, , k.
22Una medida general
Instancia I del esquema R(A,B,C), A ? B
Computación Para cada X ? Pos(I) p, calcule
la distribución de probabilidades P(a X), a ?
1, , k.
P(2 X)
23Una medida general
Instancia I del esquema R(A,B,C), A ? B
Computación Para cada X ? Pos(I) p, calcule
la distribución de probabilidades P(a X), a ?
1, , k.
P(2 X)
24Una medida general
Instancia I del esquema R(A,B,C), A ? B
Computación Para cada X ? Pos(I) p, calcule
la distribución de probabilidades P(a X), a ?
1, , k.
P(2 X)
25Una medida general
Instancia I del esquema R(A,B,C), A ? B
Computación Para cada X ? Pos(I) p, calcule
la distribución de probabilidades P(a X), a ?
1, , k.
P(2 X)
26Una medida general
Instancia I del esquema R(A,B,C), A ? B
Computación Para cada X ? Pos(I) p, calcule
la distribución de probabilidades P(a X), a ?
1, , k.
P(2 X)
48/
27Una medida general
Instancia I del esquema R(A,B,C), A ? B
Computación Para cada X ? Pos(I) p, calcule
la distribución de probabilidades P(a X), a ?
1, , k.
P(2 X)
48/
Para a ? 2, P(a X)
28Una medida general
Instancia I del esquema R(A,B,C), A ? B
Computación Para cada X ? Pos(I) p, calcule
la distribución de probabilidades P(a X), a ?
1, , k.
P(2 X)
48/
Para a ? 2, P(a X)
29Una medida general
Instancia I del esquema R(A,B,C), A ? B
Computación Para cada X ? Pos(I) p, calcule
la distribución de probabilidades P(a X), a ?
1, , k.
P(2 X)
48/
Para a ? 2, P(a X)
30Una medida general
Instancia I del esquema R(A,B,C), A ? B
Computación Para cada X ? Pos(I) p, calcule
la distribución de probabilidades P(a X), a ?
1, , k.
P(2 X)
48/
(48 6 ? 42) 0.16
Para a ? 2, P(a X)
42/
(48 6 ? 42) 0.14
Entropía 2.8057
(log 7 2.8073)
31Una medida general
Instancia I del esquema R(A,B,C), A ? B
- Valor consideramos el promedio sobre todos los
conjuntos X ? Pos(I) p. - Promedio 2.4558 lt log 7 (máxima entropía).
- Corresponde a una entropía condicional.
- Depende del valor de k ...
32Una medida general
- Valor previo
- Para cada k, consideramos
- Cuan cerca está la posición p de tener el máximo
contenido de información. - Medida general
33Algunas propiedades básicas
- La medida está bien definida
- Para cada conjunto ? de restricciones de
integridad de primer orden definidas sobre un
esquema S, cada I ? inst(S,?), y cada p ? Pos(I)
existe. - Cotas
34Algunas propiedades básicas
- La medida no depende de como representamos las
restricciones de integridad. Si ?1 y ?2 son
equivalentes - Soluciona los problemas de la medida más simple
R(A,B,C), A ? B
0.875
0.781
35Bases de datos bien disen?adas
- Definición Una especificación (S,?) está bien
disen?ada si para cada I ? inst(S,?) y cada p ?
Pos(I), 1. - En otras palabras, cada posición de cada
instancia contiene el máximo valor posible de
información. - Nos gustaría usar esta definición en el mundo
relacional ...
36Bases de datos relacionales
- ? es un conjunto de restricciones sobre un
esquema S - ? ? (S,?) está bien disen?ada.
- ? es un conjunto de DFs (S,?) está bien
disen?ada si y sólo si (S,?) está en BCNF. - ? es un conjunto de DFs and DMVs (S,?) está
bien disen?ada si y sólo si (S,?) está en 4NF. - ? es un conjunto de DFs y DJs
- Si (S,?) está en PJ/NF o en 5NFR, entonces (S,?)
está bien disen?ada. La implicación inversa no es
cierta. - Una caracterización sintáctica es dada en AL04.
37Bases de datos relacionales
- Si (S,?) está en DK/NF, entonces (S,?) está bien
disen?ada. La implicación inversa no es cierta. - El problema de verificar si un esquema relacional
está bien disen?ado es indecidible. - Si el esquema contiene sólo restricciones
universales (DFs, DMVs, DJs, ), entonces el
problema es coNEXPTIME-completo. - Si cada relación en S tiene a lo más m atributos,
entonces el problema es -completo. -
38Indice
- Un enfoque basado en teoría de la información
para formas normales relacionales. - Documentos XML y DTDs.
- Tree tuples y dependencias funcionales para
XML. - XNF Una forma normal para documentos XML.
- Conclusiones.
39Documentos XML
courses
course
course
_at_cno
_at_cno
student
student
student
. . .
cs100
cs225
_at_sno
_at_name
_at_grade
_at_grade
_at_name
_at_sno
123
123
A
B
Fox
Fox
40DTD Document Type Definition
- Base de datos de una universidad
41DTD Document Type Definition
- Base de datos de una universidad
42DTD Document Type Definition
- Base de datos de una universidad
43Indice
- Un enfoque basado en teoría de la información
para formas normales relacionales. - Documentos XML y DTDs.
- Tree tuples y dependencias funcionales para
XML. - XNF Una forma normal para documentos XML.
- Conclusiones.
44Tree tuples
- Paths(D) todos los caminos en un DTD D.
- courses.course
- courses.course._at_cno
- courses.course.student._at_name
- Distinguimos dos tipos de elementos atributos
(_at_) y tipos. - DFs son definidas por medio de una representación
relacional de los documentos XML.
45Arboles XML
courses
v0
course
course
v1
. . .
student
_at_cno
student
v2
v3
cs100
_at_grade
_at_grade
_at_sno
_at_sno
_at_name
_at_name
123
Fox
B
Smith
A-
456
46Tree tuples
- Representación relacional tree tuples -
funciones - t Paths(D) ? Vértices ? Strings ? ?
- Una tree tuple representa un árbol XML
courses
t(courses) v0 t(courses.course)
v1 t(courses.course._at_cno) cs100 t(courses.cour
se.student) v2 t(p) ?, para los otros caminos.
v0
course
v1
_at_cno
student
v2
cs100
47Arbol XML Conjunto de tree tuples
courses
courses
v0
v0
course
course
course
course
v1
. . .
v1
. . .
_at_cno
student
_at_cno
student
student
student
v2
v2
v3
v3
cs100
cs100
_at_grade
_at_grade
_at_grade
_at_grade
_at_sno
_at_sno
_at_sno
_at_sno
_at_name
_at_name
_at_name
_at_name
123
456
123
456
Fox
B
Smith
A-
Fox
B
Smith
A-
48Dependencias funcionales para XML
- Expresiones de la forma
- X ? Y
- definidas sobre un DTD D, donde X, Y son
subconjuntos finitos y no vacíos de Paths(D). - X ? Y se puede evaluar en un árbol XML T si
- X ? Y ? Paths(T) ? Paths(D)
- T ? X ? Y si para cada par u, v de tree tuples
en T - u.X v.X y u.X ? ? implica que u.Y v.Y
49DF Ejemplos
- Universidad courses ? course
- course ? _at_cno, student
- student ? _at_sno, _at_name, _at_grade
- Dos estudiantes con el mismo número tienen el
mismo nombre - courses.course.student._at_sno ? courses.course.stud
ent._at_name - Cada estudiante tiene una sola nota en cada
curso - courses.course,
- courses.course.student._at_sno ?
courses.course.student._at_grade
50Satisfacción de una DF
courses.course, courses.course.student._at_sno
? courses.course.student._at_grade
courses
v0
course
course
v1
v3
_at_cno
student
student
_at_cno
v2
v4
cs100
cs225
_at_grade
_at_grade
_at_sno
_at_sno
_at_name
_at_name
123
123
Fox
Fox
B
A
51Satisfacción de una DF
courses.course, courses.course.student._at_sno
? courses.course.student._at_grade
courses
v0
course
course
v1
v3
_at_cno
student
student
_at_cno
v2
v4
cs100
cs225
_at_grade
_at_grade
_at_sno
_at_sno
_at_name
_at_name
123
123
Fox
Fox
B
A
52Satisfacción de una DF
courses.course, courses.course.student._at_sno
? courses.course.student._at_grade
courses
v0
course
course
v1
v3
_at_cno
student
student
_at_cno
v2
v4
cs100
cs225
_at_grade
_at_grade
_at_sno
_at_sno
_at_name
_at_name
123
123
Fox
Fox
B
A
53Satisfacción de una DF
courses.course, courses.course.student._at_sno
? courses.course.student._at_grade
courses
v0
course
v1
_at_cno
student
student
v2
v3
cs100
_at_grade
_at_grade
_at_sno
_at_sno
_at_name
_at_name
123
123
Fox
Fox
B
A
54Satisfacción de una DF
courses.course, courses.course.student._at_sno
? courses.course.student._at_grade
courses
v0
course
v1
_at_cno
student
student
v2
v3
cs100
_at_grade
_at_grade
_at_sno
_at_sno
_at_name
_at_name
123
123
Fox
Fox
B
A
55Satisfacción de una DF
courses.course, courses.course.student._at_sno
? courses.course.student._at_grade
courses
v0
course
v1
_at_cno
student
student
v2
v3
cs100
_at_grade
_at_grade
_at_sno
_at_sno
_at_name
_at_name
123
123
Fox
Fox
B
A
56Problema de implicación para DFs
- Típicamente las expresiones regulares usadas en
DTDs son simples. - Expresión regular trivial s1, s2, , sn
- Cada si es ai, ai?, ai o ai
- Para i ? j, ai ? aj
- D es un DTD simple si todas sus producciones usan
permutaciones de expresiones regulares
triviales. - Ejemplo (a b) es una permutación de a,
b
57Problema de implicación para DFs
- Teorema El problema de implicación para DTDs
simples y DFs puede resolverse en tiempo O(n2). - Otros resultados
- Hay una clase de DTDs más grande para la cual el
problema puede resolverse en PTIME. - Hay una clase de DTDs aún más grande para la cual
el problema es coNP-completo. - En general, el problema está en coNEXPTIME.
58Indice
- Un enfoque basado en teoría de la información
para formas normales relacionales. - Documentos XML y DTDs.
- Tree tuples y dependencias funcionales para
XML. - XNF Una forma normal para documentos XML.
- Conclusiones.
59Redundancia en XML
courses
info
course
course
_at_name
_at_sno
_at_cno
_at_cno
student
student
student
123
Fox
. . .
cs100
cs225
_at_sno
_at_name
_at_grade
_at_grade
_at_name
_at_sno
123
123
A
B
Fox
Fox
60Normalización en XML
DTD
Restricción de integridad
Dos estudiantes con el mismo número tienen el
mismo nombre.
61Normalización en XML
DTD
Restricción de integridad
, info
_at_sno es el identificador de los elementos info.
Dos estudiantes con el mismo número tienen el
mismo nombre.
62Un ejemplo no relacional
DBLP
conf
conf
. . .
_at_title
issue
issue
ICDT
_at_year
article
article
article
_at_year
1999
2001
_at_year
_at_title
_at_year
_at_title
_at_year
_at_title
1999
1999
2001
. . .
. . .
. . .
63Una forma normal para XML
- Segundo objetivo definir una forma normal para
documentos XML que no permita información
redundante. - Esta forma normal especifica condiciones que un
documento XML bien disen?ado debería satisfacer. - Está definida para dependencias funcionales.
64XNF XML Normal Form
- Terminología
- (D, ?) ? (D, ?) ? ?
- Dependencia funcional ? es trivial si es
implicada sólo por el DTD (D, ?) ? ? - (D, ?) está en XNF si
- Para cada DF no trivial X ? p._at_l en (D, ?), se
tiene que X ? p está en (D, ?).
65Ejemplo DBLP
- DBLP no está en XNF
- DBLP.conf.issue ?
- DBLP.conf.issue.article._at_year ? (D,?)
- DBLP.conf.issue ?
- DBLP.conf.issue.article ? (D,?)
- Solución propuesta está en XNF.
66XNF Algunas propiedades
- XNF generaliza BCNF.
- Existen casos naturales en que el problema de
verificar si un esquema XML está en XNF puede ser
resuelto eficientemente. - Para el caso de DTDs simples O(n3).
- Existe un algoritmo que transforma cualquier
esquema XML en uno equivalente en XNF. - El enfoque basado en teoría de la información
puede ser usado para justificar XNF.
67Posiciones en un árbol XML
DBLP
conf
conf
issue
issue
_at_title
ICDT
ICDT
article
article
article
_at_year
_at_title
_at_title
_at_year
_at_year
_at_title
1999
1999
2001
. . .
. . .
. . .
1999
1999
2001
. . .
. . .
. . .
17
68XNF Una forma normal para XML
- ? es un conjunto de restricciones de integridad
- Un esquema XML (D,?) esta bien disen?ado si para
cada documento XML T y posición p, InfT(p S)
1. - ? es un conjunto de DFs
- Teorema (D,?) está en XNF si y sólo si (D,?)
está bien disen?ado. - El enfoque también puede usarse para razonar
sobre (y justificar) algoritmos de normalización.
69Conclusiones
- Propusimos un enfoque basado en teoría de la
información para justificar formas normales. - Definimos un lenguaje de dependencias funcionales
para XML. - Definimos una forma normal XNF para XML.
- Usamos el enfoque basado en teoría de la
información para mostrar que XNF caracteriza la
noción de redundancia en bases de datos XML.
70Trabajo futuro
- El enfoque basado en teoría de la información
considera las instancias y restricciones de
integridad. - Nos gustaría extenderlo para razonar sobre
esquemas. - Nos gustaría caracterizar 3NF.
- En general, nos gustaría caracterizar formas
normales no perfectas. - Usando el enfoque nos gustaría desarrollar una
mejor caracterización de los algoritmos de
normalización. - Por qué el algoritmo usual para BCNF es
bueno?
71Trabajo futuro
- Nos gustaría saber la complejidad exacta del
problema de implicación para DFs. - Sería interesante extender XNF.
- Considerando un lenguaje de dependencias
funcionales más expresivo u otros lenguajes. - Nos gustaría optimizar el algoritmo de
normalización para XNF.
72Referencias
- AL05 Marcelo Arenas, Leonid Libkin. An
information-theoretic approach to normal forms
for relational and XML data. Journal of the ACM
52(2), 2005. - AL04 Marcelo Arenas, Leonid Libkin. A normal
form for XML documents. ACM Transactions on
Database Systems 29(1), 2004. - AL03 Marcelo Arenas, Leonid Libkin. An
information-theoretic approach to normal forms
for relational and XML data. PODS 2003. - AL02 Marcelo Arenas, Leonid Libkin. A Normal
Form for XML Documents. PODS 2002.
73Transparencias adicionales
74Una forma normal para DFs y DJs
- Sea ? un conjunto de DFs y DJs sobre un esquema
S - Teorema (S,?) está bien disen?ado si y sólo si
para - cada R ? S y cada DJ no trivial
- implicada por ?, existe M ? 1, ..., m tal que
-
- Para cada i,j ? M, ? implica
75Una forma normal para DFs y DJs
- Esquema S R(A,B,C) y ? ?AB, AC, BC,
- AB? C, AC? B .
- (S, ?) no está en PJ/NF AB ? ABC, AC ? ABC no
implica ?AB, AC, BC. - (S, ?) no está en 5NFR ?AB, AC, BC es
strong-reduced y BC no es una llave. - (S,?) está bien disen?ada.
76Algoritmo de normalización BCNF
- Esquema relacional R(X,Y,Z), ?
- No está en BCNF ? ? X ? Y y ? ? X ? A, para
cada A ? Z. - Descomposición reemplace R(X,Y,Z) por S(X,Y) y
T(X,Z). - Ejemplo
77Algoritmo de normalización BCNF
?number, title (R)
?number, section, room (R)
78Algoritmo de normalización BCNF
S ? T
79Algoritmo de normalización XNF
- El algoritmo aplica dos tipos de transformaciones
hasta - que el esquema XML está en XNF.
- Si hay una DF anómala de la forma
- DBLP.conf.issue ? DBLP.conf.issue.article._at_year
- entonces aplique la regla del ejemplo de DBLP
. - En caso contrario escoja una DF minimal y
anómala, y aplique la regla del ejemplo de la
universidad.
80Algoritmos de normalización
- El enfoque basado en teoría de la información
también puede usarse para razonar sobre
algoritmos de normalización. - Para los algoritmos para BCNF y XNF
- Teorema Después de cada paso del algoritmo, la
cantidad de información en cada posición no
decrece.