.
Декартово произведение выполняется над двумя в общем случае несовместимыми отношениями
и
,имеющими разный состав атрибутов. В результате операции декартова произведения образуется новое отношение
, которое включает все атрибуты исходных отношений
. Результирующее отношение состоит из всевозможных сочетаний кортежей исходных отношений
и
. Число кортежей декартова произведения равно произведению количеств кортежей в исходных отношениях.
Пример. Декартово произведение двух отношений
«Студент» (табл. 2.5) и
, «Предмет» (табл. 2.6) дает новое отношение
«Экзаменационная ведомость» (табл. 2.7), которое содержит все атрибуты исходных отношений. Заметим, что в полученное отношение целесообразно добавить атрибут «Оценка» для записи результатов экзамена.
Таблица 2.5 «Студент»
Номер | Фамилия | |
К11 | 11 | Иванов |
К12 | 12 | Петров |
К13 | 13 | Сидоров |
Таблица 2.6 «Предмет»
Код | Наименование | |
К21 | П1 | Математика |
К22 | П2 | Информатика |
Таблица 2.7 «Экзаменационная ведомость»
Номер | Фамилия | Код | Наименование | Оценка | ||
К11 | К21 | 11 | Иванов | П1 | Математика | |
К11 | К22 | 12 | Петров | П1 | Математика | |
К12 | К21 | 13 | Сидоров | П1 | Математика | |
К12 | К22 | 11 | Иванов | П2 | Информатика | |
К13 | К21 | 12 | Петров | П2 | Информатика | |
К13 | К22 | 13 | Сидоров | П2 | Информатика |
Выбор — операция выполняется над одним отношением
. Для отношения
по заданному условию (предикату) осуществляется выборка подмножества кортежей. Результирующее отношение имеет ту же структуру, но число его кортежей будет меньше (или равно) исходному.
Проекция — операция выполняется над одним отношением
. Операция проекции формирует новое отношение
с заданным подмножеством атрибутов и последовательностью исходного отношения
. Оно может содержать меньше кортежей, так как после отбрасывания в исходном отношении
части атрибутов (возможного исключения первичного ключа) могут образоваться кортежи, дублирующие друг друга. Дублирующие кортежи из результирующего отношения исключаются. Проекция позволяет переупорядочить домены в отношении.
Пример. Ниже приведен пример исходного отношения
«Служащий» (табл. 2.8) и результат проекции
(табл. 2.9) этого отношения на два его атрибута — «должность» и «номер отдела». (*) — удаляемый кортеж-дубликат.
Таблица 2.8 «Служащий»
Служащий | Номер отдела | Должность |
Иванов | 01 | инженер |
Петров | 02 | инженер |
Нестеров | 01 | инженер |
Никитин | 02 | лаборант |
Таблица 2.9 Отношение ![]()
Номер отдела | Должность |
01 | Инженер |
02 | Инженер |
01 | Инженер (*) |
02 | Лаборант |
Соединение выполняется для заданного условия соединения над двумя логически связанными отношениями. Исходные отношения
и
имеют разные структуры, в которых есть одинаковые атрибуты — внешние ключи (ключи связи). Операция соединения формирует новое отношение, структура которого является совокупностью всех атрибутов исходных отношений. Результирующие кортежи формируются объединением каждого кортежа из
с теми кортежами
, для которых выполняется условие. При этом условием, как правило, являются одинаковые значения внешнего ключа в исходных отношениях.
Деление — операция выполняется над двумя отношениями
и
, имеющими в общем случае разные структуры и некоторые одинаковые атрибуты. В результате операции образуется новое отношение, структура которого получается исключением из множества атрибутов отношения
множества атрибутов отношения
. Результирующие строки не должны содержать дубликаты.
Рассмотренные выше операции представлены на рис. 2.4. Они в той или иной мере реализуются в средствах СУБД, обеспечивающих обработку реляционных таблиц. К таким средствам относятся средства запросов и другие языковые конструкции.
Развитие реляционного подхода привело к созданию реляционных языков. Например, язык SQL, реализованный в большинстве СУБД, является более чем реляционно-полным, так как кроме операций реляционной алгебры он содержит полный набор операторов над строками — «включить», «удалить», «обновить», а также реализует арифметические операции и операции сравнения.

Рис. 2.4 Основные операторы реляционной алгебры
Нормализация данных реляционной модели
Важным требованием, предъявляемым к отношениям (таблицам) реляционной модели, является нормализация данных, представленных таблицей. Ненормализованной таблице обычно соответствует одна или несколько нормализованных таблиц-отношений.
Нормализацией называется формальная процедура, в ходе которой атрибуты данных группируются в таблицы, а таблицы группируются в БД (рис. 2.5). Задачами нормализации являются:
- исключение повторяющейся информации в таблицах; создание структуры, в которой предусмотрена возможность ее будущих изменений; создание структуры, в которой влияние структурных изменений на приложения, использующие данные этой БД, сведено к минимуму.
Нормализация выполняется поэтапно. На рис. 2.5 представлена схема нормализации реляционной модели данных.
Для первой нормальной формы (1НФ) требуется, чтобы таблица была двумерной и не содержала повторяющихся групп. У таких таблиц есть только две характеристики — длина (количество записей или строк) и ширина (количество полей или столбцов). Она не должна содержать ячеек, включающих несколько значений. Чтобы в одной ячейке содержалось несколько величин, необходимо ввести третье измерение — глубину, с помощью которой можно хранить в одной ячейке несколько значений. Двумерные таблицы и базы данных характеризуются тем, что они имеют только два измерения. Двумерные базы данных содержат только одну таблицу и не имеют ограничений на число величин в ячейке таблицы.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 |


