Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Раздел 4 проек-ние БД.doc
Скачиваний:
2
Добавлен:
26.11.2018
Размер:
429.57 Кб
Скачать

4.1.4. Рекомендации по разработке структур

Какими должны быть сущности

  • каждой сущности отдельную таблицу

  • поля в таблицах сущностей могут быть ключевыми и не ключевыми.

  • обычно достаточно простого ключа, но может быть и составной.

  • информацию о сущностях следует представлять так, чтобы не ключевые поля в таблицах были взаимно независимыми и полностью зависели от ключа.

Организация связей сущностей

  • Записи таблицы связей предназначены для отображения связей между сущностями, информация о которых находится в соответствующих таблицах.

  • Одна таблица связей описывает связь между двумя сущностями.

  • Более сложные связи необходимо сводить к бинарным.

  • Транзитивных связей не должно быть.

Обеспечение целостности

Целостность - свойство базы данных, означающее, что она содержит полную, непротиворечивую, адекватно отражающую предметную область информацию.

Логическая целостность БД - это отсутствие нарушений структуры БД или ее объектов, при удалении или изменении связей между объектами.

Поддержание целостности - это проверка целостности и восстановление в случае нарушения.

Целостное состояние задается с помощью ограничений целостности в виде условий, которым должны удовлетворять хранимые данные.

Основные ограничения:

  • Ограничения значений атрибутов отношений

  • Структурные ограничения на кортежи отношений

  • Целостность ссылок

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

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

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

Долж и Стаж – первичные ключи для R3, R2 и внешние ключи для таб R1.

4.2. Метод сущность - связь

Один из подходов к проектированию БД является метод "сущность–связь" или ER-метод. Суть метода в построении ER- диаграмм, отображающих в графической форме основные объекты ПО (предметной области) и связи между ними, а также определение характеристик этих связей. Затем по четким правилам переходят от ER- диаграмм к таблицам, которые заполняются атрибутами, проверяются условия нормализации, определяются ключевые атрибуты и связи между ними. Результатом является схема данных Базы данных.

4.2.1. Основные понятия метода

Сущность – объект, информация о котором хранится в БД. Экземпляр сущности – конкретный объект.

Экземпляры сущностей отличаются друг от друга и однозначно идентифицируются. Названия сущностей, как правило, существительные. Преподаватель, дисциплина, кафедра, студент- это сущности.

Атрибут сущности – свойство сущности. Фамилия, Имя, Стаж – атрибуты сущности преподаватель.

Ключ сущности – атрибут или набор атрибутов, используемых для идентификации сущности.

Связь между сущностями – соединение между двумя или более сущностями. Предполагается зависимость между атрибутами этих сущностей. Название связи обычно представляется глаголом. Примеры связи: Преподаватель ведет дисциплину. Преподаватель преподает в группе. Преподаватель работает на кафедре.

Степень связи – является характеристикой связи между сущностями, которая может быть типа: 1:1, 1:М, М:1, М:М.

Диаграммы ER- экземпляров, Диаграммы ER-типов используются для наглядности и удобства проектирования.

Примеры ER- диаграмм:

Преподаватель Ведет Дисциплину

Преподаватель

Ведет

Дисциплина

П1

Физика

П2

Химия

П3

Информатика

П4

Математика

П5

СУБД

Рис. 1 Диаграмма ER- экземпляров сущностей

Какую конкретно дисциплину ведет каждый преподаватель.

Рис. 2 Диаграмм ER- типов

На основании диаграмм ER- типа формируются отношения проектируемой БД.

Здесь учитывается степень связи сущностей и класс их принадлежности, что определяется на основе диаграмм ER- экземпляров соответствующих сущностей.

Класс принадлежности экземпляров сущности может быть обязательным и необязательным.

Обязательный класс – все экземпляры сущности обязательно участвуют в рассматриваемой сущности, иначе – необязательный класс принадлежности сущности.

Изменяя класс принадлежности для каждого типа связи можно получить несколько вариантов диаграмм ER- типа. Для характеристик связи на диаграммах используется символ "точка". Если точка внутри прямоугольника, то соответствующая сущность имеет обязательный класс принадлежности. Если вне прямоугольника - необязательный класс принадлежности. Цифры и буквы рядом с точкой указывают на степень связи.

Пример1. связь 1:1 и необязательный класс принадлежности.

На Рис. 1 Диаграмма ER- экземпляров сущностей изображена такая диаграмма: каждый преподаватель ведет не более одной дисциплины, а каждая дисциплина ведется не более чем одним преподавателем. Некоторые преподаватели не ведут дисциплины, а также есть дисциплины, которые не ведутся не одним преподавателем.

Пример 2. связь 1:1 и обязательный класс принадлежности

Преподаватель

Ведет

Дисциплина

П1

Физика

П2

Химия

П3

Информатика

П4

Математика

П5

СУБД

1

Рис. 3 диаграмм связи 1:1 и обязательный класс принадлежности

Возможен промежуточный случай, когда класс принадлежности одной сущности необязательный.

Пример3. Связь типа 1:М

Каждый преподаватель ведет несколько дисциплин, но каждая дисциплина ведется одним преподавателем.

Пример4. Связь типа М:1

Каждый преподаватель ведет одну дисциплину, но каждую дисциплину могут вести несколько преподавателей.

Эти примеры могут иметь несколько вариантов, отличающихся классом принадлежности экземпляров сущности.

Обозначим обязательный класс принадлежности "О", а необязательный "Н". Тогда имеем 4 варианта связи для каждого типа связи: О-О, О-Н, Н-О, Н-Н.

Пример5. Связь типа 1:М, Н-О.

Каждый преподаватель может вести несколько дисциплин или не одной, но каждая дисциплина ведется одним преподавателем.

Преподаватель

Ведет

Дисциплина

П1

Физика

П2

Химия

П3

Информатика

П4

Математика

П5

СУБД

С++

История

Рис. 4 Связь типа 1:М, Н-О.

Аналогично составляются диаграммы для других вариантов.

Пример 6. Связь типа N:М

Каждый преподаватель может вести несколько дисциплин, а каждая дисциплина ведется несколькими преподавателями. Возможны 4 варианта в зависимости от Класса принадлежности экземпляров сущности.

Пример7. Связь типа N:М и О-Н

Каждый преподаватель ведет не менее одной дисциплины, а дисциплина может вестись более чем одним преподавателем, но в тоже время есть дисциплины, которые никем не ведутся.

Преподаватель

Ведет

Дисциплина

П1

Физика

П2

Химия

П3

Информатика

П4

Математика

П5

СУБД

С++

История

Рис. 5 Связь типа N:М и О-Н