
- •ВВЕДЕНИЕ
- •1 ПРОЕКТИРОВАНИЕ БАЗ ДАННЫХ: ОСНОВНЫЕ ПОНЯТИЯ
- •1.1 Основные цели и этапы проектирования баз данных
- •1.2 Нормальные формы
- •1.3 Первая нормальная форма
- •1.4 Вторая нормальная форма
- •1.5 Третья нормальная форма
- •1.7 Четвертая нормальная форма
- •1.8 Другие нормальные формы
- •2 ПРОЕКТИРОВАНИЕ БАЗ ДАННЫХ НА ОСНОВЕ ER-МОДЕЛЕЙ
- •2.1 Понятие ER-модели
- •2.2 ER-модель объекта
- •3 ПРОЕКТИРОВАНИЕ БАЗ ДАННЫХ НА ОСНОВЕ СЕМАНТИЧЕСКИХ ОБЪЕКТНЫХ МОДЕЛЕЙ
- •3.1 Понятие семантической объектной модели
- •3.2 Семантический объект
- •3.3 Семантические объектные модели связей между объектами
- •3.4 Типы семантических объектов
- •4 СИСТЕМА АВТОМАТИЗИРОВАННОГО ПРОЕКТИРОВАНИЯ БАЗ ДАННЫХ ERwin
- •4.1 Назначение системы ERWin. Основные этапы проектирования базы данных с использованием ERWin
- •4.2 Основные элементы интерфейса ERWin
- •4.3 Создание логической модели данных
- •ЛИТЕРАТУРА

3ПРОЕКТИРОВАНИЕ БАЗ ДАННЫХ НА ОСНОВЕ СЕМАНТИЧЕСКИХ ОБЪЕКТНЫХ МОДЕЛЕЙ
3.1 Понятие семантической объектной модели
Семантические объектные модели (СОМ-модели), как и ER-модели, представляют собой средство формализованного описания предметной области на этапе инфологического проектирования БД. Модель представляет собой набор семантических объектов. Семантический объект (semantic object) – оформленный по определенным правилам перечень атрибутов некоторого реального объекта предметной области или связи между такими объектами. Эти атрибуты описывают свойства самого объекта или его связи с другими объектами.
Примечание – Для краткости вместо термина “семантический объект” часто используется просто термин “объект”.
На основе COM-модели по определенным правилам строится даталогическая модель для реализации в конкретной СУБД (для реляционных БД – набор таблиц и связей между ними).
По сравнению с ER-моделями СОМ-модели лучше подходят для описания сложных связей между объектами (например, для описания объектов, делящихся на несколько подклассов, причем для каждого подкласса имеются различные связи с объектами других классов). В то же время СОМ-модели менее наглядны и пока менее широко представлены в действующих CASE-системах, чем ERмодели.
3.2 Семантический объект
Рассмотрим некоторые элементы СОМ-моделей на примере СОМ-модели объекта “преподаватель” (см. подраздел 2.2).
ПРЕПОДАВАТЕЛЬ
ID Табельный номер1,1 ID ФИО1,1
Год рождения1,1 Образование1,1 Адрес1,1 Специальность1,1 Кафедра1,1 Должность1,1 Ученая степень0,1 Иностранный язык0,N Научный труд0,N
Преподаваемый курс1,N
Рисунок 3.1 – Пример семантического объекта
38
Здесь ПРЕПОДАВАТЕЛЬ – семантический объект, соответствующий классу реальных объектов “Преподаватели”. Атрибут Табельный номер – атри- бут-идентификатор, на что указывает обозначение ID. Этот идентификатор является уникальным, т.е. никогда е повторяется у двух разных объектов (в данном случае – у двух преподавателей). Поэтому он выделен курсивом. В то же время в СОМ-моделях указываются также неуникальные идентификаторы – атрибуты, которые часто применяются для поиска информации об определенном объекте, но в принципе могут совпадать у нескольких объектов. Здесь таким атрибутом является ФИО.
Для каждого атрибута указаны два кардинальных числа. Первое из них указывает минимально возможное количество значений атрибута, второе - максимально возможное (обозначение N указывает, что количество значений атрибута формально не ограничено). Атрибут, у которого первое кардинальное число равно нулю, является необязательным, в противном случае – обязательным. Атрибут, у которого второе кардинальное число равно 1, является единичным, в противном случае – множественным.
На основе построенной COM-модели (т.е. инфологической модели) строится даталогическая модель по правилам, аналогичным применяемым для ERмоделей: все единичные атрибуты сводятся в одну таблицу, а каждый множественный атрибут вместе с атрибутом-идентификатором выделяется в отдельную таблицу. Даталогическая модель базы данных для рассматриваемого примера приведена в подразделе 2.2.
Предположим теперь, что проектируется база данных кафедры иностранных языков, где необходимо владение по меньшей мере двумя языками (максимальное количество языков, конечно, не ограничивается). В этом случае атрибут Иностранный язык имел бы кардинальные числа 2,N. Следует обратить внимание, что представить это требование с помощью ER-модели (по крайней мере, в ее традиционных формах) невозможно.
Предположит теперь, что вместе с названиями иностранных языков, которые знает преподаватель, в базе данных необходимо указывать степень владения им (“свободно”, “со словарем” и т.д.). СОМ-модель для этого случая приведена на рисунке 3.2, а даталогическая модель – на рисунке 3.3.
Здесь атрибут Иностранный язык – групповой, так как он содержит два атрибута: Язык (т.е. название языка), и Степень владения. Сам групповой атрибут Иностранный язык является множественным. В то же время атрибуты, входящие в него – единичные: у каждого языка – одно название и одна степень владения данным языком для конкретного преподавателя. Атрибут Язык при этом является идентификатором: очевидно, что для одного преподавателя один и тот же язык не может быть указан несколько раз.
Все остальные атрибуты объекта ПРЕПОДАВАТЕЛЬ – простые.
Еще один вид атрибутов СОМ-объектов – семантические объектные атрибуты, предназначенные для описания связей между объектами. Они рассматриваются в подразделе 3.3.
39

