.

Декартово произведение выполняется над двумя в общем случае несовместимыми отношениями и ,имею­щими разный состав атрибутов. В результате операции декартова произведения образуется новое от­ношение , которое включает все атрибуты исходных отношений . Результирующее отношение состоит из всевозможных соче­таний кортежей исходных отношений и . Число кортежей декартова произведения равно произведению количеств кортежей в исходных отношениях.

Пример. Декартово произведение двух отношений «Студент» (табл. 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