Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 2. Рел_модель.doc
Скачиваний:
4
Добавлен:
04.06.2015
Размер:
220.67 Кб
Скачать

4.2 Операция декартова произведения

Эта операция не накладывает никаких ограничений на структуру перемножаемых отношений. Степень результирующего отношения есть сумма степеней исходных, а мощность – произведение мощностей, это значит, что каждая строка одной таблицы должна быть конкатенирована с каждой строкой другой таблицы.

Студент_Группа(Ст.Nз,Ст.Фио,Ст.Nгр,Гр.Nгр,Гр.ВыпКаф,Гр.Спец) =

Ст(Nз,Фио,Nгр) * Гр(Nгр,ВыпКаф,Спец)

Таблица Ст

Nз

Фио

Nгр

121

Иванов А.И.

К2-221

125

Крутов И.И.

К2-223

123

Петрова Т.В.

К2-281

Таблица Гр

Nгр

ВыпКаф

Спец

К2-221

22

Прикл_математика

К2-223

22

Прикл_математика

К2-281

28

Системный_анализ

Таблица Студент_Группа

Ст.Nз

Ст.Фио

Ст.Nгр

Гр.Nгр

Гр.ВыпКаф

Гр.Спец

121

Иванов А.И.

К2-221

К2-221

22

Прикл_математика

121

Иванов А.И.

К2-221

К2-223

22

Прикл_математика

121

Иванов А.И.

К2-221

К2-281

28

Системный_анализ

125

Крутов И.И.

К2-223

К2-221

22

Прикл_математика

125

Крутов И.И.

К2-223

К2-223

22

Прикл_математика

125

Крутов И.И.

К2-223

К2-281

28

Системный_анализ

123

Петрова Т.В.

К2-281

К2-221

22

Прикл_математика

123

Петрова Т.В.

К2-281

К2-223

22

Прикл_математика

123

Петрова Т.В.

К2-281

К2-281

28

Системный_анализ

4.3 Специальные операции реляционной алгебры

Это операции проекция, ограничение (селекция), соединение, деление. Последние две операции – соединение и деление – не ортогональны остальным, то есть выражаются через ранее введенные.

4.3.1 Проекция

Это унарная операция.

Имеем схему исходного отношения R(A1, A2, … , Am)

Любое подмножество атрибутов {Ai, … , Ak}, принадлежащее множеству атрибутов исходного отношения {A1, A2, … , Am} может выступать в качестве атрибутов проектирования.

Синтаксисоперации:

Rрез(Ai, … , Ak) = R(A1, A2, … , Am)[Ai, … , Ak]

[ ] – квадратные скобки - операционные.

Пример. Рассмотрим отношение, представленное схемой

Сдавали_экзамены(Nз,Фио,Nгр,Курс) расширение (таблицу) которого мы получили ранее.

Запрос «Кто сдавал?» выражается операцией

Кто_сдавал(Nз,Фио) = Сдавали_экзамены(Nз,Фио,Nгр,Курс)[Nз,Фио]

Как это делается? Вычеркиваем все столбцы таблицы Сдавали_экзамены, не входящие в список атрибутов проектирования, получаем «срез» отношения:

Nз

Фио

121

Иванов А.И.

121

Иванов А.И.

121

Иванов А.И.

123

Петрова Т.В.

125

Крутов И.И.

125

Крутов И.И.

127

Скоркин О.И.

127

Скоркин О.И.

129

Доренко Е.С.

Вычеркивая дублирующие строки (оставляя по одной), получаем результирующую таблицу:

Таблица Кто_сдавал(Nз,Фио)

Nз

Фио

121

Иванов А.И.

123

Петрова Т.В.

125

Крутов И.И.

127

Скоркин О.И.

129

Доренко Е.С.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]