- •С. В. Зыкин базы данных
- •1. Введение в предмет «Базы данных»
- •1.1. Основные определения и категории бд
- •1.2. Требования к бд и методы их реализации
- •1.3. Принципы функционирования субд
- •1.4. Языковые средства для работы с бд
- •2. Логическое описание и проектирование бд
- •2.1. Элементы данных и связи
- •2.2. Древовидные модели данных
- •2.3. Сетевые модели данных
- •2.4. Реляционная модель данных
- •2.5. Функциональные зависимости
- •2.6. Вторая и третья нормальные формы
- •2.7. Этапы построения схемы бд
- •3. Физическая организация бд
- •3.1. Основы физической организации бд
- •3.2. Индексно-последовательный метод доступа
- •3.3. Методы хеширования
- •Библиографический список
- •Содержание
2. Логическое описание и проектирование бд
2.1. Элементы данных и связи
Определение. Элементом данных называется поименованное неизменяемое атомарное данное, не допускающие декомпозиции, с определенным типом и наименованием. Причем наименование должно однозначно определять семантику элемента данных без какого-либо контекста.
Ошибки в определении элемента данных:
1) «Цех» – этот элемент данных может содержать в себе другие элементы: начальник цеха, выпускаемая продукция и др., то есть отсутствует семантическая однозначная интерпретация этого элемента (наверно, имелось в виду название цеха или номер цеха).
2) «Средняя зарплата в отделе» – этот элемент не является первичной информацией, а может быть вычислен, следовательно, в базе данных надо хранить сведения о выплатах каждому сотруднику отдельно, а среднее, минимальное, максимальное значения – вычислять в прикладной программе.
3) «Возраст сотрудника» – этот элемент имеет изменяемое значение (в системе отсутствует событие, приводящее к необходимости изменения этого значения), нужно использовать элемент «Дата рождения», а возраст вычислять в приложении. Элемент данных «Номер курса студента» не является изменяемым, поскольку для изменения его значения в системе должно произойти событие: приказ по деканату.
Определение. Связи на схеме БД устанавливаются между отношениями, и отражают количественное соотнесение между связываемыми записями (кортежами) в прикладной области. Связи не должны иметь какой-либо семантики. Связи в БД классифицируются по количеству сопоставляемых друг другу записей.
На начальном этапе проектирования связи могут устанавливаться между элементами данных.
Типы связей:
1) 1:1 – "один к одному". Одному значению первого объекта соответствует не более одного значения второго объекта (номер студента номер читательского билета);
2) М:1 – "многие к одному". Множеству значений первого объекта соответствует не более одного значения второго объекта (табельный номер сотрудника должность сотрудника);
3) 1:М – "один ко многим". Одному значению первого объекта соответствует множество значений второго объекта, где М{0,1,2...} (должность сотрудника табельный номер сотрудника);
4) М:М – "многие ко многим". Множеству значений первого объекта соответствует множество значений второго объекта (должность сотрудника разряд ЕТС сотрудника).
Примечание. Связи на схеме изображаются в виде дуги между связываемыми объектами. Связи первого и второго типа изображаются в виде одиночной стрелки возле второго объекта, третьего и четвертого типа – сдвоенной стрелки. Если связь устанавливается в обе стороны, то соответствующие стрелки изображаются на одной дуге.
Правило склейки записей. Если между элементами данных A и B установлена связь типа 1:1 или М:1, то элемент данных B присоединяется к элементу данных A, образуя логическую запись (тип записи). Элемент данных A в этом типе записи будет ключевым.
Определение (предварительное). Минимальная совокупность атрибутов в отношении, значения которых однозначно определяют объект (кортеж) в отношении, называется первичным ключом этого отношения.