- •Лабораторная работа №1. Проектирование инфологической и концептуальной моделей
- •Методика проектирования инфологической модели предметной области
- •Составление перечня атрибутов предметной области
- •Определение сущностей
- •Агрегация атрибутов в сущности
- •Определение первичных ключей
- •Нормализация сущностей
- •Определение связей
- •Внешнее кодирование
- •Графическое представление сущностей
- •Графическое изображение инфологической модели предметной области
- •Методика проектирования концептуальной модели предметной области
- •Основные понятия реляционной модели данных
- •Этапы проектирования концептуальной модели
- •Графическое изображение концептуальной модели предметной области
- •Приложение Пример проектирования базы данных по теме: «Автоматизация учета получения и выдачи книг в библиотеке» Системный анализ предметной области
- •Инфологическая модель предметной области Составление перечня атрибутов предметной области
- •Определение сущностей Агрегация атрибутов в сущности
- •Определение первичных ключей
- •Нормализация сущностей
- •Графическое представление сущностей
- •Определение связей
- •Определение внешних ключей
- •Реализация связей типа «многие-ко-многим»
- •Графическое изображение концептуальной модели предметной области
- •Библиография
Внешнее кодирование
Если значения некоторого атрибута исходной сущности являются текстовыми и неуникальными, то целесообразно осуществить внешнее кодирование, при котором в инфологическую схему вводится новая сущность СПРАВОЧНИК. Эта сущность содержит новый атрибут – короткий код и старый атрибут – текстовое значение. Во всех исходных сущностях, где встречаются текстовые значения старого атрибута, значения заменяются соответствующими кодами. Первичным ключом вновь введенной сущности СПРАВОЧНИК объявляется атрибут, содержащий код. Результат внешнего кодирования оформляется в виде таблицы:
Первая столбец таблицы должен содержать список наименований сущностей, в которых производится замена старого (текстового) атрибута на новый, содержащий код.
Таблица 1.11. Сущность СПРАВОЧНИК
Список сущностей |
Старый атрибут |
Новый атрибут |
|
|
|
|
|
|
В процессе внешнего кодирования может быть выделено несколько новых сущностей СПРАВОЧНИК для разных атрибутов. Например, справочник имен, должностей и т.п. В этом случае таблица 1.11 оформляется для каждой сущности СПРАВОЧНИК.
Графическое представление сущностей
На данном этапе проектирования необходимо каждую сущность, определенную на предыдущих этапах, графически изобразить в виде ER-диаграммы. Информация для изображения ER-диаграмм берется из таблиц 1.1, 1.2, 1.6, 1.7, 1.9 - 1.11.
ER-диаграмма сущности есть прямоугольник, в пределах которого наносится имя сущности и перечень имен ее атрибутов. Ключевые атрибуты выделяются на диаграмме подчеркиванием.
Например, диаграмма сущности ЧИТАТЕЛЬ может выглядеть следующим образом:
Определение связей
К этому шагу определены сущности и их атрибуты. Описание связей поддерживается программным обеспечением СУБД, обеспечивая быстрый доступ к данным. Связи между сущностями устанавливаются на основе анализа описания предметной области.
Пусть известно, что между сущностью и существует связь. Необходимо определить тип связи и обязательность.
Тип связи показывает, как связаны экземпляры сущностей между собой. Существует четыре типа связи, обозначаемые следующим образом:
1:1 «один-к-одному»; 1:М «один-ко-многим»; М:1 «многие-к-одному»; М:М «многие-ко-многим».
Тип связи между сущностями и есть 1:1, если одному экземпляру сущности соответствует не более одного экземпляра сущности и наоборот: одному экземпляру сущности соответствует не более одного экземпляра сущности .
Тип связи между сущностями и есть 1:М, если одному экземпляру сущности может соответствовать несколько (много) экземпляров сущности , а одному экземпляру сущности – не более одного экземпляра сущности . Сущность, входящая в связь со стороны «один», называется родительской (или владельцем), со стороны «много» – называется дочерней (или подчиненной).
Тип связи между сущностями и есть М:М, если одному экземпляру сущности может соответствовать несколько (много) экземпляров сущности и наоборот: одному экземпляру сущности может соответствовать несколько экземпляров сущности .
Обязательность показывает, любой ли экземпляр сущности должен участвовать в данной связи. Подобно типам связи, существует четыре типа обязательности, условно обозначаемые: 0-0; 0-1; 1-0; 1-1. Здесь “0” означает, что экземпляр сущности может быть не связан ни с одним экземпляром другой сущности; “1” – должен быть обязательно связан хотя бы с одним экземпляром другой сущности.
Определение связей проводится в следующем порядке:
Из текста описания предметной области выделяются фразы, отражающие связи между определенными сущностями. Например, фраза «Каждая КНИГА в библиотеке может присутствовать в нескольких ЭКЗЕМПЛЯРАХ» отражает связь между сущностями КНИГА и ЭКЗЕМПЛЯР. Связь между двумя сущностями может выражаться фразами, формулирующими запросы. Допустим, что сущность СИСТЕМНЫЙ КАТАЛОГ содержит атрибут «область знаний». Тогда запросу: «по выбранной области знаний получить полный перечень КНИГ, числящихся в библиотеке» соответствует фраза: «одной области знаний может соответствовать несколько КНИГ». Здесь КНИГА – ранее определенная сущность, «область знаний» – атрибут сущности СИСТЕМНЫЙ КАТАЛОГ. Таким образом, вышеприведенная фраза-запрос неявно отражает связь между сущностями КНИГА и СИСТЕМНЫЙ КАТАЛОГ.
Выявленная связь анализируется и определяются ее характеристики: тип и обязательность.
Если было проведено внешнее кодирование (п. 1.1.2.4.), то между каждым СПРАВОЧНИКОМ и использующей его сущностью есть связь типа 1:М; обязательность данной связи определяется требованиями конкретной предметной области (0-1 или 1-1).
Результат анализа каждой связи записывается в таблицу:
Таблица 1.12. Перечень связей
Сущность 1 |
Сущность 2 |
Тип связи |
Обязательность |
|
|
|
|
|
|
|
|
Пример. Определим тип связи между сущностями КНИГА и СИСТЕМНЫЙ КАТАЛОГ. Из выделенной фразы: «каждая КНИГА содержит сведения из различных областей знаний» следует, что каждой КНИГЕ соответствует множество областей знаний (СИСТЕМНЫЙ КАТАЛОГ). С другой стороны, каждой области знаний соответствует множество КНИГ. Таким образом, данная связь «КНИГА-СИСТЕМНЫЙ КАТАЛОГ» относится к типу М:М.
Определим обязательность. Известно, что каждая КНИГА содержит сведения хотя бы из одной области знаний. Значит, один экземпляр сущности КНИГА обязательно должен быть связан хотя бы с одним экземпляром сущности СИСТЕМНЫЙ КАТАЛОГ. С другой стороны, возможна ситуация, что библиотека пока не имеет ни одной КНИГИ по какой-либо области знаний. Значит, один экземпляр сущности СИСТЕМНЫЙ КАТАЛОГ не обязательно связан с каким-либо экземпляром сущности КНИГА.
Внесем информацию о выявленной связи в таблицу:
Таблица 1.13. Характеристика связи «КНИГА-СИСТЕМНЫЙ КАТАЛОГ»
Сущность 1 |
Сущность 2 |
Тип связи |
Обязательность |
КНИГА |
СИСТЕМНЫЙ КАТАЛОГ |
М:М |
1-0 |
Информация из данной таблицы используется для графического изображения связей между сущностями на заключительном этапе проектирования инфологической модели предметной области.
