- •1 Основные понятия и определения
- •1.1Информационные системы и банки данных
- •1.2Назначение и основные компоненты банка данных
- •1.3Трех уровневая архитектура абстракций базы данных.
- •1.4Физическая и логическая независимость данных
- •1.5Администратор базы данных
- •1.6Системы управления базами данных
- •1.7Схема обмена данными при работе с базой данных
- •1.8Локальные информационные системы
- •1.9Информационные системы в сетях
- •2Модели данных концептуального уровня
- •2.1Иерархическая модель данных
- •2.2Сетевая модель
- •2.3Реляционная модель
- •2.4Постреляционная модель
- •2.5Многомерная модель
- •2.6Объектно-ориентированная модель
- •3Физические модели баз данных
- •3.1Файловые структуры, используемые в базах данных
- •3.2 Хешированные файлы
- •3.2.1Стратегия разрешения коллизий с областью переполнения
- •3.2.2Организация стратегии свободного замещения
- •3.3Индексные файлы
- •3.3.1Файлы с плотным индексом, или индексно-прямые файлы
- •3.3.2Файлы с неплотным индексом, или индексно-последовательные файлы
- •3.3.3Организация индексов в виде b-tree (в-деревьев)
- •3.4Моделирование отношений «один-ко-многим» на файловых структурах
- •3.5Инвертированные списки
- •3.6Модели бесфайловой организации данных
- •4Реляционная модель данных
- •4.1Основные определения
- •4.2Соглашения об отношениях в реляционных системах
- •4.3Классы отношений
- •4.3.1Классы отношений с точки зрения способов создания и хранения
- •4.3.2Классификация отношений с точки зрения их содержания
- •4.4Операции реляционной алгебры
- •4.4.1Основные понятия
- •4.4.2Базовые теоретико-множественные операции
- •4.4.3Специальные операции реляционной алгебры
- •4.4.4Связи между отношениями (таблицами)
- •4.5Реляционное исчисление
- •4.6Язык запросов по образцу qbe
- •4.7Структурированный язык запросов sql
- •4.7.1История развития sql
- •4.7.2Общая характеристика языка
- •4.7.3Структура sql
- •4.7.4Оператор выбора select
- •4.7.5Применение агрегатных функций и группировки
- •4.7.6Раздел order by и ключевое слово top
- •4.7.7Вложенные запросы
- •4.7.8Внутренние и внешние объединения
- •4.7.9Перекрестные запросы
- •4.7.10Операторы манипулирования данными
- •4.7.11Запросы на создание таблиц
- •4.7.12Использование языка определения данных
- •4.8Правила Кодда (требования к реляционным бд)
- •5Проектирование баз данных
- •5.1Этапы проектирования бд
- •5.2Проблемы проектирования реляционных баз данных
- •5.3Нормализация отношений
- •5.4Метод сущность-связь
- •5.5Средства автоматизации проектирования
- •5.5.1Основные определения
- •5.5.2Модели жизненного цикла
- •5.5.3Модели структурного проектирования
- •5.5.4Объектно-ориентированные модели
- •5.5.5 Классификация case-средств
- •6Защита информации в базах данных
- •6.1Общие подходы к обеспечению безопасности данных
- •6.2Назначение и проверка полномочий, проверка подлинности
- •6.3Средства защиты базы данных
- •7Базы данных в сетях
- •7.1Организация базы данных в локальной сети
- •7.2Модели архитектуры клиент-сервер
- •7.3Управление распределенными данными
- •8История развития баз данных
5.4Метод сущность-связь
Метод сущность-связь называют также методом «ER-диаграмм». Аббревиатура ER происходит от слов Essence (сущность) и Relation (связь). Метод основан на использовании диаграмм, называемых диаграммами ER-экземпляров и диаграммами ER-типа.
Основные понятия метода. Основными понятиями метода сущность-связь являются следующие:
сущность;
атрибут сущности;
ключ сущности;
связь между сущностями;
степень связи;
класс принадлежности экземпляров сущности;
диаграммы ER-экземпляров;
диаграммы ER-типа.
Сущность представляет собой объект, информация о котором хранится в БД. Экземпляры сущности отличаются друг от друга и однозначно идентифицируются. Названиями сущностей являются, как правило, существительные, например: ПРЕПОДАВАТЕЛЬ, ДИСЦИПЛИНА, КАФЕДРА, ГРУППА.
Атрибут представляет собой свойство сущности. Это понятие аналогично понятию атрибута в отношении. Так атрибутами сущности ГРУППА могут быть Шифр группы, Факультет, Специальность, Курс, Фамилия_старосты и т.д.
Ключ сущности – атрибут или набор атрибутов, используемый для идентификации экземпляра сущности. Понятие ключа сущности аналогично определению ключа отношения.
Связь двух или более сущностей предполагает существование зависимостей между атрибутами этих сущностей. Название связи обычно представляется глаголом. Примерами связей между сущностями являются следующие: Преподаватель Ведет Дисциплину (Иванов Ведет «Моделирование»), Преподаватель Преподает в Группе (Иванов Преподает в Группе АИ21), Преподаватель Работает на Кафедре (Иванов Работает на Кафедре АВС).
С целью повышения наглядности и удобства проектирования для представления сущностей, экземпляров сущностей и связей между ними используются следующие графические средства:
диаграммы ER-экземпляров;
диаграммы ER-типа, или ER-диаграммы.
На рис. 4.5 приведена диаграмма ER-экземпляров для сущностей ПРЕПОДАВАТЕЛЬ и ДИСЦИПЛИНА со связью ВЕДЕТ.
ПРЕПОДАВАТЕЛЬ |
ВЕДЕТ |
ДИСЦИПЛИНА |
|
|
МОДЕЛИРОВАНИЕ |
ТЮРИН |
|
ЭЛЕКТРОНИКА |
БУРКОВСКИЙ |
|
БАЗЫ ДАННЫХ |
ПОПОВ |
|
СХЕМОТЕХНИКА |
ПИТОЛИН |
|
МЕНЕДЖМЕНТ |
Рис.4.5. Диаграмма ER-экземпляров
Диаграмма ER-экземпляров показывает, какую конкретно дисциплину ведет каждый из преподавателей. На рис. 4.6 представлена диаграмма ER-типа, соответствующая рассмотренной диаграмме ER-экземпляров.
Рис. 4.6. Диаграмма ER-типа
На основе анализа диаграмм ER-типа формируются отношения проектируемой БД. При этом учитывается степень связи сущностей и класс их принадлежности, которые, в свою очередь, определяются на основе анализа диаграмм ER-экземпляров соответствующих сущностей.
Степень связи является характеристикой связи между сущностями, которая может быть типа: 1:1, 1:М, М:1, М:М.
Класс принадлежности (КП) сущности может быть: обязательным и необязательным.
Класс принадлежности сущности является обязательным, если все экземпляры этой сущности обязательно участвуют в рассматриваемой связи, в противном случае класс принадлежности сущности является необязательным.
Варьируя классом принадлежности сущностей для каждого из названных типов связи, можно получить несколько вариантов диаграмм ER-типа. Рассмотрим примеры некоторых из них.
Пример 1. Связи типа 1:1 и необязательный класс принадлежности.
В приведенной на рис.4.5 диаграмме степень связи между сущностями 1:1, а класс принадлежности обеих сущностей необязательный. Действительно, из рисунка видно следующее:
каждый преподаватель ведет не более одной дисциплины, а каждая дисциплина ведется не более чем одним преподавателем (степень связи 1:1);
некоторые преподаватели не ведут ни одной дисциплины и имеются дисциплины, которые не ведет ни один из преподавателей (класс принадлежности обеих сущностей необязательный).
Пример 2. Связи типа 1:1 и обязательный класс принадлежности.
На рис. 4.7 приведены диаграммы, у которых степень связи между сущностями 1:1, а класс принадлежности обеих сущностей обязательный.
а) диаграмма ER-экземпляров
ПРЕПОДАВАТЕЛЬ |
ВЕДЕТ |
ДИСЦИПЛИНА |
СЕРГЕЕВА |
|
МОДЕЛИРОВАНИЕ |
|
|
ЭЛЕКТРОНИКА |
БУРКОВСКИЙ |
|
БАЗЫ ДАННЫХ |
ПОПОВ |
|
СХЕМОТЕХНИКА |
ПИТОЛИН |
|
МЕНЕДЖМЕНТ |
б) диаграмма ER-типа
1 1
Рис.4.7. Диаграммы для связи 1:1 и обязательным классом
принадлежности обеих сущностей
В этом случае каждый преподаватель ведет одну дисциплину и каждая дисциплина ведется одним преподавателем.
Замечания.
На диаграммах ER-типа обязательное участие в связи экземпляров сущности отмечается блоком с точкой внутри, смежным с блоком этой сущности (рис.4.3б).
При необязательном участии экземпляров сущности в связи дополнительный блок к блоку сущности не пристраивается, а точка размещается на линии связи (рис.4.2).
Символы на линии связи указывают на степень связи.
Под каждым блоком, соответствующим некоторой сущности, указывается ее ключ, выделяемый подчеркиванием. Многоточие за ключевыми атрибутами означает, что возможны другие атрибуты сущности, но ни один из них не может быть частью ее ключа. Эти атрибуты выявляются после формирования отношений.
На практике степень связи и класс принадлежности сущностей при проектировании БД определяется спецификой предметной области. Рассмотрим примеры вариантов со степенью связи 1:М или М:1.
Пример 3. Связи типа 1:М.
Каждый преподаватель может вести несколько дисциплин, но каждая дисциплина ведется одним преподавателем.
Пример 4. Связи типа М:1.
Каждый преподаватель может вести одну дисциплину, но каждую дисциплину могут вести несколько преподавателей.
Примеры с типом связи 1:М или М:1 могут иметь ряд вариантов, отличающихся классом принадлежности одной или обеих сущностей. Обозначим обязательный класс принадлежности символом «О», а необязательный – символом «Н», тогда варианты для связи типа 1:М условно можно представить как: О-О, О-Н, Н-О, Н-Н. Для связи типа М:1 также имеются 4 аналогичных варианта.
Пример 5. Связи типа 1:М вариант Н-О.
Каждый преподаватель может вести несколько дисциплин или ни одной, но каждая дисциплина ведется одним преподавателем (рис. 4.8).
а) диаграмма ER-экземпляров
ПРЕПОДАВАТЕЛЬ |
ВЕДЕТ |
ДИСЦИПЛИНА |
|
|
ИНФОРМАТИКА |
С ЕРГЕЕВА |
|
МОДЕЛИРОВАНИЕ |
Т |
|
ЭЛЕКТРОНИКА |
БУРКОВСКИЙ |
|
БАЗЫ ДАННЫХ |
|
|
СХЕМОТЕХНИКА |
ПИТОЛИН |
|
МЕНЕДЖМЕНТ |
ИВАНОВА |
|
ЭЛЕКТРОТЕХНИКА |
|
|
ТЕОРИЯ АВТОМАТОВ |
б) диаграмма ER-типов
M
1
Рис. 4.8. Диаграммы для связи типа 1:М варианта Н-О
Пример 6. Связи типа М:М.
Каждый преподаватель может вести несколько дисциплин, а каждая дисциплина может вестись несколькими преподавателями.
Как и в случае других типов связей, для связи типа М:М возможны 4 варианта, отличающиеся классом принадлежности сущностей.
Пример 7. Связи типа М:М и вариант класса принадлежности О-Н.
Допустим, что каждый преподаватель ведет не менее одной дисциплины, а дисциплина может вестись более чем одним преподавателем, есть и такие дисциплины, которые никто не ведет. Соответствующие этому случаю диаграммы приведены на рис. 4.9.
а) диаграмма ER-экземпляров
ПРЕПОДАВАТЕЛЬ |
ВЕДЕТ |
ДИСЦИПЛИНА |
|
|
ИНФОРМАТИКА |
|
|
БАЗЫ ДАННЫХ |
ХОЛОПКИНА |
|
ПРОГРАММИРОВАНИЕ |
|
|
СХЕМОТЕХНИКА |
б) диаграмма ER-типов
М
М
Рис. 4.9. Диаграммы для связи типа М:М и варианта О-Н
Выявление сущностей и связей между ними, а также формирование на их основе диаграмм ER-типа выполняется на начальных этапах метода сущность-связь.
Этапы реализации метода сущность-связь. Процесс проектирования базы данных является итерационным – допускающим возврат к предыдущим этапам для пересмотра ранее принятых решений и включает следующие этапы:
Выделение сущностей и связей между ними.
Построение диаграмм ER-типа с учетом всех сущностей и их связей.
Формирование набора предварительных отношений с указанием предполагаемого первичного ключа для каждого отношения.
Добавление неключевых атрибутов в отношения.
Приведение предварительных отношений к нормальной форме Бойса-Кодда, например, с помощью метода нормальных форм.
Пересмотр ER-диаграмм в следующих случаях:
некоторые отношения не приводятся к нормальной форме Бойса-Кодда;
некоторым атрибутам не находится логически обоснованных мест в предварительных отношениях.
После преобразования ER-диаграмм осуществляется повторное выполнение предыдущих этапов проектирования (возврат к этапу 1).
Правила формирования отношений. Одним из узловых этапов проектирования является этап формирования отношений.
Правила формирования отношений основываются на учете следующего:
степени связи между сущностями (1:1, 1:М, М:1, М:М);
класса принадлежности экземпляров сущностей (обязательный и необязательный).
Рассмотрим шесть правил формирования отношений на основе диаграмм ER-типа. Правила распространяются на связи между двумя сущностями, т.е. на бинарные связи.
Формирование отношений для связи 1:1.
Правило 1. Если степень бинарной связи 1:1 и класс принадлежности обеих сущностей обязательный, то формируется одно отношение. Первичным ключом этого отношения может быть ключ любого из двух сущностей.
На рис. 4.10 приведены диаграмма ER-типа и отношение, сформированное по правилу 1 на ее основе.
1
К1,… К2,…
R1
К1 v К2,…
Рис. 4.10. Диаграмма и отношения для правила 1
На рисунке используются следующие обозначения:
С1, С2 – сущности 1 и 2;
К1, К2 – ключи первой и второй сущности соответственно;
R1 – отношение 1, сформированное на основе первой и второй сущностей;
К1 v К2,…означает, что ключом сформированного отношения может быть либо К1, либо К2.
Правило 2. Если степень связи 1:1 и класс принадлежности одной сущности обязательный, а второй – необязательный, то под каждую из сущностей формируется по отношению с первичными ключами, являющимися ключами соответствующих сущностей. Далее к отношению, сущность которого имеет обязательный класс принадлежности, добавляется в качестве атрибута ключ сущности с необязательным классом принадлежности.
На рис. 4.11 приведены диаграмма ER-типа и отношения, сформированные по правилу 2 на ее основе.
1 1
1
К1,… К2,…
R1
R2
К1, К2 К2,…
Рис. 4.11. Диаграмма и отношения для правила 2
Правило 3. Если степень связи 1:1 и класс принадлежности обеих сущностей является необязательным, то необходимо использовать три отношения. Два отношения соответствуют связываемым сущностям, ключи которых являются первичными в этих отношениях. Третье отношение является связным между первыми двумя, поэтому его ключ объединяет ключевые атрибуты связываемых отношений.
На рис. 4.12 приведены диаграмма ER-типа и отношения, сформированные по правилу 3 на ее основе.
1
1
К1,… К2,…
К1,… К2,…
К1, К2
Рис. 4.12. Диаграмма и отношения для правила 3
Формирование отношений для связи 1:М.
Если две сущности С1 и С2 связаны как 1:М, сущность С1 будет называть односвязной (1-связной), а сущность С2 – многосвязной (М-связной). Определяющим фактором при формировании отношений, связанных этим видом связи, является класс принадлежности М-связной сущности. Так, если класс принадлежности М-связной сущности обязательный, то в результате применения правила получим два отношения, если необязательный – три отношения. Класс принадлежности односвязной сущности не влияет на результат.
Правило 4. Если степень связи между сущностями 1:М (или М:1) и класс принадлежности М-связной сущности обязательный, то достаточно формирования двух отношений (по одному на каждую из сущностей). При этом первичными ключами этих отношений являются ключи их сущностей. Кроме того, ключ 1-связной сущности добавляется как атрибут (внешний ключ) в отношение, соответствующее М-связной сущности.
На рис. 4.13 приведены диаграмма ER-типа и отношения, сформированные по правилу 4.
1
М
К2,… К1,…
К2,… К1, К2
Рис. 4.13. Диаграмма и отношения для правила 4
Правила 5. Если степень связи 1:М (М:1) и класс принадлежности М-связной сущности является необязательным, то необходимо формирование трех отношений (рис. 4.14).
М 1
К1,… К2,…
К1,… К2,…
К1,К2
Рис. 4.14. Диаграмма и отношения для правила 5
Два отношения соответствуют связываемым сущностям, ключи которых являются первичными в этих отношениях. Третье отношение является связным между первыми двумя (его ключ объединяет ключевые атрибуты связываемых отношений).
Формирование отношений для связи М:М.
При наличии связи М:М между двумя сущностями необходимо три отношения независимо от класса принадлежности любой из сущностей. Использование одного или двух отношений в этом случае не избавляет от пустых полей или избыточного дублирования данных.
Правило 6. Если степень связи М:М, то независимо от класса принадлежности сущностей формируются три отношения. Два отношения соответствуют связываемым сущностям и их ключи являются первичными ключами этих отношений. Третье отношение является связным между первыми двумя, а его ключ объединяет ключевые атрибуты связываемых отношений.
На рис. 4.15 приведены диаграмма ER-типа и отношения, сформированные по правилу 6. На рисунке показан вариант с классом принадлежности сущностей Н-Н.
М М
К1,… К2,…
К1,… К2,…
К1, К2
Рис. 4.15. Диаграмма и отношения для правила 6

СЕРГЕЕВА
ТЮРИН
ЮРИН
ПОПОВ
СЕРГЕЕВА
НОСАЧЕВА