Лекция-6-1

advertisement
6. РЕЛЯЦИОННАЯ МОДЕЛЬ ДАННЫХ
Реляционная модель (РМ) основана на понятии "отношения" (Relationship), она наиболее
распространена в настоящее время, хотя наряду с общепризнанными достоинствами обладает и
рядом недостатков. Эти преимущества привели к тому, что уже в середине 80-х годов реляционные
СУБД практически вытеснили с мирового рынка ранние СУБД. К числу достоинств реляционной
модели относят следующие:
•простота, наличие небольшого набора абстракций, которые позволяют сравнительно просто
моделировать большую часть распространенных предметных областей и допускают точные
формальные определения, оставаясь интуитивно понятными;
•наличие хорошо разработанного и мощного математического аппарата;
•возможность операций над данными без знания их физической организации.
Недостатками реляционной модели считают:
•низкую эффективность хранения данных по сравнению с другими моделями;
•недостаточное быстродействие при реализации некоторых операций;
•ограниченность представления сложных структур данных;
•невозможность адекватного отражения семантики предметной области.
6.1. Основные понятия теории отношений, компоненты реляционной модели данных
В основе реляционной модели лежат следующие понятия: тип данных, домен, атрибут, кортеж,
первичный ключ и отношение.
Понятие тип данных в реляционной модели данных полностью совпадает с этим понятием в языках
программирования. Обычно выделяют символьный, числовой, денежный, битовый и календарный
типы.
Под доменом понимают множество допустимых значений простого типа, например, множество
фамилий людей, множество номеров пропусков, множество чисел, равных возрасту человека и т.п.
Все элементы домена относятся к одному типу данных и отвечают какому-либо логическому условию.
Элементом домена может быть число, символьная строка, дата, но не сложная структура типа
массива, списка и т.п.
Атрибут в реляционной модели имеет тот же смысл, что и свойство объекта в ER- модели. Значения
каждого атрибута относятся к одному из доменов, то есть атрибут может принимать значения из
заданного множества. Атрибут имеет имя и значение, часто имя атрибута совпадает с именем домена,
например, атрибуты - "Номер зачетной книжки", "ФИО сотрудника" и т.п.
Схемой отношения называют именованное множество пар (Ai, Di), i=1,k, где Ai - имя атрибута, Di имя домена, k - ранг отношения.
Например, рассмотрим схему отношения:
МОИ ДРУЗЬЯ ( (Имя, Имена людей), (Возраст, Числа от 15 до 25) )
Здесь атрибуты: Имя, Возраст; домены: Имена людей, Числа от 15 до 25. Ранг отношения = 2.
Если имя атрибута совпадает с именем домена, то схему отношения можно представить в виде списка
R (A1, A2, ... Ak), где Аi - имена доменов
Схема реляционной базы данных представляет собой совокупность схем отношений и содержит
следующие компоненты:
S(rel) = < A, D, R, Rel, F>,
где A - множество атрибутов
D - множество доменов
R - множество имен отношений
Rel - множество схем отношений
F - множество ограничений, в том числе функциональных зависимостей.
Кортеж отношения - это множество пар "имя атрибута, значение атрибута", причем каждый атрибут
отношения один и только один раз входит в кортеж. Например, кортежами отношения МОИ ДРУЗЬЯ
могут являться множества:
( Имя/Витек , Возраст/16 )
( Имя/Серега, Возраст/18 )
( Имя/Ирина, Возраст/17 )
Отношение - это множество кортежей, соответствующих одной схеме отношения. Например,
запишем несколько отношений:
R1 = { (Витек, 16), (Серега, 18), (Ирина, 17) },
R2 = { (Ирина, 17), (Витек, 16) };
R3 = { f } - пустое множество.
Таким образом, элементами отношений являются кортежи, например: (Ирина,17).
На практике отношение удобно представить в виде таблицы, заголовком которой является схема
отношения, а строками - кортежи отношения; в этом случае имена атрибутов становятся именами
столбцов этой таблицы. Например:
Имя друга
Возраст
Витек
16
Серега
18
Ирина
17
Фундаментальные свойства отношений:
1. Отношение не содержит кортежей-дубликатов. Поскольку отношение - это множество, то по
определению каждый элемент множества уникален. Элементами отношения являются кортежи,
следовательно таблица отношения не может содержать двух одинаковых строк - кортежей.
2. Каждое отношение имеет ключ, то есть атрибут (набор атрибутов), значения которого однозначно
идентифицируют каждую строку таблицы отношения. Первичный ключ отношения должен содержать
минимальный набор атрибутов, ни один из которых нельзя отбросить без потери главного свойства
ключа - однозначно определять кортеж.
3. Порядок кортежей в отношении не имеет значения.
4. Порядок атрибутов отношения не имеет значения, так как они именованы.
5. Значения всех атрибутов являются атомарными, так как домен по определению не может содержать
сложных типов данных. Принято говорить, что в реляционных базах данных допускаются только
нормализованные отношения или отношения, представленные в первой нормальной форме.
Для связи между разными отношениями используется понятие внешнего ключа. Внешним ключом
называется атрибут (совокупность атрибутов), который является ключом Ak в другом отношении и его
значения принадлежат к домену Dk. Говорят, что отношение, в котором определен внешний ключ,
ссылается на другое отношение, в котором такой же атрибут является первичным ключом.
Например, рассмотрим отношения КАДРЫ (Таб №. ФИО, Год рожд, Пол, № цеха, Разряд) и
ТАРИФНАЯ СЕТКА (Разряд, Мин_оклад, Мах_оклад). Первичные ключи - атрибут Таб№ в отношении
КАДРЫ и атрибут Разряд в отношении ТАРИФНАЯ СЕТКА. Атрибут “Разряд“ является внешним
ключом в отношении “Кадры” и ссылается на первичный ключ отношения ТАРИФНАЯ СЕТКА.
Компоненты реляционной модели данных.
Согласно Дейту, реляционная модель состоит из трех частей:
• описание структуры данных,
• описание операций над данными (манипуляционная часть) и
• описание ограничений целостности базы данных, то есть условий правильности и
непротиворечивости данных.
Для описания структуры данных используются только нормализованные отношения.
Для описания операций над данными используются два механизма: реляционная алгебра и
реляционное исчисление. Первый механизм базируется в основном на классической теории множеств,
а второй - на классическом логическом аппарате исчисления предикатов первого порядка.
Наконец, должны выполняться два базовых требования целостности:
A. Любой кортеж любого отношения должен быть отличим от любого другого кортежа этого отношения
(это требование автоматически выполняется, если отношение нормализовано);
B. Для каждого значения внешнего ключа в отношении Х должен найтись кортеж с таким же
значением первичного ключа в отношении У, на которое он ссылается, либо значение внешнего ключа
должно быть полностью неопределенным (то есть ни на что не указывать). Например, если в
отношении КАДРЫ для какого-то сотрудника указан разряд 5, то в отношении ТАРИФНАЯ СЕТКА
должен быть кортеж, описывающий оклад 5-го разряда.
Download