Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Диссертация_Иванов.docx
Скачиваний:
9
Добавлен:
23.09.2019
Размер:
1.18 Mб
Скачать
  1. Модель с отрицаниями Определение 7

Пусть Dgh = <G, Н, fo, ft> - диаграмма объектов, И = <О. U lb, 1е>. Тогда будем называть диаграммой объектов с отрицаниями пару Dgh “ где Lc. L. При этом будем называть положительным сужением и обозначать

  1. с/Л диаграмму объектов <С, |//|, fo. fi>, где (//] ■ <0, \L\,lb. le>, \ L | - L\L . Элементы L мы будем называть отрииагельными связями.

Определение 8

Будем называть ограничением с отрицаниями пару N т <D сн, />, где D ан • диаграмма объектов с отрицаниями и <| 15 ah 1> - ограничение на ассоциацию. При этом <| D cwf, 1> будем называть положительным сужением данного ограничения и обозначать |jV |.

Определение 9

Будем говорить, что F.R-база данных DB удовлетворяет ограничению N при

г

отображении у и писать DB < N, если

DB< | iV | л Vm € 1,у,у€ у- (v*y UK т )), w (/t< т ))) г <?я (//.( т )).

Будем говорить, что ER-база данных DB удовлетворяет ограничению N и

г _

писать DB< N, если Зу/: DB < N .

Прагматика

Ограничение с отрицаниями — это обычное ограничение, к которому добавлены еще некоторые объекты и связи, которые мы будем называть отрицательными. Т.с. на диаграмме объектов у нас будут присутствовать два вида дут — обычные (элементы |Х.[) и отрицательные (элементы L). Ограничение с отрицаниями выполняется, если выполняется обычное ограничение, и невозможно каждому объекту сопоставить запись таблицы, так, чгобы все дуги (как положительные, так и отрицательные) соответствовали связям между записями. Примерами диаграмм с отрицаниями являются диаграммы на рис.3.8 и рис.3.11.

  1. Модель с ограничениями на отдельные объекты Определение 11

Будем называть ограничением с условием пару ft = <N, Р>, где N — ограничение (с отрицаниями или без них), Р — отображение, ставящее в соответствие каждому оеО предикат над <pe(Jo(o)). т.е.

Р: О (tprtJcAo)) -* {ime. false)).

Определение 12

Будем говорить, что ER-база данных DR удовлетворяет ограничению с условием ft при отображении у и писать DB< ft, если

DB< i\ л VoО, уху е у: Р(о) (у^о)) = true .

Определение 13

Будем говорить, что ER-база данных DB удовлетворяет ограничению ft и писать DB< ft, если Up: DB < ft.

Прагматика

Ограничения позволяют определять допустимость связи между двумя записями в базе данных не только в зависимости от наличия других связей, но н, например, в зависимости от значений атрибутов этих записей (или связанных с ними). Эти дополнительные ограничения могут быть специфицированы с помощью OCL или любым другим способом.

  1. Дизъюнктная модель Определение 14

Будем называть дизъюнктной системой ограничений па HR-граф G множество N ограничений на ассоциации G. Т.с. Х= {$}: V /?/. Л'., с К: G# = G^.

Определение 15

Пусть N — дизъюнктная система ограничений на ER-граф G. Тогда для любой ассоциации г с К будем называть сужением N на г и обозначать

Кг - {N | jV е K,ti-<N.P>. N -<DnH.t>.fL0)-r).

Определение 16

Будем говорить, что ER-база данных DB удовлетворяет дизъюнктной системе ограничений X иписа!ь/)Л< К, если V г е R: 3fi е Kr:DB<ft.

Прагматика

