
2 / UMKD_Shnyrev_Bazy_dannyh_2008 / domashnyaya_rabota
.docДОМАШНЯЯ РАБОТА
1. Имеется международная торговая фирма, в состав которой входят несколько филиалов, которым могут находиться в нескольких странах. Клиенты фирмы также могут быть из нескольких стран. Клиенты в своем заказе могут заказывать несколько разных товаров.
Задание 1. Разработайте схему БД, позволяющую просматривать и редактировать информацию о наличии товаров на складах фирмы. БД должна содержать информацию о каждом филиале: в какой стране он находится, какими товарами торгует; а также о клиентах: сведения о том из какой он страны, с каким филиалом взаимодействует, какие товары заказывает. Должна быть также информация о том, какой товар в каком количестве в каком филиале имеется в наличии. В задании необходимо обосновать выбор структуры отношений и связей между ними, а также указать вид нормальных форм.
Задание 2. С использованием операций реляционной алгебры составить следующие запросы:
1. Выбрать клиентов, которые работают только с одним филиалом.
2. Выбрать филиалы, которые торгуют всем ассортиментом товаров.
3. Выбрать клиентов, которые работают с филиалами, расположенными с ними в одной стране.
4. Выбрать товары, которые продаются во всех странах.
5. Выбрать товары, которые продаются только в одной стране.
2. Имеется библиотека
Задание 1. Разработать схему БД, отражающую деятельность библиотеки. В БД должна быть представлена информация о книгах: название, автор, издательство, год издания, количество страниц, количестве экземпляров, области знаний, к которой книга принадлежит; о читателях: ФИО, адрес, телефон, место работы, пол, возраст, книги, которые он имеет на руках. В задании необходимо обосновать выбор структуры отношений и связей между ними, а также указать вид нормальных форм.
Задание 2. С использованием операторов SQL предусмотреть следующие ограничения целостности БД:
1. Каждая книга должна быть представлена хотя бы одним экземпляром и относиться по крайней мере к одной из областей знаний.
2. Возраст читателя должен быть не менее 18 лет.
3. Один и тот же экземпляр не может находиться одновременно у нескольких читателей.
4. Для возможности связи с читателем одной из полей должно быть обязательным для заполнения: либо место работы, либо телефон.
Задание 3. С использованием операторов SQL составить следующие запросы:
1. Выбрать все книги, относящиеся к данной области знаний.
2. Выбрать читателей, которые в данный момент не держат на руках ни одной книги
3. Выбрать читателей-должников с указанием книг, которые они задолжали и с указанием сроков возврата этих книг.
4. Выбрать книги, которые относятся более чем к одной области знаний.
5. Выбрать книги, которые присутствуют в библиотеке в единственном экземпляре.
3. Имеется фирма, состоящая из нескольких отделов.
Задание 1. Разработать схему БД, отражающую деятельность этой фирмы. В БД должна присутствовать информация о руководителе фирмы, местонахождении фирмы, контактных телефонах, начальниках отделов, сотрудниках отделов с указанием их должностей и окладов. Также в БД должна содержаться информация о выплатах сотрудникам фирмы вознаграждений (зарплат, премий, надбавок) за последние 12 месяцев. В задании необходимо обосновать выбор структуры отношений и связей между ними, а также указать вид нормальных форм.
Задание 2. С использованием операторов SQL составить следующие запросы:
1. Получить список всех отделов фирмы.
2. Получить список всех сотрудников данного отдела.
3. Получить список всех начальников отдела.
4. Получить ФИО сотрудников данного отдела, получивших в последнем месяце наибольшую и наименьшую заработную плату.
5. Выбрать отделы с наибольшей и с наименьшей средней зарплатой сотрудников за последний год
6. Для данного сотрудника получить величину его максимальной и минимальной зарплаты за год, средней годовой зарплаты, суммы премии и надбавки за последний год.
4. Разработать схему БД, отражающую результаты сдачи студентами сессии. В БД должна быть представлена информация о списках групп, списке предметов, которые должна сдавать каждая группа, о преподавателях с указанием предметов, которые они ведут. Для каждого предмета должна быть представлена информация о форме контроля – зачет или экзамен. Каждый студент может сдавать экзамен по одному предмету не более двух раз (сдача и пересдача). В задании необходимо обосновать выбор структуры отношений и связей между ними, а также указать вид нормальных форм.
Задание 1. С использованием операторов SQL предусмотреть следующие ограничения целостности БД:
1. Студент может сдавать экзамены по предметам в соответствии с календарным планом.
2. Преподаватель может принимать экзамены и зачеты только по предметам, которые он ведет.
3. Оценки за экзамен должны быть в диапазоне от 2 до 5, в случае зачета в БД должны храниться 2 формы записи – “зачет” или “незачет”.
4. Один и тот же студент не может относиться к разным группам
5. Два разных преподавателя не могут вести один и тот же предмет.
Задание 2. С использованием операций реляционной алгебры составить следующие запросы:
1. Сформировать список студентов, успешно сдавших сессию с разбивкой их по группам.
2. Сформировать список круглых отличников (в случае пересдачи на “отлично” студент не может считаться отличником)
3. Сформировать список студентов, успешно сдавших сессию только после пересдачи по крайней мере одного предмета.
4. Сформировать список студентов, имеющих более чем одну пересдачу.
5. Получить данные о преподавателях, поставивших наибольшее и наименьшее количество двоек.
6. Выбрать группы с наилучшей и наихудшей средней успеваемостью.
7. Для данной группы выбрать предмет, по которому были в среднем получены наилучшие (наихудшие) оценки.
5. Абитуриенты поступают в вуз двумя способами. Во-первых, они могут успешно сдать пробные экзамены и быть автоматически зачислены в вуз. Во-вторых, они могут сдать основные вступительные экзамены в общем потоке. Информация о попытках поступления и о результатах этих попыток хранится в БД.
Задание 1. С использованием операций реляционной алгебры составить следующие запросы:
1. Выбрать абитуриентов, которые сдавали экзамены только один раз и не поступили в вуз.
2. Выбрать абитуриентов, которые сдавали экзамены оба раза и не поступили в вуз.
3. Выбрать абитуриентов, которые поступили в вуз только со второй попытки
4. выбрать абитуриентов, которые поступили в вуз с одной попытки