ПРЕПОДАВАТЕЛЬ
ID Табельный номер1,1 ID ФИО1,1
Год рождения1,1 Образование1,1 Адрес1,1 Специальность1,1 Кафедра1,1 Должность1,1 Ученая степень0,1 Иностранный язык2,N
Язык1,1 Степень владения1,1
Научный труд0,N Преподаваемый курс1,N
Рисунок 3.2 – Пример семантического объекта с групповым атрибутом
Преподаватели
Табельный |
ФИО |
Год рож- |
Образо- |
Адрес |
|
Специаль- |
Кафедра |
Должность |
|
Ученая |
||||||
номер |
|
|
дения |
вание |
|
|
|
ность |
|
|
|
|
степень |
|||
|
|
|
|
|
|
|
Знание языков |
|
|
|
|
|
||||
|
|
Табельный номер |
|
|
Язык |
|
|
|
Степень владения |
|
||||||
|
|
|
|
|
|
|
Научные труды |
|
|
|
|
|
||||
|
|
|
|
Табельный номер |
|
|
|
Научный труд |
|
|||||||
|
|
|
|
|
|
|
|
Курсы |
|
|
|
|
|
|||
|
|
|
|
Табельный номер |
|
|
Преподаваемый курс |
|
Рисунок 3.3 – Даталогическая модель для БД о преподавателях кафедры иностранных языков
3.3Семантические объектные модели связей между объектами
Вкачестве примера СОМ-модели, описывающей связь между объектами, рассмотрим СОМ-модель для проектирования базы данных о городах и аэропортах (см. пример 2.3.4). СОМ-модель для этой задачи приведена на рисун-
ке 3.4.
40

ГОРОД |
|
АЭРОПОРТ |
||||
ID Код города1,1 |
|
ID Код аэропорта1,1 |
||||
ID Название1,1 |
|
|
Площадь1,1 |
|||
|
Численность населения1,1 |
|
|
Длина ВВП1,1 |
||
|
Аэропорт |
0,N |
|
|
Город |
1,1 |
|
|
|
|
|
|
|
Рисунок 3.4 – СОМ-модель связи между объектами
Здесь семантический объект ГОРОД, наряду с простыми атрибутами (Код города, Название и Численность населения), содержит также семантический объектный атрибут Аэропорт. Этот атрибут фактически представляет собой ссылку на другой объект и указывает, что объект ГОРОД связан с объектом АЭРОПОРТ. Аналогично, объект АЭРОПОРТ содержит семантический объектный атрибут Город, указывающий на связь с этим объектом. Следует обратить внимание, что семантические объектные атрибуты всегда указываются парами.
Характеристики связи (тип и класс принадлежности) описываются кардинальными числами семантических объектных атрибутов. Так, атрибут Аэропорт объекта ГОРОД имеет кардинальные числа 0,N. Это значит, что городу может не соответствовать ни одного аэропорта или соответствовать любое количество аэропортов (один, два и более). Атрибут Город объекта АЭРОПОРТ имеет кардинальные числа 1,1. Это значит, что аэропорту соответствует в точности один город (ни больше, ни меньше). Таким образом, связь между городами и аэропортами – 1:М (одному городу может соответствовать много аэропортов, а одному аэропорту – один город), необязательная для города, обязательная для аэропорта. Даталогическая модель для этой задачи приведена в п.2.3.4.
Рассмотрим теперь СОМ-модель, описывающей связь между объектами и атрибуты этой связи. В качестве примера приведем модель, используемую при проектировании БД о цехах предприятия и о материалах, расходуемых цехами (см. п.2.3.7). СОМ-модель для этого примера приведена на рисунке 3.5.
ЦЕХ |
|
|
|
|
МАТЕРИАЛ |
||||||
ID Номер цеха1,1 |
|
|
|
|
ID Шифр материала1,1 |
||||||
ID Название цеха1,1 |
|
|
|
|
|
Цена1,1 |
|||||
|
ФИО начальника1,1 |
|
|
|
|
|
Единица измерения1,1 |
||||
|
Использование |
1,N |
|
|
|
|
|
Использование |
0,N |
||
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
||||||
|
|
|
|
ИСПОЛЬЗОВАНИЕ |
|||||||
|
|
|
|
Цех |
1,1 |
|
|
||||
|
|
|
|
|
1,1 |
|
|||||
|
|
|
|
Материал |
|||||||
|
|
|
|
Расход1,1 |
|
||||||
|
|
|
|
Периодичность1,N |
|
Рисунок 3.5 – СОМ-модель связи между объектами с описанием атрибутов связи
41