Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1-3praktika.doc
Скачиваний:
40
Добавлен:
30.06.2021
Размер:
371.2 Кб
Скачать

Список s студентов, которые сдали экзамен по бд на «отлично»

S

ФИО

Абдулов Мехроч Кавгакович

Ибрагимов Акбар Ахмедович

Рахимов Рахмон Насимович

Хайтулов Зайнидин Хамуевич

Шоев Сорбон Шерович

Список R4 тех, кто должен был сдавать экзамен по БД, но пока еще не сдавал

R4

ФИО

Бепулов Сумдор Гарибович

Список r5 всех, кто сдавал экзамен по «бд»

R5

ФИО

Абдулов Мехроч Кавгакович

Гадоев Бахтовар Ахтарович

Ибрагимов Акбар Ахмедович

Камолов Мустафа Далерович

Пулатов Рахматулло Азамджонович

Рахимов Рахмон Насимович

Рустамов Сухроб Рустамови

Хайтулов Зайнидин Хамуевич

Шоев Сорбон Шерович

Список s несчастных, имеющих несколько двоек

S

ФИО

Гадоев Бахтовар Ахтарович

Камолов Мустафа Далерович

Список r4 круглых отличников

R4

ФИО

Абдулов Мехроч Кавгакович

Рахимов Рахмон Насимович

Хайтулов Зайнидин Хамуевич

Занятие 3 Задания для самостоятельной работы №1

Задание 1

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

R1

ФИО клиента

№ филиала

№ счета

Остаток

Кредит

R2

№ филиала

Район

С использованием языка реляционной алгебры составить запросы, позволяющие выбрать:

  1. Филиалы, клиенты которых имеют счета с остатком, превышающим $1000.

R3 = R[Остаток > ‘1000’]

R4 = R[№ филиала]

  1. Клиентов, которые имеют счета во всех филиалах данного банка.

R3 = R[ФИО, № филиала]

R4 = R[№ филиала]

R5 = R[R3.№ филиала : R4.№ филиала] R4

  1. Клиентов, которые имеют только по одному счету в разных филиалах банка. То есть в общем у этих клиентов может быть несколько счетов, но в одном филиале не более одного счета.

R3 = R[ФИО = R1.ФИО ∩ № филиала = R1.№ филиала ∩ № счета = R1.№ счета]

R4 = R1 [ФИО < > R3.ФИО]

  1. Клиенты, которые имеют счета в нескольких филиалах банка, расположенных только в одном районе.

R3 = R[R1.№ филиала = R2.№ филиала] R2

R4 = R3 [ФИО = R3.ФИО ∩ Район < > R3.Район]

R5 = R3 [ФИО = R3.ФИО ∩ № счета ∩ R3.№ счета]

R6 = R1 [ФИО = R5.ФИО]

R7 = R6 [ФИО < > R4.ФИО]

R8 = R7 [ФИО]

  1. Филиалы, которые не имеют ни одного клиента.

R3 = R1 [№ филиала]

R4 = R2 [№ филиала]

R5 = R4 \ R3

  1. Филиалы, которые имеют клиентов с остатком на счету 0 (ноль).

R3 = R1 [Остаток = ‘0’]

R4 = R3 [№ филиала]

  1. Филиалы, у которых есть клиенты с кредитом, превышающим остаток на счету в 2 раза.

R3 = R1 [Кредит > (Остаток * 2)]

R4 = R3 [№ филиала]

Задание 2

Даны отношения, моделирующие работу международной фирмы, имеющей несколько филиалов. Филиалы фирмы могут быть расположены в разных странах, это отражено в отношении R1. Клиенты фирмы также могут быть из разных стран, и это отражено в отношении R4. По каждому конкретному заказу клиент мог заказать несколько разных товаров.

R1

Филиал

Страна

R2

Филиал

Заказчик

№ заказа

R3

N заказа

Товар

Количество

R4

Заказчик

Страна

С использованием реляционной алгебры составить запросы, позволяющие выбрать:

  1. Заказчиков, которые работают со всеми филиалами фирмы, но покупают только один товар.

R5 = R1 [Филиал]

R6 = R2 [Филиал, Заказчик]

R7 = R4 : R3

R8 = R2 [R2.№ заказа = R3.№ Заказа] R3

R9 = R8 [Заказчик = R8.Заказчик ∩ Товар < > R8.Товар]

R10 = R2 [R2.Заказчик = R5.Заказчик]

R11 = R8 [R8.Заказчик < > R7.Заказчик]

  1. Филиалы фирмы, которые торгуют всеми товарами.

