Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Zanyatie_1.doc
Скачиваний:
33
Добавлен:
15.03.2016
Размер:
452.1 Кб
Скачать

1.3.3. Дополнительные операции с отношениями

Одной из самых частых операций над отношениями при обработке данных является группировка.

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

Пример:

Информация о продаваемых товарах собирается в отношении R20.

R20

Дата операции

Покупатель

Наименование товара

Количество

Цена, руб

Сумма

04.05.2003

ООО "ОРИОН"

Товар 1

5 000

7,5

37 500

04.05.2003

ООО "ОРИОН"

Товар 2

12 000

6

72 000

04.05.2003

ООО "ОРИОН"

Товар 3

2 000

20

40 000

08.05.2003

ООО "Дельта"

Товар 2

2 000

6

12 000

Дата операции

Покупатель

Наименование товара

Количество

Цена, руб

Сумма

08.05.2003

ООО "Дельта"

Товар 3

30 000

20

600 000

11.05.2003

ООО "Пингвин"

Товар 3

1 600

20

32 000

11.05.2003

ООО "Пингвин"

Товар 1

5 000

7,5

37 500

18.05.2003

ООО "Дельта"

Товар 1

5 000

7,5

37 500

18.05.2003

ООО "Дельта"

Товар 3

30 000

20

600 000

Тогда группировка по атрибуту «Покупатель» будет означать объединение кортежей (строк).

R21 = группировка по атрибуту «Покупатель» (R20)

В результате получим из отношения R20 список покупателей продукции.

R21

Покупатель

ООО "ОРИОН"

ООО "Дельта"

ООО "Пингвин"

Рассмотренная выше операция группировки является простой и может использоваться только для получения множества значений одного или нескольких атрибутов.

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

R22 = группировка по атрибуту «Покупатель» и атрибуту «Товар» ( R20 )

В результате получим новое отношение R22 на основе исходного отношения R20 путем объединения строк таблицы, у которых значения атрибутов «Покупатель» и «Товар» являются одинаковыми.

R22

Покупатель

Товар

ООО "Дельта"

Товар 1

ООО "Дельта"

Товар 2

ООО "Дельта"

Товар 3

ООО "ОРИОН"

Товар 1

ООО "ОРИОН"

Товар 2

ООО "ОРИОН"

Товар 3

ООО "Пингвин"

Товар 1

ООО "Пингвин"

Товар 3

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

Предположим, необходимо на основе отношения R20 получить объемы продаж по каждому товару. Операцию группировки запишем в следующем виде:

R23 = группировка по атрибуту «Покупатель» (R20)

Контрольные вопросы

  1. В чем заключается цель настоящей практической работы?

  2. Что такое модель данных? Какие модели данных Вы знаете?

  3. Дайте определение реляционной модели данных. Для чего исполь­зуется реляционная модель данных?

  4. Опишите какая структура данных является основной в реляционной модели данных?

  5. Дайте определения понятиям: «отношение», «атрибут отношения», «кортеж», «домен», «степень отношения».

  6. Приведите пример n-арного отношения.

  7. Назовите фундаментальные свойства отношений и кратко опиши­те каждое свойство.

  8. Что такое «первичный ключ отношения»?

  9. Дайте определение понятию «схема отношения».

  10. Что такое «реляционная алгебра» и какую роль она играет в теории баз данных?

  11. Приведите классификацию операций реляционной алгебры. Перечислите и кратко опишите основные операции.

  12. Перечислите теоретико-множественные операции реляционной алгебры и приведите примеры их использования.

  13. Перечислите специальные операции реляционной алгебры и приведите примеры их использования.

  14. Что такое «универсум»? Какая операция реляционной алгебры используется для получения универсума?

Порядок выполнения работы

  1. Изучить теоретический материал, разбирая все представленные в нем примеры решения типовых задач.

  2. Для каждого из пунктов варианта задания определить результирующее отношение (структуру таблицы).

  3. Определить место расположения исходных данных, необходимых для получения требуемого в варианте задания результата.

  4. Составить последовательность шагов, которые необходимо выпол­нить для получения результирующего отношения.

  5. Выбрать операции реляционной алгебры, обеспечивающие выпол­нение каждого шага.

  6. Применить операции реляционной алгебры к исходным отношениям на каждом шаге.

  7. Оформить результаты выполнения операций реляционной алгебры каждого шага в виде результирующего отношения.

1СУБД – это программное обеспечение для создания, ведения и обслуживания баз данных.

2SQL– язык построения запросов к данным.

15