Цели и средства семантического моделирования.
Первоначально в теории баз данных основное внимание уделялось средствам эффективной организации данных и манипулирования ими. В результате возникли три основные модели данных: иерархическая, сетевая и реляционная. Считалось, что предложенные средства достаточно универсальны для представления информации о любых предметных областях. Однако эти модели не содержат развитых средств для представления смысла данных. Семантика реальной предметной области должна представляться в сознании проектировщика независимым от модели способом. Поэтому в последние годы получило развитие направление, являющееся предметом активных исследований в конце 70-х – начале 80-х годов прошлого века – семантическое, или концептуальное, моделирование в базах данных. Его основная цель – организация интерфейса проектировщика, а также интерфейса конечного пользователя с информационной системой на уровне представлений о предметной области, а не на уровне структур данных. В результате строится модель предметной области, не зависящая ни от конкретной СУБД, ни от технических средств. Интерес к этому направлению возрос также в связи с развитием средств автоматизированного проектирования баз данных на основе CASE-технологий. CASE-технологии это автоматизированная разработка программного обеспечения. Она ориентирована на автоматизацию всех стадий разработки программ, начиная с планирования и моделирования и заканчивая кодированием и документированием.
Основной подход к решению задач семантического моделирования в базах данных заключается в выделении двух уровней моделирования.
1. Уровня концептуального моделирования предметной области.
2. Уровня моделирования собственно базы данных.
На верхнем уровне осуществляется переход от неформализованного описания предметной области и информационных потребностей конечного пользователя к их формальному выражению с помощью специальных языковых средств. На нижнем уровне происходит преобразование концептуальной модели предметной области в схему базы данных и нормализация схемы базы данных.
Верхний уровень задачи семантического моделирования характеризуется четырьмя основными этапами.
1. Прежде всего, выявляется некоторое множество семантических концепций (понятий), которые могут быть полезны при неформальном обсуждении реального мира. Например, можно согласиться с тем, что мир построен из сущностей. Развивая данную концепцию, можно допустить, что сущности могут быть классифицированы по типам. Преимущество такой классификации заключается в том, что все сущности определенного типа будут обладать некоторыми общими свойствами. Более того, можно пойти еще дальше и согласиться с тем, что каждая сущность обладает неким особым свойством, предназначенным для ее идентификации, т.е. с тем, что каждая сущность обладает собственной идентичностью. Наконец, можно предположить, что каждая сущность может быть связана с другими сущностями посредством некоторых связей.
2. Далее определяется набор соответствующих символических (формальных) объектов, которые могут использоваться для представления описанных выше семантических концепций.
3. Затем определяется набор формальных общих правил целостности, предназначенных для работы с такими формальными объектами.
4. Наконец также определяется набор формальных операторов, предназначенных для манипулирования этими формальными объектами.
К настоящему времени разработано много различных концепций для построения таких моделей. Одной из таких концепций является модель «сущность – связь», предложенная П. Ченом в 1976 году, часто ее кратко называют ER-моделью. На различных разновидностях ER-модели основано большинство подходов к проектированию баз данных (главным образом, реляционных). Моделирование предметной области базируется на использовании графических диаграмм, включающих небольшое число разнородных элементов.
Метод “сущность-связь”.
Метод “сущность-связь ” называют также методом ER-диаграмм: во-первых, ER – аббревиатура от слов Entity (сущность) и Relationship (связь), во-вторых, метод основан на использовании диаграмм, называемых диаграммами ER-экземпляров и диаграммами ER-типа.
К основным понятиям метода “сущность-связь” относятся понятия:
1. сущность;
2. атрибут сущности;
3. ключ сущности;
4. связь между сущностями;
5. степень связи;
6. класс принадлежности экземпляров сущности;
7. диаграммы ER-экземпляров;
8. диаграммы ER-типа.
Сущность представляет собой объект, информация о котором хранится в базе данных. Экземпляры сущности отличаются друг от друга и однозначно идентифицируются. Названиями сущностей являются, как правило, существительные, например: ПРЕПОДАВАТЕЛЬ, ДИСЦИПЛИНА, КАФЕДРА, ГРУППА.
Атрибут представляет собой свойство сущности. Это понятие аналогично понятию атрибута в отношении. Так, атрибутами сущности ПРЕПОДАВАТЕЛЬ может быть его Фамилия, Должность, Стаж и т. д.
Ключ сущности – атрибут или набор атрибутов, используемый для идентификации экземпляра сущности. Как видно из определения, понятие ключа сущности аналогично понятию ключа отношения.
Связь двух или более сущностей предполагает зависимость между атрибутами этих сущностей. Название связи обычно представляется глаголом. Примерами связей между сущностями являются следующие: ПРЕПОДАВАТЕЛЬ ВЕДЕТ ДИСЦИПЛИНУ (Иванов ВЕДЕТ Базы данных), ПРЕПОДАВАТЕЛЬ ПРЕПОДАЕТ-В ГРУППЕ (Иванов ПРЕПОДАЕТ-В 256 группе), ПРЕПОДАВАТЕЛЬ РАБОТАЕТ-НА КАФЕДРЕ (Иванов РАБОТАЕТ-НА 25 кафедре).
Приведенные определения сущности и связи не полностью формализованы, но приемлемы для практики. Следует иметь в виду, что в результате проектирования могут быть получены несколько вариантов одной базы данных. Так, два разных проектировщика, рассматривая одну и ту же проблему с разных точек зрения, могут получить различные наборы сущностей и связей. При этом оба варианта могут быть рабочими, а выбор лучшего из них будет результатом личных предпочтений.
Для представления сущностей, экземпляров сущностей и связей между ними используются:
1. диаграммы ER-экземпляров;
2. диаграммы ER-типа, или ER-диаграммы.
На рис. 1 приведена диаграмма ER-экземпляров для сущностей ПРЕПОДАВАТЕЛЬ и ДИСЦИПЛИНА со связью ВЕДЕТ.
ПРЕПОДАВАТЕЛЬ | ВЕДЕТ | ДИСЦИПЛИНА |
Иванов · | · СУБД | |
Петров · | · Макроэкономика | |
Сидоров · | · Выс. математика | |
Егоров · | · Бух. учет | |
Козлов · | · Статистика |
Рис. 1. Диаграмма ER-экземпляров
Диаграмма ER-экземпляров показывает, какую конкретно дисциплину ведет каждый из преподавателей. На рис. 2 представлена диаграмма ER-типа, соответствующая рассмотренной диаграмме ER-экземпляров.
1 1
· ·
К1… К2…
Рис. 2. Диаграмма ER-типа
На начальном этапе проектирования БД выделяются атрибуты, составляющие ключи сущностей.
На основе анализа диаграмм ER-типа формируются отношения проектируемой базы данных. При этом учитываются степень связи сущностей и класс принадлежности сущностей, которые, в свою очередь, определяются на основе анализа диаграмм ER-экземпляров соответствующих сущностей.
Степень связи является характеристикой связи между сущностями, которая может быть типа: 1:1, 1:М, М:1, М:М.
Класс принадлежности (КП) сущности может быть обязательным и необязательным.
Класс принадлежности сущности является обязательным, если все экземпляры этой сущности обязательно участвуют в рассматриваемой связи, в противном случае класс принадлежности сущности является необязательным.
Варьируя классом принадлежности сущностей для каждого из названных типов связи, можно получить несколько вариантов диаграмм ER-типа. Рассмотрим примеры некоторых из них.