Реляционная модель организации данных
Реляционная база данных представляет собой множество взаимосвязанных двумерных таблиц (реляция-отношение), в каждой из которых содержатся сведения об одной сущности.
Реляционная модель ориентирована на организацию данных в виде двумерных таблиц. Каждая реляционная таблица обладает следующими свойствами:
· Каждый элемент таблицы – один элемент данных;
· Все столбцы в таблице однородные, т.е. все элементы в столбце имеют одинаковый тип (числовой, символьный и т.д.) и длину;
· Каждый столбец имеет уникальное имя;
· Одинаковые строки в таблице отсутствуют;
· Порядок следования строк и столбцов может быть произвольным.
Пример. Реляционной таблицей можно представить информацию о студентах, обучающихся в Вузе:
№ личного дела | Фамилия | Имя | Отчество | Дата рождения | Группа |
Сергеев | Петр | Михайлович | 01.01.87 | ||
Петрова | Анна | Алексеевна | 13.0186 | ||
Иванова | Нина | Ивановна | 14.04.87 |
Отношения (реляции) представлены в виде таблиц, строки которых соответствуют записям, а столбцы – полям.
|
|
Поле, каждое значение которого однозначно определяет соответствующую запись, называется простым ключом (ключевым полем). Если записи однозначно определяются значениями нескольких полей, то такая таблица БД имеет составной ключ. В примере вам показанном ключевым полем таблицы является «№ личного дела».
Чтобы связать две реляционные таблицы, необходимо ключ первой таблицы ввести в состав ключа второй таблицы (возможно совпадение ключей), в противном случае нужно ввести в структуру первой таблицы внешний ключ – ключ второй таблицы.
Пример. Реляционная модель, построенная на основе отношений: СТУДЕНТ,СЕССИЯ, СТИПЕНДИЯ.
Отношение Студент
№ личного дела | Фамилия | Имя | Отчество | Дата рождения | Группа |
Сергеев | Петр | Михайлович | 01.01.87 | ||
Петрова | Анна | Алексеевна | 13.0186 | ||
Иванова | Нина | Ивановна | 14.04.87 |
Отношение Сессия
№ личного дела | Оценка 1 | Оценка 2 | Оценка 3 | Оценка 4 | Результат сдачи сессии |
нет | |||||
да | |||||
да |
Отношение СТИПЕНДИЯ
№ личного дела | Фамилия | Имя | Отчество | Результат сдачи сессии |
Сергеев | Петр | Михайлович | нет | |
Петрова | Анна | Алексеевна | да | |
Иванова | Нина | Ивановна | да |
Отношения СТУДЕНТ и СЕССИЯ имеют совпадающие ключи (Номер зачетной книжки), что дает возможность легко организовать между ними связь. Таблица СЕССИЯ имеет первичный ключ Номер зачетной книжки и содержит внешний ключ Результат сдачи сессии (значением этого атрибута может быть логическое «да» — с или «нет» — не сдал), который обеспечивает ее связь с таблицей («СТИПЕНДИЯ»)
|
|
Нормализация отношений.
Нормализация отношений – формальный аппарат ограничений на формирование таблиц, который позволяет устранить дублирование, обеспечивает непротиворечивость хранимых в базе данных, уменьшает трудозатраты на ведение БД
Отношение называется нормализованным ( или находящимся в первой нормальной форме), если все его атрибуты далее неделимы. Преобразование отношения к первой нормальной форме может привести к увеличению количества полей таблицы и изменению ключа.
Например, таблица Студент –(Номер,ФИО, Дата рождения, группа) находятся в первой нормальной форме.
Отношение находится во второй нормальной форме, если оно находится в первой нормальной форме, и каждый неключевой атрибут функционально полно зависит от (составного) ключа.
Так, отношение СТУДЕНТ находится во второй нормальной форме, так как его неключевые атрибуты функционально зависят от ключа Номер зачетной книжки. Отношение СЕССИЯ, имеющее составной ключ Номер зачетной книжки + Результат сдачи сессии, не находится во второй нормальной форме, так как атрибуты Оценка1 и т.д. не находятся в полной функциональной зависимости от составного ключа. Функциональная зависимость реквизитов – зависимость, при которой в экземпляре информационного объекта определенному значению ключевого реквизита соответствует только одно значение описательного характера.
Понятие третьей нормальной формы связано с понятием транзитивной зависимости. Транзитивная зависимость наблюдается в том случае, если один из двух описательных реквизитов зависит от ключа, а другой описательный реквизит зависит от первого описательного реквизита. Отношение находится в третьей нормальной форме, если оно находится во второй нормальной форме и каждый неключевой атрибут нетранзитивно зависит от ключа.
Пример. Если в состав описательных реквизитов информационного объекта Студент включить фамилию старосты группы (староста), которая определяется только номером группы то одна и та же фамилия старосты будет многократно повторяется в разных экземплярах данного информационного объекта. В этом случае наблюдаются затруднения в корректировке фамилии старосты и в случае назначения нового старосты,а также неоправданный расход памяти для хранения дублированной информации.