Реляционные модели данных.

 

Строка реляционной таблицы - называется записью, а столбцы называются полями. Запись представляет собой один экземпляр информационного объекта. Поле отражает какое-то свойство этого объекта. Каждое поле характеризуется:

- именем;

- типом;

- размером.

Для однозначного определения каждой записи может использоваться ключ. Ключ может состоять из одного или нескольких полей записи. Если ключ состоит из нескольких полей, он называется составным. Ключ должен быть уникальным и однозначно определять запись. По значению ключа можно отыскать единственную запись. Ключи служат также для упорядочивания информации в БД.

Таблицы реляционной БД должны отвечать требованиям нормализации отношений. Нормализация отношений – это формальный аппарат ограничений на формирование таблиц, который позволяет устранить дублирование, обеспечивает непротиворечивость хранимых в базе данных, уменьшает трудозатраты на ведение базы данных.

Пусть создана таблица Студент, содержащая следующие поля: № группы, ФИО, № зачетки, Дата рождения, Название специальности, Название факультета. Такая организация хранения информации будет иметь ряд недостатков:

- дублирование информации (наименование специальности и факультета повторяются для каждого студента), следовательно, увеличится объем БД;

- процедура обновления информации в таблице затрудняется из-за необходимости редактирования каждой записи таблицы.

Нормализация таблиц предназначена для устранения этих недостатков.

Имеется три нормальные формы отношений.

Первая нормальная форма. Реляционная таблица приведена к первой нормальной форме, если все ее поля простые (т.е. далее неделимые). Так, если из таблицы Студент требуется получать сведения по имени студента, то поле ФИО следует разбить на части Фамилия, Имя, Отчество.

Вторая нормальная форма. Реляционная таблица задана во второй нормальной форме, если она приведена к первой нормальной форме, и каждый неключевое поле полностью зависит от любого возможного ключа. Чтобы привести таблицу ко второй нормальной форме, необходимо определить функциональную зависимость полей. Функциональная зависимость полей – это зависимость, при которой в экземпляре информационного объекта определенному значению ключевого реквизита соответствует только одно значение описательного реквизита.

Третья нормальная форма. Таблица находится в третьей нормальной форме, если она находится во второй нормальной форме, и отсутствует транзитивная зависимость полей. Транзитивная зависимость наблюдается в том случае, когда одно из двух описательных полей зависит от ключа, а другое описательный поле зависит от первого описательного поля. Например, в таблице Студент (№ группы, ФИО, № зачетной книжки, Дата рождения, Староста) три поля: № зачетной книжки, № группы, Староста находятся в транзитивной зависимости. № группы зависит от № зачетной книжки, а Староста зависит от № группы. Для устранения транзитивной зависимости необходимо часть полей таблицы Студент перенести в другую таблицу Группа. Таблицы примут следующий вид: Студент (№ группы, ФИО, № зачетной книжки, Дата рождения), Группа (№ группы, Староста).

Над реляционными таблицами возможны следующие операции:

- Объединение таблиц с одинаковой структурой. Результат – общая таблица: сначала первая, затем вторая (конкатенация).

- Пересечение таблиц с одинаковой структурой. Результат – выбираются те записи, которые находятся в обеих таблицах.

- Вычитание таблиц с одинаковой структурой. Результат – выбираются те записи, которых нет в вычитаемом.

- Выборка (горизонтальное подмножество). Результат – выбираются записи, отвечающие определенным условиям.

- Проекция (вертикальное подмножество). Результат – отношение, содержащее часть полей из исходных таблиц.

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