
- •Тема 4. Отношения.
- •Операция объединения (объединение множеств кортежей a и b)
- •Операция пересечения (пересечение множеств a и b)
- •Операция разности (разность множеств кортежей a и b)
- •Операция тета-соединения
- •Левое внешнее соединение (тут же правое)
- •Типы нормальных форм Первая нормальная форма (1nf)
- •Вторая нормальная форма (2nf)
- •Третья нормальная форма (3nf)
Тема 4. Отношения.
Понятие отношения. Схема отношений. Атрибут. Домен. Кортеж.
Отношение определяется на множестве доменов и содержит заголовок (атрибуты) и тело (множество кортежей). Заголовок также является множеством значений, все имена в нем уникальны.
Свойства отношений (следуют из того, что отношения – математические множества):
1. В отношении нет одинаковых кортежей (хотя сейчас это возможно);
2. Кортежи не упорядочены сверху вниз;
3. Атрибуты не упорядочены слева направо;
4. Все значения атрибутов – атомарные. Отношение, удовлетворяющее этому требованию,- нормализованное. Сейчас от этого отходят.
Отношение - это множество кортежей, соответствующих одной схеме отношения.
В базах данных кортежем называется группа взаимосвязанных элементов данных. В реляционных базах данных кортеж — это элемент отношения, строка таблицы; упорядоченный набор из N элементов.
Определение 1. Атрибут отношения есть пара вида <Имя_атрибута : Имя_домена>. Имена атрибутов должны быть уникальны в пределах отношения. Часто имена атрибутов отношения совпадают с именами соответствующих доменов.
Определение
2. Отношение ,
определенное на множестве доменов
(не
обязательно различных), содержит две
части: заголовок и тело.
Заголовок
отношения содержит
фиксированное количество атрибутов
отношения:
Тело отношения содержит множество кортежей отношения. Каждый кортеж отношения представляет собой множество пар вида <Имя_атрибута: Значение_атрибута>:
таких
что значение атрибута
принадлежит
домену
Отношение обычно записывается в виде:
,
или короче
,
или
просто
.
Число атрибутов в отношении называют степенью (или -арностью ) отношения. Мощность множества кортежей отношения называют мощностью отношения.
Записи об определенных параметрах каждой из сущностей называются атрибутами. Например, для сущности "заказчик", видимо, будет храниться информация об его наименовании, представителях, адресе и т.п.
Атрибут - это характеристика сущности. Атрибут выражает одно законченное и определенное свойство сущности (например, дату рождения пациента).
Домен (базы данных) — в теории, множество всех допустимых атомарных значений столбца; на практике — метаданные, абстрактно описывающие столбец таблицы БД, включая проверки и ограничения.
Схема отношения - это именованное множество пар {имя атрибута, имя домена (или типа, если понятие домена не поддерживается)}
Теоретико-множественные операции: декартово произведение, объединение, пересечение, разность (вычитание) множеств.
Декартово произведение
Декартово произведение RxS двух отношений (двух таблиц) определяет новое отношение - результат конкатенации (т.е. сцепления) каждого кортежа (каждой записи) из отношения R с каждым кортежем (каждой записью) из отношения S .
RxS={(a, 1, 1, h), (a, 2, 1, h),
(b, 1, 1, h), ... }
SELECT R.a1, R.a2, S.b1, S.b2
FROM R, S
Операция объединения (объединение множеств кортежей a и b)
Объединение ( UNION ) отношений R и S можно
получить в результате их конкатенации
с образованием одного отношения с
исключением кортежей-дубликатов. При
этом отношения R и S должны
быть совместимы, т.е. иметь одинаковое
количество полей с совпадающими типами
данных. Иначе говоря, отношения должны
быть совместимы по объединению.
Объединением двух таблиц R и S является таблица, содержащая все строки, которые имеются в первой таблице R, во второй таблице S или в обеих таблицах сразу.
SELECT R.a1, R.a2
FROM R
UNION
SELECT S.b2, S.b1
FROM S