Если имеется набор ограничений на один объект (в нашем случае это ER-база данных), то обычно принято считать, что объект удовлетворяет этому набору в том и только том случае, если он удовлетворяет каждому из ограничений. В случае дизъюнктной системы это не так — весь набор ограничений, составляющий систему, разбивается на группы (дизьюнкты), в каждую из кохорых входят все ограничения на одну и ту же ассоциацию. При этом счихаегся, что база данных удовлетворяет системе в целом, если она удовлетворяет каждому из дизьюнктов. Однако чтобы база данных удовлетворяла отдельному дизъюнкту, достаточно, чтобы она удовлетворяла хотя бы одному из ограничений, входящих в дизъюнкт. Такая трактовка набора ограничений связана с тем, что довольно часто ограничение на ассоциацию формулируется в виде: «ссли верно условие 1, то ассоциация должна удовлетворять ограничению 1, а иначе — ограничению 2». Ясно, что такого рода ограничения можно записать в виде дизъюнктов, в том случае, если условие1 и его отрицание можно добавить на диаграммы, соответствующие ограничению 1 и ограиичению2 соответственно, в виде дополнительного контекста. В рассмотренном нами примере такой вид имеет ограничение 2. Кроме того, как было сказано выше, пара ограничений 4 и 5 совместно описывает ыраничение такого же вида. Ограничения на разные ассоциации, как правило, не связаны между собой, поэтому связь между отдельными дизъюнктами конъюнктивная.

  1. Пример

Вернемся к примеру, рассмотренному в начале данной главы.

В соответствии с опр.1, ER-граф для схемы данных можно определить следующим образом: G = <Е, R, rb. ге>, где

Е = {Адрес, Страна, Область, Г'/род, Район, Улица, Связь};

R = {Адр-Стр, Адр-Обл, Адр-Гир. Адр-Рн. Адр-Ул. Обл-Стр. Гор-Стр. Гор-Обл. Рн-Гор, Ул-ГЪр. Св-Рн. Св-У.ч};

rb(Adp-Cmp) = Адрес. гЬ(Адр-Обл) = Адрес. .... гЬ(Св-Ул) = Се;

ге(Адр-Стр) =* Страна. ге(Адр-Обл) * Область ге(Св-Ул)Улица.

Рассмотрим первое из описанных выше ограничений («область, ссли она указана, должна принадлежать той же стране, что и адрес»).

В соответствии с опр.2 и 3 и рис.3.6, это ограничение можно определить как

N » <D0k. t>, где Don = <G. //. jo. !l>,

G определено выше,

И - <0, L. lb, le>,

О = Швее. Страна. Область):

L = {Адр-Стр. Адр-Обя. Обя-Стр):

1ЫАдр-Стр) - Адрес. 1ЫАдр-Обл) ш Адрес. 1Ь(Обл-Стр) = Область: lc(Adp-Cmp) ш Страна. 1е(Адр-Обя) * Область. 1е(Обл-Стр) = Стпана;

IАдр-Обл.

Рассмотрим ER-базу данных DB = < С, ЛГ. р* >. По опр. 5 и 6. она удовлетворяет ограничению, если

3<р:*я(Д(/))-»(0-+Л): (1)

V(x, у) е ?я (Лф-Шч):

  • ■ г ((-«»>')) (dte) а ^ ((*,.У)) (Область) л Vo € О. ^ ((л, >•)) (о) QtprJJo (о)) Л VmZ.: (у ((х,у)) (//>("*)), у ((*,>)) (/«*/«)) ) € ?** (Л(т)).

Поскольку условие на v' формулируе1Ся как коньюнкция условий на ее значение, в каждой точке, утверждение (1) можно переписать в виде:

V(x, >-) е <рк (Адр-Обя) 3 у/Ж).: 0->Х: (2)

x = Vxy Щрес) л

У = фху (Обчасть) л

Vo е О: vv О) е (/о (о)) л

