Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БД(4 курс).doc
Скачиваний:
20
Добавлен:
21.04.2019
Размер:
716.29 Кб
Скачать

48,3.6 Оператор расщепления.

Определение. Пусть (t) – предикат на кортежах над R, тогда расщеплением r по называется пара отношений (s, s), каждое со схемой R, такие, что s = {tr | (t)} и s = { tr |(t)}. Обозначается эта пара SPLIT (r).

Пример

Рассмотрим отношение право, определённое в начале этой лекции. Пусть предикат (t) = {t(тип самолёта) = ТУ-134}  {t(тип самолёта) = ТУ-154}. Тогда SPLIT (право) = (s, s), где

s (пилот тип самолёта)

Иванов

ИЛ-86

Сидоров

ИЛ-86

Сидоров

ЯК-40

s (пилот тип самолёта)

Иванов

ТУ-134

Иванов

ТУ-154

Петров

ТУ-134

Петров

ТУ-154

Сидоров

ТУ-134

Сидоров

ТУ-154

Голубев

ТУ-154

Конец примера

49,3.7 Оператор фактор.

Определение. Пусть дано отношение r(R) и B1, B2,…, BkR, а LR. FACTOR(r; B1, B2,…, Bk; L) = (s, s), где s = s((RB1B2Bk)L), s = s (B1B2BkL), причём по L возможно осуществить соединение s и s.

Действие последнего оператора рассмотрим на примере.

Пример

Р

список (отдыхающий курит храпит)

Иванов

да

да

Петров

да

нет

Сидоров

нет

нет

Борисов

да

да

Васин

нет

нет

Алексеев

нет

нет

Григорьев

нет

да

ассмотрим список отдыхающих в некотором доме отдыха.

Н

список1(метка курит храпит)

1

да

да

2

да

нет

3

нет

да

4

нет

нет

список2(отдыхающий метка)

Иванов

1

Петров

2

Сидоров

4

Борисов

1

Васин

4

Алексеев

4

Григорьев

3

ам хочется разместить отдыхающих по номерам так, чтобы курильщики жили с курильщиками, храпящие с храпящими. Но для этого нам, может быть, удобнее пользоваться не исходным списком, а более компактными. Разделим исходное отношение на два. Первое представляет собой все комбинации свойств отдыхающих, обозначенные целыми числами (метками). Во втором вместо столбцов со свойствами появился столбец с метками. Это достигается применением оператора FACTOR(список; курит, храпит; метка) = (список1, список2).

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