uzluga.ru
добавить свой файл
Домашнее задание (15 баллов):

  1. Пусть есть база данных с отношениями:

(4 балла)

МУЗЫКАНТЫ (муз_номер, муз_имя, муз_дата_рождения, муз_страна_рождения)

СОЧИНЕНИЯ (соч_номер, соч_название, муз_номер, соч_дата_сочинения)

АНСАМБЛИ (анс_номер, анс_название, анс_страна, муз_номер)

ИСПОЛНЕНИЯ (соч_номер, исп_дата, исп_город, исп_страна, муз_номер, анс_номер)

ИСПОЛНИТЕЛИ (испл_номер, муз_номер, испл_инструмент, испл_оценка_качества)

УЧАСТНИКИ_АНСАМБЛЕЙ (анс_номер, испл_номер)

Примечания:

Отношение МУЗЫКАНТЫ – это список всех музыкантов, т.е. и композиторов, и дирижеров, и музыкантов-исполнителей, играющих на каких-либо музыкальных инструментах.

В отношении СОЧИНЕНИЯ атрибут муз_номер – это номер музыканта, присвоенный композитору, сочинившему данное произведение.

В отношении АНСАМБЛИ атрибут муз_номер – это номер музыканта, присвенный руководителю данного ансамбля.

В отношении ИСПОЛНЕНИЯ атрибут муз_номер – это номер музыканта, присвенный дирижеру.

В отношении ИСПОЛНИТЕЛИ атрибут муз_номер – это номер музыканта, присвенный музыканту, игающему на каком-либо музыкальном инструменте.

Напишите запросы на ЯЗЫКЕ РЕЛЯЦИОННОЙ АЛГЕБРЫ:

  1. Получить имена всех музыкантов, родившихся не ранее 1946 года.

  2. Указать все страны и города, в которых любые произведения исполнялись 22 июня 1986 года.

  3. Указать имя и дату рождения каждого композитора, написавшего вещь под названием «Соната №5».

  4. Перечислить все инструменты, на которых играют в ансамбле «XYZ» из Зеландии.

  5. Указать страну и название каждого ансамбля, руководитель которого выступает одновременно и как исполнитель.

  6. Перечислить имена всех музыкантов, родившихся в Эксландии либо сочинивших вещь под названием «Кейсонг».

  7. Назвать имена всех композиторов, являющихся авторами по крайней мере двух произведений – «XXX» и «ZZZ».

  8. Назвать всевозможные пары имен музыкантов, родившихся в одной стране. Среди пар имен не долно быть повторяющихся пар.



2. Пусть есть база данных с отношениями: (4 Балла)


Компания (№ отделения, улица, район, Город, Индекс, Тел, Факс)

Сотрудник (Таб.№, ФИО, Адрес, Зарплата, ИНН, № отделения, должность)

Арендатор (№ арендатора, ФИО, адрес, Тел., № отделения)

Объект (№ объекта, улица, город, площадь, Таб.№, № отделения, плата, тип)

Просмотр(№ объекта, № арендатора, Дата, Комментарии)


Напишите запросы на ЯЗЫКЕ РЕЛЯЦИОННОЙ АЛГЕБРЫ:


  1. Выбрать адреса всех отделений в Москве и Казани. (1).

  2. Список сотрудников, у которых, зарплата выше средней зарплаты. (1).

  3. Список сотрудников, которые живут и работают в одном и том же городе.(2).

  4. Количество сдаваемых в аренду объектов в каждом городе, где арендная плата меньше 300 (1).

  5. Список всех посещенных объектов в Казани, по которым не было комментариев (2).



3. (2 балла) Пусть есть база данных с отношением Employee (name, location, salary, manager) (Служащий (имя, место расположения, оклад, менеджер))

Напишите запросы на ЯЗЫКЕ РЕЛЯЦИОННОЙ АЛГЕБРЫ.

(a)

Какие служащие имеют более высокий оклад, чем их собственные менеджеры?

(b)

Какие служащие имеют более высокий оклад, чем любой из менеджеров?

(c)

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

(d)

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


  1. (2 балла)

КОМПАНИЯ (Название, ЧислоСотрудников, ОбъемПродаж)

ПРОИЗВОДИТЕЛИ(НАЗВАНИЕ, КоличествоЛюдей, Доход)


  1. Приведите пример объединения этих двух отношений

  2. Приведите пример пересечения этих двух отношений

  3. Приведите пример разности этих двух отношений




  1. (3 балла)

Пусть есть база данных с отношениями:

  • Cars (license, owner, model)
    Автомобили (лицензия, владелец, модель)




  • Motorcycle (license, owner, model)
    Мотоциклы (лицензия, владелец, модель)

Напишите запросы на ЯЗЫКЕ РЕЛЯЦИОННОЙ АЛГЕБРЫ.

(a)

Список людей, которые являются владельцами автомобилей, но не являются владельцами мотоциклов.

(b)

Список людей, которые владеют и автомобилем, и мотоциклом.

(c)

Можете ли получить список людей, которые не владеют ни автомобилем, ни мотоциклом? Если да, то приведите запрос. Если нет, то объясните почему.