Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Моделирование баз данных.doc
Скачиваний:
3
Добавлен:
01.05.2025
Размер:
1.82 Mб
Скачать

2.5.1 Основные понятия модели «сущность-связь»

Моделирование структуры базы с использованием строгих правил и алгоритмов нормализации имеет свои недостатки. Поэтому в реальном проектировании архитектуры БД чаще применяется семантическое моделирование. Такое моделирование представляет собой моделирование структуры данных исходя из смысловой нагрузки на эти данные. При таком моделировании в качестве инструмента используются различные варианты ER моделирования – моделирования сущность-связь. Разработка базы данных основывается на методе проектирования с помощью диаграмм «сущность-связь» (E/R - диаграмм).

ER-диаграмма – это графическое представление предметов и отношений между ними. Ее цель – точно представить на логическом уровне данные, которые необходимо хранить и обрабатывать.

Атрибуты. Атрибуты представляют данные об объектах, которые необходимо хранить. Атрибуты представляются именами существительными, которые описывают характеристики сущностей.

Сущность – это множество экземпляров реальных или абстрактных объектов, обладающих атрибутами или характеристиками. Имя сущности отображает тип объекта (обычно имя существительное).

Связь – это некоторая ассоциация между двумя и более сущностями, которая показывает взаимосвязь между ними. Характеризуется типами связей (1:1, 1:n, n:m). Если экземпляр сущности-потомка однозначно определяется своей связью с сущностью-родителем, то связь называется идентифицирующей, в противном случае - неидентифицирующей. Связь может дополнительно определяться с помощью указания степени или мощности (количества экземпляров сущности-потомка, которое может существовать для каждого экземпляра сущности-родителя). Могут быть выражены следующие мощности связей:

  • каждый экземпляр сущности-родителя может иметь ноль, один или более связанных с ним экземпляров сущности-потомка;

  • каждый экземпляр сущности-родителя должен иметь не менее одного связанного с ним экземпляра сущности-потомка;

  • каждый экземпляр сущности-родителя должен иметь не более одного связанного с ним экземпляра сущности-потомка;

  • каждый экземпляр сущности-родителя связан с некоторым фиксированным числом экземпляров сущности-потомка.

2.5.2 Основные графические обозначения элементов модели

Создание ER модели на примере предметной области «Университет» (упрощенная модель).

Модель предметной области (логического уровня).

Каждой сущности присваивается уникальное имя и номер, разделяемые косой чертой "/" и помещаемые над блоком. Сущности E/1 и E/2 – родительские, сущность E/3 – дочерняя. Результат представлен на рисунке 2.15.

Рисунок 2.15 - Логическая модель БД «Университет»

Таблица 2.5 - Описание сущностей и их атрибутов

Название сущности

Название

атрибута

Характеристика атрибута

Disp (описывает понятие "Дисциплина" в предметной области "Университет")

Cafedra

Название кафедры, на которой читается дисциплина

Disp_Name

Название дисциплины

ID_Cat (FK)

Ссылка (внешний ключ) на тип дисциплины (на практике это может быть, например, лекция, лабораторная работа и т.д.)

Person (описывает понятие "Человек", который ведет занятия в предметной области "Университет")

Tab_N

Табельный номер сотрудника

Academic_Degree

Ученая степень сотрудника

FIO

Фамилия имя отчество сотрудника

Categories (описывает понятие "Категория дисциплины" в предметной области "Университет")

ID_Cat

Идентификатор категории

Cat

Тип (категория) занятия

Teach (описывает понятие "Учебная нагрузка" в предметной области "Университет")

Teach_ID

Ссылка (внешний ключ) по идентификатору на сотрудника

Start_Of_Work

Начало работы

ID_Disp

Ссылка (внешний ключ) на тип (категорию) занятия, включенного в нагрузку

Tab_N

Ссылка на табельный номер сотрудника

Атрибуты изображаются в виде списка имен внутри блока сущности. Атрибуты, определяющие первичный ключ, размещаются наверху списка и отделяются от других атрибутов горизонтальной чертой. Идентифицирующая связь между сущностью-родителем и сущностью-потомком изображается сплошной линией. Сущность-потомок в идентифицирующей связи является зависимой от идентификатора сущностью. Пунктирная линия изображает неидентифицирующую связь. Сущность-потомок в неидентифицирующей связи будет независимой от идентификатора. Сущности могут иметь также внешние ключи (Foreign Key), которые могут использоваться в качестве части или целого первичного ключа или неключевого атрибута. Внешний ключ изображается с помощью помещения внутрь блока сущности имен атрибутов, после которых следуют буквы FK в скобках.

Результат преобразования модели из логического уровня в физический уровень моделирования представлен на рисунке 2.16. Из характерных особенностей модели данного уровня следует отметить две важные особенности:

1) модель содержит в себе те же сущности, что были заложены в модель на логическом уровне;

2) каждый атрибут сущности строится на конкретном типе данных, поддерживаемым СУБД.

Рисунок 2.16 - Физическая модель БД «Университет»

По модели "сущность-связь" физического уровня легко перейти к описанию ее структуры на языке SQL конкретной СУБД. Процедура прямого моделирования и проектирования структуры БД называется "forward-engineering". Результатом "forward-engineering" модели БД "Университет" будет SQL скрипт, представленный в приложении А. На практике иногда выполняют обратную процедуру, когда по известному SQL описанию генерируют модель в понятиях методологии "сущность-связь" для ее дальнейшего анализа и развития. Подобные процедуры называются "reverse-engineering" и реализованы почти во всех CASE средствах моделирования, например в ERWin.