Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
готовые ответы.docx
Скачиваний:
5
Добавлен:
01.03.2025
Размер:
2.21 Mб
Скачать

Деление

Реляционное деление достаточно нетривиально описать, но на примере его смысл нагляден. В целом, из таблицы берутся значения строк, для которых присутствуют все комбинации значений из таблицы B. Понятно? Ну, примерно об этом я и пытался сказать, смотрим пример:

Пример

Пусть даны следующие соотношения:

Мульфильмы

Код_мульта

Название_мульта

Название_канала

0

The Simpsons

RenTV

0

The Simpsons

2х2

0

The Simpsons

CTC

1

Family Guy

RenTV

1

Family Guy

2х2

2

Duck Tales

СТС

2

Duck Tales

2x2

Тогда при делении на таблицу каналов:

Каналы

Название_канала

RenTV

2х2

Результатом будет:

Код_мульта

Название_мульта

0

The Simpsons

1

Family Guy

Family Guy и The Simpsons - мультфильмы, которые показывались и на RenTV и на 2x2 (условие во второй таблице). При этом Duck Talesне показывалось по RenTV, потому был исключён из результирующей таблицы.

Эквивалентный SQL-запрос привести затрудняюсь

Соединение

Операция соединения есть результат последовательного применения операций декартового произведения и выборки. Если в отношениях и имеются атрибуты с одинаковыми наименованиями, то перед выполнением соединения такие атрибуты необходимо переименовать. [ 4 ]

Пример

Мульфильмы

Код_мульта

Название_мульта

Название_канала

0

The Simpsons

2х2

1

Family Guy

2х2

2

Duck Tales

RenTV

Каналы

Код_канала

Частота

RenTV

3,1415

2х2

783,25

Соединим ИХ с выборкой а Название_канала = Код_канала (Произведение)  Первый этап, произведение:

Код_мульта

Название_мульта

Название_канала

Код_канала

Частота

0

The Simpsons

2х2

RenTV

3,1415

0

The Simpsons

2х2

2х2

783,25

1

Family Guy

2х2

RenTV

3,1415

1

Family Guy

2х2

2х2

783,25

2

Duck Tales

RenTV

RenTV

3,1415

2

Duck Tales

RenTV

2х2

783,25

Второй этап, а выборка Название_канала = Код_канала (Произведение):

Код_мульта

Название_мульта

Название_канала

Код_канала

Частота

0

The Simpsons

2х2

2х2

783,25

1

Family Guy

2х2

2х2

783,25

2

Duck Tales

RenTV

RenTV

3,1415

Эквивалентный SQL-запрос:

ВЫБОР * FROM Мультфильмы, Каналы ГДЕ Название _ канала = Код _ канала

9)Операторы SQL для создания, модификации и удаления баз данных и таблиц.