Bases de Datos XML bien Disenadas - PowerPoint PPT Presentation

1 / 80
About This Presentation
Title:

Bases de Datos XML bien Disenadas

Description:

La organizaci n tiene que solucionar el problema del disen o de la ... El trabajo anterior es espec fico para las bases de datos ... Valor previo: Para cada k, ... – PowerPoint PPT presentation

Number of Views:34
Avg rating:3.0/5.0
Slides: 81
Provided by: marcelo2
Category:

less

Transcript and Presenter's Notes

Title: Bases de Datos XML bien Disenadas


1
Bases de Datos XML bien Disen?adas
Marcelo Arenas Pontificia Universidad Católica
de Chile
2
Motivació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.

3
Disen?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.

4
Como 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.

5
Normalizació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.

6
Normalizació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.

7
Indice
  • 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.

8
Indice
  • 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.

9
Justificació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.

10
Justificació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.

11
Justificació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.

12
Teorí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
13
Entropí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
14
Entropí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 ...

15
Problemas 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
16
Una medida general
Instancia I del esquema R(A,B,C), A ? B
17
Una 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.
18
Una 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.
19
Una 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.
20
Una 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.
21
Una 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.
22
Una 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)
23
Una 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)
24
Una 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)
25
Una 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)
26
Una 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/
27
Una 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)
28
Una 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)
29
Una 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)
30
Una 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)
31
Una 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 ...

32
Una 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

33
Algunas 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

34
Algunas 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
35
Bases 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 ...

36
Bases 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.

37
Bases 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.

38
Indice
  • 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.

39
Documentos 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
40
DTD Document Type Definition
  • Base de datos de una universidad

41
DTD Document Type Definition
  • Base de datos de una universidad

42
DTD Document Type Definition
  • Base de datos de una universidad

43
Indice
  • 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.

44
Tree 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.

45
Arboles 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
46
Tree 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
47
Arbol 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-
48
Dependencias 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

49
DF 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

50
Satisfacció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
51
Satisfacció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
52
Satisfacció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
53
Satisfacció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
54
Satisfacció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
55
Satisfacció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
56
Problema 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

57
Problema 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.

58
Indice
  • 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.

59
Redundancia 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
60
Normalización en XML
DTD
Restricción de integridad
Dos estudiantes con el mismo número tienen el
mismo nombre.
61
Normalizació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.
62
Un 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
. . .
. . .
. . .
63
Una 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.

64
XNF 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, ?).

65
Ejemplo 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.

66
XNF 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.

67
Posiciones 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
68
XNF 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.

69
Conclusiones
  • 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.

70
Trabajo 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?

71
Trabajo 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.

72
Referencias
  • 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.

73
Transparencias adicionales
74
Una 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

75
Una 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.

76
Algoritmo 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

77
Algoritmo de normalización BCNF
?number, title (R)
?number, section, room (R)
78
Algoritmo de normalización BCNF
S ? T
79
Algoritmo 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.

80
Algoritmos 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.
Write a Comment
User Comments (0)
About PowerShow.com