Vm ft I: (v/,r (№(">)), V'r, (/e(/n)) ) e p* (}i(m)).

Поскольку область определения отображения v/,y - множество О, состоит всего из трех элементов, мы можем определить это отображение явно задав значения для этих элементов, т е. утверждение (2) эквивалентно утверждению:

АВТОМАТИЗИРОВАННАЯ ГЕНЕРАЦИЯ ИНФОРМАЦИОННЫХ СИСТЕМ, ОРИЕНТИРОВАННЫХ 1IA ДАННЫЕ 1

Глава 1. Определение и виды информационных систем 8

1.2 Функциональность информационных систем, ориентированных на данные 11

Глава 2. Технология REAL-IT 13

2.1 Моделирование схемы данных 16

2.2 Описание ограничений целостности 17

2.3 Описание экземпляров 17

2.4 Создание представлений 18

2.5 Создание экранов 21

2.6 Генерация 22

2.7 Заключение 23

Глава 3. Язык описания расширенных ограничений ссылочной целостности 24

3.1 Пример диаграммы классов с ограничениями 24

3.2 Альтернативные подходы 26

3.3 Контекстные ограничения 33

3.5 Семантика 37

Vm ft I: (v/,r (№(">)), V'r, (/e(/n)) ) e p* (}i(m)). 54

3.6 Заключение 59

Глава 4. Разработка пользовательского интерфейса 61

Глава 5. Поддержка итеративной разработки 100

Глава 6. Реализация 115

Глава 7. Направления дальнейших исследований 132

Заключение 135

Литература 136

Рассмотрим утверждение (3.2), входящее в утверждение (3):

Vo 6 О: у/,у (о) 6 <pr.(Jo (о)) о

Vo е {Адрес. Стрипа. Область): у,у (о) е <Ре (Jo (о)) о

(угу (Адрес) t <р [(Адрес) л К} (Страна) е <р [{Страна) л ц> (Область) t <р [(Область)) о

{адр е p^dpec) л стр е <р[{Страна) л обе € (^Область)) о /»снлу<э.1у (х € <р[{Адрес) л cmpcip [(Страна) а у sip [(Область)) <=> Лккттяуь у) с ъи&оьу стр е (/>[(Страна).

Аналогичным образом рассмотрим теперь другую составляющую утверждения (3) - утверждение (3.3):

Vm е /.: (*rv (№(»»)X Я* (М"0) ) е (ДО*)) «►

( (w (4^С££). Vxy (Страна)) е <рЛ (АдИгСйШ) л (^ Щрсс), w (flfagggfe)) е Ря (Л<)о-Обл) л (^ (Область). у»> (Он£Ш*а)) € р* (06,1-Стр))<»

( (дг, V'jy (Страна)) е (АдР-Стр) л (л, >■) € ря (Адр-Обл) л

(У, W.АСтрана)) е <рк (Обл-Стр)) О /поскольку(i у) < #*(АДО0«у

( (л, у/,, (Страна)) е я (А^ц Сш) л (у, у,/Страна)) е р* (Q&»-Cm/>)V

Таким образом, утверждение (3) можно переписать в виде:

V(x, у) е <р.ц (Адр-Обл) 3 ст/> е ^(Страна)-. (4)

( (х, стр) f=. <рц (Адр-Стр) л (у, стр) е р* (Обл-Стр)).

Рассмотрим теперь формулировку этого ограничения, выраженную нами на языке ОСЬ:

context Адрес inv: Адрсс.Область—►notEmptyO implies Адрес.Страиа-^notEmptyO AND

Адрес.Страна.0бласгь-»тс1и(1с$( Ад pec.Область)

К сожалению, в стандарте UML до сих пор отсутствует спецификация семантики OCL-выражений, поэтому мы вынуждены ограничиться

«шлгуитивным» переводом этого утверждения в используемую в работе систему обозначений:

Чадр е <р/{Адрес): (5)

3 обл е <р [{Область) : (адр, обл) е я (Адр-Обл) =>

( 3 стр е <р/{Страна) л V обл/ е <р/{Область) :

( (адр, об.ч!) е (рц (Адр-Обл) => 3 стр с <?/{Страна):

(адр, стр) с Я (Адр Стр) л (обл 1, стр) е у* (Обл-Стр>)).

О

Vodp е ?/{Адрес), обя е ^/{Область): (6)

(адр, обл) е (Адр-Обл) =>

( 3 с/яр е ^/{Страна) л V обл/ е <р^Область) :

( (аг)/>, обл/) 6 (Pr (Адр-Обл) 3 стр 6 ^{{Страна) :

(ддр, стр) € (Адр-Стр) л (обл/, стр) е (Обл-Опр)\У <=>

Vadp е <р/(Адрес), обл е ^(Область): (7)

(адр, обл) (Адр-Обл) =>

( Ч стр е <р/{Страна) :

(адр, стр) е (Адр-Стр) л (обл, стр) € р* (Обл-Стр)).

Легко видеть, что утверждения (4) и (7) эквиваленты, а значит доказано, что диаграмма на рис.3.6 эквивалентна соответствующему ограничению на языке ОСЬ. Аналогичным образом и для других ограничений из рассмотренного примера можно доказать эквивалентность их диаграммного представления

текстовому.