Преимущества использования SQL 4 страница

Алгоритм построен таким образом, что некоторое отношение (бу­дем называть его анализируемым) последовательно сравнивается с множеством других, уже включенных в базовую КИМПО отношений (будем называть их исследуемыми).

2 Значение коэффициента (2) рассчитано для случая lt=5lk.

3.1. Содержательный (неформализованный) алгоритм связывания отдельных отношений в КИМПО

а) Предварительный этап

Отношения разбиваются на классы с равным числом атрибутов в ключе отношения.

б) Связывание отношений первого класса с отношениями других классов

Для каждого отношения первого класса (анализируемое отноше­ние) проводим анализ на связуемость с отношениями других классов (исследуемые отношения) последовательно, начиная со второго класса.

1. Если ключ очередного исследуемого отношения является рас­ширением ключа анализируемого отношения первого класса, то фиксируем между ними в таблице 6 связь типа иерархия, в котором старшим является отношение из первого класса.

2. Если среди неключевых атрибутов исследуемого отношения есть атрибут, сопоставимый атрибуту ключа исследуемого отноше­ния, то фиксируем между ними в таблице 6 связь типа коммента­рий, в котором псевдостаршим является анализируемое отношение.

в) Связывание отношений i-го класса (i > 2) с отношениями i + к класса

Для каждого отношения i-ro класса (анализируемого отношения) проводим анализ на связуемость с отношениями i + 1 класса (исследуе­мые отношения), затем с отношением i + 2 класса и т.д. Затем аналогич­но проводим анализ отношений i + 1 класса со всеми последующими классами, i + 2-го и т.д.

Если ключ очередного исследуемого отношения является расшире­нием ключа анализируемого, то фиксируем между ними связь типа ие­рархия, в котором старшим является анализируемое отношение.

Если ключи исследуемого и анализируемого отношений пересека­ются (связь типа группировка), то проверяется, установлена ли связь анализируемого с отношением, имеющим ключ, совпадающий с выяв­ленным пересечением ключей. Если да, то аналогичная связь устанав­ливается и с исследуемым отношением, если нет, то необходимо сфор­мировать, аналогично ситуации в б), виртуальное отношение, зафикси­ровать в таблице 6 иерархическую связь с ним исходных отношений как со старшим, включить его в состав исследуемых и провести анализ его связуемости с другими отношениями в соответствии с в).

г) В каждом из блоков а), б), в) после проверки ключевых атрибу­тов проверяется наличие по крайней мере сопоставимых (соподчинен­ных, совпадающих) неключевых атрибутов в анализируемом и иссле­дуемом отношениях и, если таковые есть, проверяется, есть ли в первом классе отношения с атрибутом ключа, сопоставимым с выявленным.

Если такое отношение есть, то с ним фиксируется связь типа ком­ментарий с псевдостаршим по отношению к исходным отношениям.

Если такового отношения в первом классе нет, то фиксируется вир­туальное отношение с ключом, состоящим из одного атрибута, домен которого равен объединению доменов анализируемых атрибутов исход­ных отношений, фиксируется его связь с последними как псевдостарше­го в комментарии и проводится его анализ с другими отношениями в соответствии с а).

д) Приведенный алгоритм выявляет все возможные связи, в то время как для наглядного отображения концептуальной модели сле­дующие связи являются несущественными, загромождающими изобра­жение:

• иерархические связи между несмежными элементами ветви в иерар­хии;

• совпадающие связи с другими отношениями тех отношений, которые связаны между собой по типу соединение.

Поэтому помечаем как несущественные (транзитивные) связи меж­ду отношениями, удовлетворяющими следующим условиям.

Если между отношением R1 с ключом К1 установлена связь типа иерархия с отношением R2 с ключом (Kl, К2), и связь отношения R2 с отношением R3 с ключом (Kl, К2, КЗ) также связь типа иерархия и ме­жду отношениями R1 и R3 также установлена связь типа иерархия, то последняя может быть помечена как несущественная (транзитивная).

Если между отношением R1 и R2 установлена связь типа соедине­ние, то связи одного из них (соподчиненного или с меньшей мощностью домена) можно пометить как несущественные.

Следует заметить, что связи, несущественные с точки зрения иллю­страции концептуальной модели, могут быть обязательными при ото­бражении концептуальной модели в модель БД конкретной СУБД (т.к. на основе связей формируются ограничения ссылочной целостности).

4.1.2. Модели, используемые в концептуальном проектировании

В настоящее время все существующие модели данных, используе­мые в концептуальном проектировании, можно отнести к 2 семействам [16]:

—1 ER-модели.

—1 OR-модели.

Широкое применение этих моделей данных подтверждается фак­тами их использования в наиболее известных CASE-системах для ин­формационного моделирования: Oracle Designer, Computer Associates All Fusion ERwin Data Modeler, Sybase Power Designer, IDS Prof. Scheer ARIS, Microsoft Visio и др.

4.1.2.1. ER-модель

ER-модель (Entity-Relationship - сущность-связь) опирается на по­нятия сущность, атрибут, связь, и ПрО должна быть представлена как совокупность сущностей с атрибутами, между которыми установлены связи.

