XML - статьи


Ограничения целостности XML


В последнем разделе 2 главы мы опишем различные виды ограничений целостности для XML-данных. Эти исследования, направленные на систематизацию логических способов задания ограничений целостности, были проведены в работах [8,12].

Итак, пусть S=(T,E,A,p,a,r) - Структурная схема, D- произвольный XML-документ, валидируемый S. Рассмотрим следующие логические выражения, являющиеся определениями ограничений целостности над схемой S.

Определение 26 (Ограничение ключа) Ограничением ключа ? над схемой S=(T,E,A,p,a,r) называется логическое выражение вида K(e)-> e , где e

E, K(e)
a(e).

Определение 27 ( документ удовлетворяет ограничению ключа) XML-документ D, валидируемый схемой S=(T,E,A,p,a,r) удовлетворяет ограничению ключа ? = K(e)-> e, если для любой интерпретации I=(ф,? ,?) выполняется следующее условие:

x,y
ф-1 (e):
-> x? y

где x.l - это прообраз типа атрибута l, являющийся атрибутом элемента x. Под равенством атрибутов в документе, здесь и далее, подразумевается равенство значений.

Пример 9

рис 3 пример документа XML

На рис. 3 представлена документ XML, удовлетворяющий следующей структурной схеме:

T

{a}

E

{{a, A}, {b, B}} A
{(C,c, CDATA, Required), (D,d, CDATA, Required)}

p:p(a)= (b*) p(b)= ? a:a(b)={C,D} a(a)={}

r=a

Из утверждения 3 следует, что существует единственная интерпретация документа в терминах этой схемы. Рассмотрим следующее ограничение ключа ? = {C}-> B. Существует два элемента c именем b, у которых значения атрибута c совпадают. Следовательно, документ не удовлетворяет данному ограничению ключа. Однако тот же самый документ удовлетворяет другому ограничению ключа: {С,D}-> B.

Определение 28 (Ограничение включения) Ограничением включения над схемой S=(T,E,A,p,a,r) называется логическое выражение вида L1(e1)-> L2(e2) , где e1,e2 E, L1и L2 упорядоченные множества, такие что L1

a(e1), L2
a(e2), | L1|=| L2| .

Определение 29 ( документ удовлетворяет ограничению включения) XML-документ D, валидируемый схемой S=(T,E,A,p,a,r) удовлетворяет ограничению включения? = L1(e1)- > L2(e2), если для любой интерпретации I=(ф,? ,? ) выполняется следующее условие:


x
ф-1(e1)
y
ф-1(e2):


где x.i и y.i - это прообразы i- х по порядку типов атрибута из упорядоченных множеств L1(e1) и L2(e2) , являющихся атрибутами элементов x и y соответственно.

Пример 10 Рассмотрим структурную схему и XML-документ из предыдущего примера. Приведенный XML-документ удовлетворяет следующему ограничению включения: ? ={C}B -> {D}B.

Определение 30 (Ограничение внешнего ключа) Ограничением включения ? над схемой S=(T,E,A,p,a,r) называется комбинация ограничения включения L1(e1)-> L2(e2) и ограничения ключа L2(e2) -> e



Определение 31 ( документ удовлетворяет ограничению внешнего ключа) XML-документ D, валидируемый схемой S=(T,E,A,p,a,r) удовлетворяет ограничению внешнего ключа ? = L1(e1) -> L2(e2); L2(e2) -> e2, если он удовлетворяет обоим ограничениям целостности, составляющим ограничение внешнего ключа для любой интерпретации.

После того, как мы определили логические выражения, предназначенные для формулирования ограничений целостности, мы можем сформулировать определения, соответствующие формальным определениям из раздела 1.6 (опр. 1.4-1.7)

Определение 32 (Схема данных XML) Схема данных XML - это пара (S,E), где S - это структурная схема, а E- множество ограничений целостности над S, сформулированных в виде логических выражений следующего вида - ограничение ключа, ограничение включения, ограничение внешнего ключа.

Определение 33 (Валидируемость документа XML) XML-документ D валидируется схемой (S,E), если D|=S и D удовлетворяет всем ограничениям целостности из E.


Содержание раздела