R5 = R3 (Товар)

R6 = R2 [Филиал, Заказчик]

R7 = R6 : R5

  1. Товары, которые фирма продает только в одной стране.

R5 = R2 [R2.№ заказа = R4.№ заказа] R4

R6 = R[R5.№ заказа = R3.№ заказа] R3

R7 = R6 [Товар = R6.Товар ∩ Страна < > R6.Страна]

R8 = R6 [R6.Товар < > R7.Товар]

R9 = R8 [Товар]

  1. Заказчиков, которые работают с филиалами фирмы, которые расположены только в одной стране.

R1 = R1.Филиал RENAME AS Филиал1

R= R2 [R2.Филиал = R1.Филиал] R1

R6 = R5 [Филиал = R5.Филиал ∩ Страна < > R5.Страна]

R7 = R2 [Филиал < > R6.Филиал]

R8 = R7 [Заказчик]

  1. Филиалы, с которыми не работает ни один заказчик.

R5 = R1 [Филиал < > R2.Филиал]

  1. Заказчиков, которые работают только с филиалами, расположенными в той же стране, что и заказчик.

R5 = R2 [R2.Филиал = R1.Филиал] R1

R= R5 [R5.Заказчик = R4.Заказчик ∩ R5.Страна < > R4.Страна]

R7 = R[R2.Заказчик < > R6.Заказчик]

R8 = R7 [Заказчик]

  1. Заказчиков, которые покупают все товары, представленные в отношении R3.

R5 = R3 [Товар]

R6 = R2 [R2.№ заказа = R3.№ заказа] R3

R7 = R6 [Заказчик, Товар]

R8 = R7:R5

Задание 3

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

R1

Название файла

Имя владельца файла

R2

Название программы

Название файла

Сервер

R3

Название файла

Название сервера

R4

Сотрудник

Отдел

С использованием реляционной алгебры и языка составить запросы, позволяющие выбрать:

  1. Файлы, которые имеют нескольких пользователей из разных отделов.

R5 = R3 [R3.Название файла = R1.Название файла] R1

R6 = R[R5.Имя владельца файла = R4.Сотрудник] R4

R= R6 [Название файла = R6.Название файла ∩ Страна < > R6.Отдел]

R8 = R[Название файла]

  1. Программы, которые работают только с одним файлом.

R5 = R2 [Название программы = R2.Название программы ∩ Название файла < > R2.Название файла]

R6 = R[Название программы]

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

R5 = R2 [Название программы = R2.Название программы ∩ Название файла < > R2.Название файла]

R6 = R[Название программы]

  1. Файлы, с которыми работают сотрудники всех отделов.

R5 = R3 [R3.Название файла = R1.Название файла] R1

R6 = R[R5.Имя владельца файла = R4.Сотрудник] R4

R= R6 [Название файла, Отдел]

  1. Файлы, пользователями которых являются сотрудники только одного отдела.

R5 = R1 [R5.Имя владельца файла = R4.Сотрудник] R4

R6 = R5 [R5.Название файла = R3.Название файла R3

R= R2 [Название файла = R6.Название файла ∩ Сервер < > R3.Название сервера]

R8 = R[Название файла]

  1. Программы, которые работают со всеми серверами.

R5 = R2 [Сервер]

R6 = R5 [Название программы, Сервер]

R7 = R5:R6

  1. Отделы, сотрудники которых не работают ни с одним файлом. То есть отделы, в которых нет ни одного сотрудника, работающего с каким-нибудь файлом.

R5 = R1 [R5.Имя владельца файла = R4.Сотрудник] R4

R6 = R5 [R5.Название файла = R3.Название файла R3

R= [Отдел]

R= R4 [Отдел]

R= R8 \ R6

  1. Отделы, сотрудники которых работают со всеми серверами.

R5 = R1 [R1.Имя владельца файла = R4.Сотрудник] R4

R6 = R2 [R2.Название файла = R5.Название файла R5

R= R6 [Сотрудник, сервер]

R= R7 [Сервер]

R= R8 \ R7

R10 = R4 [Сотрудник = R9.Сотрудник]

R11 = R10 [Отдел]

  1. Серверы, с которыми работают сотрудники только одного отдела.

R5 = R1 [R1.Имя владельца файла = R4.Сотрудник] R4

R6 = R2 [R2.Название файла = R5.Название файла R5

R= R6 [Отдел = R6.Отдел ∩ Сервер = R6.Сервер]

R= R6 [Сервер] \ R7 [Сервер]

19

Соседние файлы в предмете Технологии баз данных