- •Владимирский государственный университет имени Александра Григорьевича и Николая Григорьевича Столетовых
- •Глава 1.Базовые понятия реляционной модели данных
- •Глава 1.1. Базовые операции в реляционной модели данных
- •Глава 1.2.Отношения в реляционной модели
- •Глава 2.Состав реляционной модели данных
- •Глава 2.1.Структура реляционной модели данных
- •Глава 2.2.Требования, достоинства и недостатки реляционной модели данных
Глава 1.2.Отношения в реляционной модели
Реляционное отношение обладает следующими свойствами.
В отношении нет одинаковых кортежей.
Кортежи отношения не упорядочены (сверху вниз).
Атрибуты отношения не упорядочены (слева направо).
Все значения атрибутов атомарны (скалярны, неделимы).
Поясним эти свойства.
Отсутствие в отношении одинаковых кортежей
Это свойство следует из того факта, что тело отношения – это математическое множество (кортежей). В классической теории множеств по определению множество не содержит одинаковых элементов.
Это свойство является одним из примеров отмечаемой выше неэквивалентности понятий отношение и таблица. Таблица (в общем случае) может содержать одинаковые строки и, следовательно, таблица, содержащая одинаковые строки, не может быть отношением по определению.
Важным следствием того, что в отношении нет одинаковых строк-кортежей, является то, что в отношении всегда существует по крайней мере один потенциальный ключ. Действительно, так как кортежи уникальны, то обязательно комбинация всех или части атрибутов будет обладать свойством уникальности, и, следовательно, может служить ключом отношения, однозначно идентифицирующим кортежи.
Кортежи отношения не упорядочены (сверху вниз)
Это свойство также следует из того, что тело отношения – это математическое множество, а простые множества в математике не упорядочены. Так, в отношении, представленном на рис. 6.1, кортежи могли быть расположены в любом другом порядке, и, тем не менее, это все равно было бы то же самое отношение. Исходя из сказанного, к отношению не применимы такие понятия,как первый кортеж, последний кортеж, десятый кортеж, следующий или предыдущий кортеж и т. д. Другими словами, в отношении отсутствует позиционной адресация кортежей.
Обращение к конкретному кортежу, его идентификация могут быть осуществлены только по ключу отношения.
Это свойство также служит иллюстрацией не эквивалентности понятий отношение и таблица. В отличие от отношения, строки в таблице всегда упорядочены – есть первая строка, вторая, последняя и т. д.
Атрибуты отношения не упорядочены (слева направо)
Это свойство следует из того факта, что заголовок отношения также определен как простое математическое множество, а именно: множество пар <имя‑атрибута: имя-домена>.
Значения всех атрибутов являются атомарными
В реляционной модели домены, на которых определены атрибуты отношения, и из которых «черпаются» фактические значения атрибутов, могут содержать только атомарные (неделимые, скалярные) значения. Другими словами на пересечении столбца и строки таблицы, представляющей отношение, должно быть в точности одно значение, а не набор значений или какая либо сложная (составная) структура значений.
Отношение, удовлетворяющее этому условию, называется нормализованным, или представленным в первой нормальной форме . Из сказанного следует, что реляционная модель рассматривает только нормализованные отношения, хотя отношение, понимаемое в математическом смысле, в общем случае может быть и ненормализованным. В качестве значений атрибутов ненормализованного отношения могут использоваться и более сложные структуры значений, например другие отношения.
Примером ненормализованного отношения 1. Как следует из вышесказанного, в реляционной модели может служить приведенная на рисунке 6.3 таблица Отношение отношения 1, может быть полностью представлена в виде нормализованного такого вида являются недопустимыми. Следует, однако, заметить, что это ограничение ни в коем смысле не ограничивает нас с точки зрения самой возможности отражения необходимой информации. Так вся информация, представленная в ненормализованном отношении Отношение отношения 2.
Рис. 2. Пример ненормализованного и нормализованного отношений
С математической точки зрения требование использования только нормализованных отношений позволяет (за счет более простой их структуры) упростить операторы для работы с отношениями и уменьшить их количество, не ограничивая возможности адекватного отображения информационного содержания предметной области, так как для любого ненормализованного отношения существует эквивалентная ему нормализованная форма.
Различные отношения, встречающиеся в реляционных системах, можно классифицировать по различным признакам.
1.Именованные отношения – это отношения, определенные в СУБД с помощью специального оператора создания отношения, которым при этом присваиваются имена, уникальные в конкретной базе данных.
2.Базовым отношением называется именованное отношение, которое является автономным и не определяется или не выводится из других отношений, т. е. которое не является производным (см. ниже).
3.Производным отношением называется отношение, которое определено с помощью реляционного выражения через другие именованные отношения и, в конечном итоге, через базовые отношения, то есть получается в результате преобразования каких-либо других отношений.
4.Представление (View) – это именованное производное отношение. Представления виртуальны, они представлены в базе данных исключительно через свое определение в терминах других отношений. При изменении значений данных в исходных отношениях будут изменяться и данные, видимые через конкретное представление.
5.Снимок (Snapshot) – это именованное производное отношение, которое, однако, в отличие от представлений (View) не виртуально, а представлено помимо своего определения через другие отношения реальными данными. Создание снимка похоже на выполнение запроса, результат которого сохраняется в базе данных под определенным именем.
6.Отношение – результат запроса. Это неименованное производное отношение, являющееся результатом некоторого запроса к базе данных.
7.Промежуточным результатом называется неименованное производное отношение, являющееся результатом некоторого реляционного выражения, вложенного в другое выражение.
8.Хранимым отношением называется отношение, которое поддерживается в физической памяти, т. е. значения которого сохраняются на устройствах долговременной памяти. Хранимое отношение – это не обязательно базовое отношение, например, отношение‑снимок (snapshot) также является хранимым отношением.2
