
Тема 4. Реляционная теория бд
Реляционная модель впервые была предложена Э.Ф. Коддом в 1970 г.
ПРИМЕР БД «Агенство»
4.1. Терминология
Отношение (таблица, файл) |
Плоская таблица, состоящая из столбцов и строк |
В реляционной СУБД предполагается, что пользователь воспринимает БД как набор таблиц (и не как иначе).
Атрибут (столбец, поле) |
Поименованный столбец отношения |
Домен |
Набор допустимых значений для одного или нескольких атрибутов |
Кортеж (строка, запись) |
Строка отношения |
Заголовок (или содержание) отношения |
Описание структуры отношения вместе со спецификацией доменов и другими ограничениями значений атрибутов |
Степень |
Количество атрибутов в отношении |
Кардинальность, кардинальное число |
Количество кортежей в отношении |
Реляционная база данных |
Набор нормализованных отношений |
4.2. Математические отношения
Теория реляционных БД основана на математической теории отношений.
Пусть D1, D2, … Dn некоторые множества.
Декартовым произведение
D1D2 …Dn= {(x1,x2,…, xn) | x1 D1, x2 D2, …xn Dn}
Отношение - подмножество RD1D2 …Dn
Например, n=2, D1={2,4} и D2={1,3,5},
D1D2={(2,1), (2,3), (2,5), (4,1), (4,3), (4,5)},
R={(2,1), (4,1)}.
x1 |
x2 |
2 |
1 |
4 |
1 |
Подмножество м. б. задано условием, например:
R={(x1,x2) | x1 D1, x2 D2, x2 =1}.
A1, A2, … An - имена атрибутов с доменами D1, D2, … Dn, тогда отношение будем записывать в виде:
R(A1: D1, A2: D2, … An: Dn)
R(A1, A2, … An)
Свойства отношений:
отношение имеет уникальное имя;
каждый атрибут имеет уникальное имя (в отношении);
каждая ячейка отношения содержит только атомарное значение и нет повторяющихся групп (отношение нормализовано);
Пример:
D1 – студенты
D2 – дисциплины: Математика, Информатика
D3 – оценки 2,3, 4, 5
А |
Dis1 |
O1 |
Dis2 |
O2 |
Иванов |
Мат |
5 |
Инф |
4 |
|
|
|
|
|
А |
Dis |
O |
Иванов |
Мат Инф |
5 4 |
|
|
|
А |
Dis |
O |
Иванов |
Мат |
5 |
Иванов |
Инф |
4 |
порядок следования атрибутов не имеет никакого значения;
порядок следования кортежей произвольный;
каждый кортеж является уникальным.
4.3. Реляционные ключи
Реляционные ключи служат для уникальной идентификации кортежа и описания связей между отношениями.
Суперключ |
Атрибут или совокупность атрибутов, которые единственным образом идентифицирует кортеж |
Потенциальный ключ |
Суперключ, который не содержит подмножества атрибутов, образующих суперключ |
Составной ключ |
Ключ, составленный из нескольких атрибутов |
Первичный ключ |
Потенциальный ключ, который выбран для уникальной идентификации кортежей в отношении |
Альтернативные ключи |
Остальные потенциальные ключи |
Внешний ключ |
Атрибут или совокупность атрибутов, которые соответствуют потенциальному ключу некоторого отношения |