Под сущностью понимаем имеющее особый смысл, существую­щее в действительности или воображаемое явление или объект, инфор­мация о котором подлежит запоминанию или выяснению. Примерами сущности для ПрО вуз являются Абитуриент, Студент, Аспирант, Пре­подаватель, Помещение, Документ. Имя сущности может представлять тип или класс объекта, но не конкретное значение. Например, сущно­стью является Студент, которая представляет собой всех студентов вуза, а один из них, Иванов Иван Иванович является не сущностью, а кон­кретной реализацией этой сущности.

Атрибутом назовем любое свойство, позволяющее квалифициро­вать, идентифицировать, классифицировать, измерять сущность или выражать ее состояние либо любое описание объекта или явления. Ат­рибут служит для описания одной сущности и только той, под которой он подписан. Атрибут может иметь текстовую, числовую, графическую форму, он может быть получен в результате функционирования органов чувств (осязания, обоняния и т.п.). Поскольку нас интересует обработка информации, сконцентрируем внимание на текстовых и числовых атри­бутах. Например, атрибутами сущности Студент являются ФИО, номер группы, номер зачет, книжки, дата зачисления и др.

Иногда атрибут может стать сущностью, если он представляет са­мостоятельный объект или явление со своими собственными связями и атрибутами (например, атрибут адрес у сущности Личность, представ­ленный в виде текстового поля, может быть трансформирован в сущ­ность Адрес с атрибутами страна, регион, нас. пункт, улица, номер до­ма, квартира).

Связью является поименованное отношение, имеющее место меж­ду двумя сущностями. Такая связь является бинарной в том смысле, что она имеет место между ровно двумя поименованными сущностями или же имеет вид отношения сущности к самой себе. Каждая связь имеет два конца, каждый из которых обладает:

- именем

- степенью / мощностью

- признаком обязательности.

Эти свойства используются для характеристики связи по отноше­нию к каждой из участвующей в ней сторон.

Каждая сущность должна иметь уникальный идентификатор, т.е. должна быть уникально определена: каждый экземпляр (вхождение) сущности должен иметь ясное и недвусмысленное определение, позво­ляющее отличать его от других экземпляров (вхождений) той же сущ­ности. Уникальным идентификатором может быть атрибут, комбинация атрибутов, комбинация связей или атрибутов и связей. Например, уни­кальным идентификатором для сущности Студент является атрибут № зачетной книжки.

Каждый атрибут должен быть определен на конкретном домене. Доменом называется совокупность правил проверки соответствия, фор­матных ограничений и других свойств (характеристик), присущих груп­пе атрибутов.

Например:

* список значений

* диапазон

* уточненный перечень значений или диапазон

* любая комбинация из вышеперечисленного.

Атрибуты из одного домена подчиняются общему набору ограни­чений. Домены не принято представлять на схемах.

На сегодняшний день существуют несколько нотаций для пред­ставления ER-моделей:

1. нотация Чена: сущность изображается прямоугольником, атри­бут - овалом, соединенным со своей сущностью (идентифицирующий атрибут подчеркнут), а связь - ромбом, соединенным со связываемыми сущностями. Вид линии в месте соединения с сущностью определяет кардинальность связи («воронья лапка» - М, «крест» - 1). Имена сущно­сти, атрибута и связи располагаются внутри их изображений (рис. 4.7).

Рис. 4.7. Пример ER-модели в нотации Чена

 

2. нотация Мартина: сущность изображается прямоугольником, внутри которого указано ее имя жирным шрифтом и список ее атрибу­тов (идентифицирующий атрибут подчеркнут), а связь - линией, назва­ние которой располагается над ней и ее вид в месте соединения с сущ­ностью определяет кардинальность связи («воронья лапка» - М, «крест» - 1) (рис. 4.8).

Студент № зачетки ФИО дата рождения учится в Ч Группа № группы год основания кафедра
?
Рис. 4.8. Пример ER-модели в нотации Мартина

 

3. нотация Баркера: сущность изображается прямоугольником, внутри которого указано ее имя жирным шрифтом и список ее атрибу­тов (перед идентифицирующим атрибутом стоит #), а связь - линией, название которой располагается над ней и ее вид в месте соединения с сущностью определяет кардинальность связи («воронья лапка» - М, от­сутствие - 1) (рис. 4.9).

Студент #№ зачетки ФИО дата рождения учится в ч Группа #№ группы год основания кафедра
?
Рис. 4.9. Пример ER-модели в нотации Баркера

 

4. нотация IDEF1X: сущность изображается прямоугольником, ат­рибут - овалом, соединенным со своей сущностью, а связь - ромбом, соединенным со связываемыми сущностями. Имена сущности, атрибута и связи располагаются внутри их изображений (рис. 4.10).

№ зачетки УЧИТСЯ в
ФИО  
дата рождения  
Студент Группа

№ группы год основания кафедра

Рис. 4.10. Пример ER-модели в нотации IDEF1X

 

5. нотация Бахмана: сущность изображается таблицей из одного столбца, столбцы которой являются атрибутами сущности (идентифи­цирующий атрибут выделен жирным шрифтом), а связь - стрелкой, со­единяющей таблицы, направление которой указано на стороне М (рис.4.11).

Группа
№ группы Год основания К ас] )едра

 

Студент г
№ зачетки ФИО Дата рождения № группы
         
Рис. 4.11. Пример ER-модели в нотации Бахмана

 

Допустимые виды связей в ER-модели

Рассмотрим, какие возможны виды связей в ER-модели в зависи­мости от степени мощности и обязательности связей, полученные в ме­тодике Р. Баркера CASE*Method [11].

Многие к одному - 1:М или М:1