
- •История развития, назначение и роль бд.
- •Базовые понятия реляционной модели данных.
- •Операции над множествами.
- •Математические отношения
- •Целостная часть реляционной модели данных.
- •Манипуляционная часть реляционной модели данных. Реляционная алгебра.
- •Языки бд. Qbe и sql
- •Язык определения данных ddl
- •Проектирование реляционных бд с использованием нормализации
Математические отношения
Декартовым произведением двух множеств, например, D1 и D2 (D1 x D2) называется набор из всех возможных пар, в которых первым идёт элемент множества D1, а вторым – элемент множества D2.
D1={2,4}, D2={1,3,5}
D1 x D2={(2,1), (2,3), (2,5), (4,1), (4,3), (4,5)}
Любое подмножество декартова произведения является отношением.
R={(2,1),(4,1)}
Пусть даны n множеств D1, D2, .., Dn. Тогда R – отношение, если R представляет собой множество n-арных кортежей вида {d1, d2, .., dn} где di у Di, i=1бтю
Множество допустимых значений di называется доменом. Тогда R – это подмножество декартова произведения доменов D1 x D2 x .. x Dn.
Каждый кортеж в отношении должен быть уникальным. Можно считать, что декартово произведение соответствует ситуации «всё, что возможно», а отношение моделирует реальную ситуацию.
D1={Иванов, Петров}
D2={История, Информатика, Физика}
D3={3, 4, 5}
D1 x D2 x D3 ={(Иванов, История, 3), (Иванов, История, 4), (Иванов, История, 5), (Иванов, Информатика,3), (Иванов, Информатика, 4), (Иванов, Информатика, 5), …}
Отношения в реляционной теории БД служат для отображения взаимосвязей между свойствами объектов (атрибутами). Отношение R, определённое на множестве доменов D1, D2, .., Dn содержит 2 части:
Заголовок.
Тело.
Заголовок отношения включает фиксированное количество атрибутов отношения: A1, A2, …, An. Каждый атрибут характеризуется именем, доменом и значением. Имя атрибута должно быть уникальным в пределах отношения. Заголовок отношения обычно записывается в следующем виде:
< имя отношения > (< список атрибутов >)
Имя отношения должно быть уникальным в пределах БД.
Список атрибутов представляет собой набор пар вида <Ai : Di>, где Ai – имя атрибута, Di – имя домена (Di можно не указывать).
Заголовок отношения «Стипендия»:
Стипендия (Фамилия, N группы. Размер стипендии)
Схема отношения – это перечень имён атрибутов отношения.
Sk=(A1, A2, .., An)
Схема отношения не меняется никогда в процессе функционирования БД. Тело отношения «Стипендия» содержит множество кортежей, состоящих из пар вида < Ai:Vali >, где Vali – значение составляющего атрибута. Кортеж записывается в круглых скобках:
(< A1:Val1>, < A2:Val2>, .., < Ai:Vali>), причём все значения Vali(Ai) e Di. Тогда тело отношения «Стипендия» можно представить в следующем виде:
(Иванов, 242, 0)
(Петров, 241, 1000)
(Сидоров, 240, 2000)
В теории БД отношение представляется в виде таблицы:
Фамилия |
№ группы |
Размер стипендии |
Иванов |
242 |
0 |
Петров |
241 |
1000 |
Сидоров |
240 |
2000 |
Заголовок «Стипендия» описывает декартово произведение доменов, на котором задано отношение. Заголовок статичен – он не меняется во время работы. Если в заголовке изменены, удалены или добавлены атрибуты, то получаем другое отношение, пусть даже с прежним именем.
Тело отношения «Стипендия» представляет собой подмножество декартова произведения доменов. Тело отношения может изменяться в процессе работы с БД.
Таблица соответствия реляционных терминов и табличных терминов
Реляционный термин |
Табличный термин |
Отношение |
Таблица |
Кортеж отношения |
Строка таблицы (запись) |
Атрибут отношения |
Наименование столбца (поле) |
Степень отношения |
Количество столбцов в таблице |
Мощность отношения |
Количество строк в таблице |
Схема БД |
Набор заголовков таблиц |
БД |
Набор таблиц |
Отношение с точки зрения реляционной алгебры должно обладать следующими свойствами:
Отношение должно иметь уникальное имя.
Каждый столбец должен иметь уникальное имя.
Отношения не должны иметь дубли кортежей.
Значение всех атрибутов должны быть взяты из определённого множества допустимых значений, которые может принимать атрибут (домен атрибута).
Отсутствие упорядоченных кортежей
Третье свойство следует из того, что все отношения – это подмножество декартова произведения множеств. А в таком подмножестве не может быть дублей кортежей по определению. Из пятого свойства следует, что в таблице в отличие от матрицы в математике, нельзя найти конкретную запись по номеру.
В БД записи находятся (идентифицируются) по значению так называемого ключа (первичного ключа, ключевого поля).
Из 3-го свойства следует, что в любом случае в любом отношении с помощью указания набора значений одного или нескольких атрибутов может быть однозначно выделена конкретная запись. Такое множество атрибутов называется ключом (первичным ключом) отношения.
Ключей у отношения может быть несколько. Размер ключа может меняться от одного атрибута до R. Ключом К отношения r является такой атрибут ил группа атрибутов, которые однозначно определяют любую конкретную запись в любом допустимом экземпляре отношения r со схемой R. При этом в любом отношении не может быть 2 кортежей t1 и t2 таких, что t1(K)=t2(K).
Задача выбора ключа является одной из наиболее важных задач при анализе данных. Рекомендуется при этом выбирать в качестве ключа атрибуты, которые в принципе не могут иметь дублей. Например, паспортные данные, номер студенческого билета и т. д.
Следующие свойства отношений:
В отношении не может быть одинаковых кортежей.
Кортежи не упорядочены.
Все значения атрибутов атомарны.
Они определяют первичную нормальную форму БД. То есть если БД соответствует перечисленным свойствам, то она находится в первичной нормальной форме.