Существует возможность добавления, изменения и удаления некоторых атрибутов в таблице, без изменения отношения в целом, а также добавления новых отношений без серьезных последствий;
В реляционной модели значительно проще обеспечить независимость данных;
Физическое размещение таблиц файлов может оказаться немного проще, чем размещение иерархических и сетевых структур;
Реляционное представление дает ясную картину взаимосвязи атрибутов из различных отношений;
Упрощается контроль доступа и управление правами доступа как к целой таблице, так и к ее отдельным частями, вплоть до атрибутов и кортежей;
Операции проекции, соединения и другие операции позволяют легко разрезать и склеивать отношения, получая таким образом новые, производные отношения. Это дает возможность легко извлекать разнообразную информацию из множества таблиц;
Реляционная модель поддается четкой формализации на основе реляционной алгебры;
Использование двумерных таблиц для представления структур данных является наиболее простым способом работы с БД;
Порядок следования строк и столбцов в таблице не существенен, так как влияет только на скорость доступа к данным.
Значения атрибутов должны быть неделимыми (атомарными), т.е. отношения не могут иметь в качестве компонентов другое отношение;
Все строки таблицы должны иметь одну и туже структуру, т.е. одно и то же количество атрибутов с соответственно совпадающими именами;
Все строки таблицы должны быть уникальными, т.е. различаться хотя бы по значению одного атрибута;
Отношениеимеет имя, которое отличается от имен всех других отношений, используемых в данной предметной области;
4) имена столбцов должны быть различными, а значения столбцов – однотипными (берутся из одного и того же домена);
Строки отношений называют кортежами, записями.
Столбцы (элементарные типы) часто называют атрибутамиили полямизаписи.
Доменпредставляет собой множество (набор значений), из которого извлекается значение для данного атрибута. Связи между отношениями неявно определены на перекрывающихся доменах.
Каждое отношение в таблице физически может храниться либо в отдельном небольшом файле, либо в одном большом файле в совокупности с другими таблицами. Как правило, в терминологии реляционной модели можно выделять следующие понятия [37]:
Таблица 2.1. Терминология реляционной модели
Уровень абстракции
Терминология
Абстрактный уровень
Сущность
Экземпляр сущности
Свойство сущности
Реляционная модель
Отношение
Кортеж
Атрибут
База данных
Таблица
Строка
Столбец
Физические данные
Файл
Запись
Поле
Теоретической основой реляционной модели является реляционная алгебра. Она будет рассмотрена в следующем разделе, а здесь лишь перечислим основные достоинства реляционного подхода:
Нормализация отношений
Нормализация отношений– пошаговый, обратимый процесс анализа отношений на основе их первичного ключа (или потенциальных ключей) и функциональных зависимостей с последующей декомпозицией (разложением) исходных отношений.
Существует несколько причин, почему в БД следует использовать только нормализованные отношения. Прежде всего, нормализованные отношения позволят предотвратить возможность возникновения аномалий обновления, удаления и вставки, а также предотвратить излишнюю избыточность данных.
Избыточностьданных всегда свидетельствует о возможности модифицировать только часть требуемых данных с помощью операции обновления, в то время как существует высокая вероятность того, что остальные данные останутся в первоначальном состоянии, что приводит к их противоречивости.
Отношение может характеризоваться как явной, так и неявной избыточностью данных. Явная избыточностьзаключается в том, что одни и те же значения одного или нескольких атрибутов могут появляться в отношении несколько раз. Явная избыточность довольно легко обнаруживается, что позволяет ее устранить практически сразу, как только начнется заполнение данного отношения. Неявная избыточность, где имеется неявная зависимость между атрибутами. Рассмотрим пример. Пусть имеется таблица, которая хранит информацию о посетителях гостиницы: в какой комнате остановился посетитель и какой в этой комнате телефон:
Таблица 3.1. Пример неявной избыточности
№ гостя
Комната
Телефон
23-12
21-13
24-14
23-12
В данном случае неявная избыточность обнаруживается в том, что один и тот же № телефона имеют гости, живущие в одной комнате. Если поменяется номер у гостя №1, то у гостя № 4 - не поменяется, отсюда следует противоречие: в одной комнате два разных номера.
Аномалия добавлениясвязана со следующими противоречиями. Если появляется необходимость включить в БД кортеж с нулевыми (пустыми) значениями некоторых атрибутов записи, то это приводит к отсутствию некоторой информации в базе. Более того, это может привести к ошибочному результату выполнения запроса, вызванному наличием пустых полей.
Аномалия удаленияв ненормализованных таблицах может привести к тому, что при удалении информации об одном объекте будет удалена также информация о каких-то других объектах. Например, при необходимости удалить один или несколько атрибутов записи приходится удалять всю запись целиком. Это в свою очередь приводит к исключению информации о данном объекте в БД в целом, хотя требовалось удалить лишь некоторую часть информации об объекте (несколько полей записи).
Основная цель нормализации – создание набора отношений с заданными свойствами:
1) между атрибутами не должно быть нежелательных функциональных зависимостей;