11. Mai

Werbung
XML Schema Constraints
XML-Schema gibt die Möglichkeit zur
Definition von Typen, allgemeiner als mittels einer DTD,
Definition von Bedingungen unique, key, keyref, im folgenden Constraints
genannt.
Frage:
Können Typdefinitionen und Constraints in dem Sinne inkonsistent sein, dass die
Menge der gültigen XML-Dokumente leer ist?
Falls ja, wie aufwendig ist es, dies zu testen (Konsistenz-Problem)?
– p. 1/1
Beispiel 1:
DTD:
<!ELEMENT
<!ELEMENT
<!ELEMENT
<!ELEMENT
teachers (teacher+)>
teacher (name, teach)>
teach (subject, subject)>
subject (taught_by)>
_
_
Constraints:
Die DTD zusammen mit der Menge von Constraints ist inkonsistent!
– p. 2/1
#
$ &
#
$% &
#
$ &
#
$% &
!"
XML-Baum zu Beispiel 1:
– p. 3/1
(
_
(
_
)
(
'
Sei
Begründung:
ein XML-Baum. Es gilt für die jeweiligen Knotenmengen:
jedoch verlangt die DTD:
ein Widerspruch.
– p. 4/1
Beispiel 2:
DTD:
<!ELEMENT
<!ATTLIST
<!ATTLIST
<!ATTLIST
vehicle ((registr | plate), policy, policy)>
registr num CDATA #REQUIRED>
plate num CDATA #REQUIRED>
policy reference CDATA #REQUIRED>
/
1
/
/
/
. +
-
,
*
2
,
-
,
*
+
1
-
,
-,
-,
.0 +
.0 +
-
,
. +
-
,
*
,
-
,
*
+
*
+
*
+
Constraints:
Die DTD zusammen mit der Menge von Constraints ist inkonsistent! Begründung analog
zu Beispiel 1.
– p. 5/1
Beispiel 3:
DTD:
<!ELEMENT seq (clone+)>
<!ELEMENT clon (DNA, gene)>
<!ELEMENT gene (DNA)>
6
5
4
3
-
0 Constraints:
Die DTD zusammen mit der Menge von Constraints ist inkonsistent! Warum?
– p. 6/1
:;<
:;<
:;<
8
8@ A
8
8@ A
:;<
8
?@= >
8
?@= >
789
XML-Baum zu Beispiel 3:
– p. 7/1
Formalisierung
D
C
B
(
4
6
Eine DTD ist ein Tupel
wobei
6
B
eine endliche Menge von Elementtypen,
.
F
F
F
F
F
J
E
I
I
I
I
I
I
I
J
, und
6
E
ist
D
B
E
B
Für
,
I
E
, das leere Wort und
I
I
I
wobei S den Typ string bezeichnet,
wie gewohnt.
B
I
I
(
G
FG
H
K
I
E
ist ein regulärer Ausdruck , die Elementdefinition von :
F
C
,
E
E
Für jedes
B
B
eine endliche Menge von Attributen, disjunkt zu
eine Menge von Attributen aus
.
ist der Elementtyp der Wurzel.
– p. 8/1
6
'
4
(oder
0
0
*
(
-
-
L
'
'
D
C
eine DTD. Ist valid bzgl.
wie folgt charakterisiert werden:
B
(
4
(
'
4
'
Sei ein XML-Baum und sei
conforms to),
, dann kann
wobei
(
*
*
E
H
-
E
L
ist ein Element vom Typ , sofern
; ein Textknoten, sofern
.
6
-
*
H
B
L
.
(
-
ist eine Funktion
; ein Attribut, sofern
*+
-
6
L
ist eine endliche Menge von Knoten,
E
E
L
E
C
6
O
O
O
P
*
-
P
*
O
O
-
N *+
O
R
Q
*N M
-
ist eine Funktion, die für jeden Elementtyp jedes Element vom Typ auf eine
Liste
,
, von Element- und Textknoten in abbildet, so dass
enthalten in der regulären Sprache zu
.
L
*
*+
*
6
L
-
/
D
,
(
0
0
und
-
'
ist die Wurzel von
0
0
und
E
E
nach string so, dass für jedes
.
*
L
*
+
(
*
H
-
-
E
(
*
-
ist eine partielle Funktion von
definiert gdw.
, oder
so, dass für jedes
und
.
B
*
+
-
-
*
/
6
-
/
L
nach
L
ist eine partielle Funktion von
,
definiert gdw.
.
– p. 9/1
eine DTD.
ist ein Ausdruck der Form
S
S
C
O
X
X
P
W
C
XPath-Ausdrücke.
die Felder.
P
U X
P
U S
O
O
O
N
N
O
X
X
S
W
C
T
wobei
und
Selektoren des Ausdrucks und die
S
O
O
O
P
N
W
S
S
N
C
ist ein Ausdruck der Form
4
Ein Foreign-Key über
O
O
O
U S
V
P
N
ist der Selektor des
O
O
O
S
S
C
XPath-Ausdrücke.
die Felder.
T
wobei
und
Ausdrucks und die
O
P
N
C
4
Ein Key über
D
C
6
B
(
4
Sei
sind die
– p. 10/1
Y]
0
0
0
[
Y]
Z
Y]
*
-
U S
\
(
U S
\
Y
,
,
T
U
U
(
-
0
,
Z
H
-
6
,
T
und jedes
. Weiter,
O
O
-
. Wenn
N
Y
U
0
[
0
Y
, existiert genau
, oder
.
O
O
O
P
N
(
S
S
C
'
P
S
S
'
O
O
O
P
N
C
S
S
erfüllt
'
U S
\
(
O
O
O
N
C
ein Key.
*
U
Seien
dann
(
(b)
Y
Für jeden Knoten
ein Knoten so dass
N
(a)
Y
Sei
N
(1)
0
0
*
(
-
-
-
L
'
Sei
ein XML-Baum.
,
wenn gilt:
,
.
– p. 11/1
,
X
P
X
X
W
S
S
N
P
O
O
O
O
O
O
P
N
(
'
C
O
O
O
P
N
X
W
S
O
O
O
erfüllt
O
O
O
P
P
O
O
O
S
N
C
'
X
X
ein Foreign-Key.
N
W
S
S
N
C
Sei
(2)
X
X
W
O
O
O
P
N
(
'
wenn zunächst
U
0
0
^
Z
0
Y
, so dass
0
T
0
[
U X
*
(
O Y I
0
Y
U S
\
O Y
*
,
existiert ein Knoten
.
,
Z
I
U
(
H
-
6
-
Y
U
(
U S
\
'
U
, existiert genau
, oder
.
,
T
und jedes
. Weiter,
,
0
0
[
Für jedes
(b)
0
Für jeden Knoten
ein Knoten so dass
Y
(a)
Z
und weiter gilt:
(1)(a), (2)(a) sind XML-Schema-spezifische Eindeutigkeitsbedingungen; mit diesen
Bedingungen reden wir über XML-Schema-Keys, ohne über Normal-Keys.
– p. 12/1
Komplexitätsergebnisse für das Konsistenz-Problem:
Normal-Keys
XML-Schema-Keys
beliebige Keys und Foreign-Keys
unentscheidbar
unentscheidbar
unäre Keys und unäre Foreign-Keys
NP-complete
PSPACE-hart
Keys (ohne Foreign-Keys)
lineare Zeit
NP-hart
ohne Keys
lineare Zeit
lineare Zeit
– p. 13/1
Das Konsistenz-Problem ist im Allgemeinen unentscheidbar.
Z
(
`
_
Z
`
_
Sei eine Menge funktionaler Abhängigkeiten und eine Menge
Inklusionsabhängigkeiten eines relationalen Datenbankschemas. Sei eine
funktionale oder eine Inklusionsabhängigkeit. Das Implikationsproblem
ist unentscheidbar.
b
b
a
(
`
,
b
a
`
gdw. es existiert eine Instanz des relationalen Schema, so dass
, d.h.,
ist konsistent.
b
b
a
(
`
(
a
(
a
(
a
b
a
Sei eine Menge von Keys und Foreign Keys eines Relationalen
Datenbankschemas. Sei ein Key. Das Implikationsproblem
ist
unentscheidbar; damit auch das komplementäre Problem
.
Das komplementäre (relationale) Key-Implikationsproblem kann auf das
XML-Schema-Konsistenzproblem reduziert werden.
– p. 14/1
d
D
6
(
e
D
Md
Q
D
(
b
eine Menge von Keys und
.
D
O
O
O
P
N
(
D
Sei R
ein relationales Datenbankschema,
Foreign Keys über R,
ein Key über R. Sei
c
Reduktion
a
4
b
Q
j
/d
d
B
k D
c
M
jQ
M
j
k e
/
4
e
,
/d
d
e
/d
h D
e
/d
e
4
B
/d
e
4
(
h a
l
U D
k D
V
j
U U D
I
c
, wenn
I
U D
,
f a
M
U D
, wenn
jQ
h a
i
f a
"
f a
g
U j
U D
(
a
c
4
Sei eine DTD zusammen mit einer Menge von Key- und Foreign-Key-Constraints
eine Kodierung von R, und , wobei wie in der folgenden Abbildung ersichtlich und
zusätzlich
wie folgt:
– p. 15/1
t‰
‹
Š
–—
t‰

‹Š
–
t
v€
t
v€
v‰
¡“
Ž Š
\
–—
v‰
‹Š
–
¢”
‘ w
’
‘ w
’
˜—
–
£•
n
w
w
w
€
ƒ n
m
w
ƒ n
„
m
€
…
‚
…
‚
}
Ÿ

Š
"‡
t‰
‹
Œ‹Š
ˆg‡
t‰
Ž Š
\
"‡
v‰
Œ‹Š
ˆg‡
v‰
t
v€
t
v€
t
v€
xow
o w
œ|
ž~
†
šz
™y
›{
 ‡

ˆ ‡
uv
st
st
r n
g
pon
pqn
m
XML-Baum zur Reduktion:
– p. 16/1
Das Konsistenz-Problem mit Keys, jedoch ohne Foreign-Keys, ist
entscheidbar in linearer Zeit, sofern alle Felder eines Keys Attribute
des durch den Selektor des Keys bestimmten Elementtyps sind.
Das Konsistenz-Problem ohne Keys und Foreign-Keys kann in linearer Zeit
entschieden werden.
'
*+
]
(
E
] -
(
-
*
-
N
*
N+
-
/
]
E
4
-
/
*+
*
(
]¥-
-
/
N+
*
]¥-
*
*N
*
]
-
*
] '
'
N
4
N
¤
4
Sei eine DTD und
eine zugehörige Menge von Keys. Sei
ein XML-Baum
valid zu . Modifiziere
zu einem XML-Baum , indem
zu
so
abgeändert wird, dass für je zwei Knoten
mit
gerade
für alle durch dem Elementtyp
zugeordneten Attribute .
Bemerkung: Sind alle Felder eines Key Attribute, dann ist der Key ein Normal-Key.
– p. 17/1
Literatur:
Peter Buneman, Susan Davidson, Wenfei Fan, Carmen Hara, Wang-Chiew Tan. Keys for
XML. Proceedings WWW10, 2001.
Wenfei Fan, Leonid Libkin. On XML Integrity Constraints in the Presence of DTDs.
JACM, Vol 49, No. 3, 2002.
Marcelo Arenas, Wenfei Fan, Leonid Libkin. What’s Hard about XML Schema
Constraints? DEXA 2002, LNCS 2453, Springer Verlag, 2002.
Marcelo Arenas, Wenfei Fan, Leonid Libkin. On Verifying Consistency of XML
Specifications. Proceedings ACM PODS, 2002.
– p. 18/1
Herunterladen