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

Занятие 5, 6. Связи между отношениями.

Для того, чтобы увидеть как работают связи между отношениями, необходимо иметь как минимум два отношения. Для этого возвращаемся к первой задаче (создание STUD.dbf) и добавляем в него:

  • расширение схемы студента новым атрибутом Ngr (тип и длина на усмотрение)

  • добавляем для каждого студента значение группы

  • создаем новое отношение GR (Ngr, Spec)

Транслируем и пропускаем эту программу.

Теперь объясняем как работает программа

set date Italian

set softseek on

use GR new

index on Ngr to GR

use STUD new

set relation to Ngr into GR

do while !eof()

? fio, sex, dr, stip,Ngr, GR->Spec

skip

enddo

Дополнительно рассказать о команде select <имя> и функции found(), которая выдает истину, если seek нашла кортеж и ложь в противном случае.

Задание на конец и все следующее занятие.

1. ФИО №гр Спец

2. №гр

ФИО Спец

3. №гр Спец

ФИО

4. Спец №гр

ФИО

5. Спец

№гр

ФИО

6. Спец

ФИО №гр

Реляционная модель Концептуальная модель

СЛ (Фамилия, Имя, Отчество, Код, Пол, Адрес, Зарплата, Дрожд, Nо, КодК,)

ОТ (Назв, Nо, КодР, НачР)

О_М (Nо, Место)

ПР (Назв, Nп, Место, Nоо)

ИЖД (Код, Имя, Пол, Дрожд, СтРод)

Р_Н (Код, Nп, Время)

Подчеркнуты первичные ключи

Курсивом обозначены внешние ключи

Реляционная алгебра и SQL

1-е занятие.

  1. Для каждого проекта, выполняемого в Москве, дать его номер, шифр и имя руководителя отдела, его адрес и дату рождения.

  2. Имена служащих, не имеющих иждивенцев.

  3. Дать список номеров {и названий} тех проектов, в работе над которыми «Иванов» принимает участие либо как служащий, либо как руководитель отдела, отвечающего за проект.

  4. Выдать имена кураторов, работающих над проектом вместе с тем, кого он курирует.

  1. Имена служащих, имеющих, по крайней мере, одного иждивенца.

  2. Имена служащих, работающих в отделе с названием «Отдел 8» над проектом с названием «Прогресс»

  3. Имена служащих и имена его иждивенцев.

  4. Названия проектов, за которые отвечает отдел, руководимый Ивановым

  5. Названия отделов, отвечающих за проекты с названием «Принцип …»

  6. Имена курируемых, работающих в том же отделе что и куратор.

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

  8. Номера проектов, над которыми работает Иванов, но отдел, в котором он работает, не отвечает за проект

  9. Названия проектов, выполняемых в месте, в котором размещается отдел, отвечающий за проект.

2-е занятие.

  1. Имена служащих, работающих над всеми проектами, за которые отвечает отдел с названием «Отдел 5».

  2. Выдать имена руководителей отделов {не} работающих над {всеми / всеми и только} проектами, за которые отдел отвечает.

  1. Выдать номера проектов, над которыми работают {только / все / только и все} сотрудники отдела, отвечающего за проект.

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

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

3-е занятие.

  1. Для любого отдела Название, имя руководителя и количество сотрудников.

  2. Имена служащих, имеющих 2-х и более иждивенцев.

  3. Номера отделов, имя руководителя и имя старейшины отдела, {если отдел отвечает за 5 проектов}.

  4. Номера и названия отделов и количество курируемых всеми сотрудниками отдела.

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

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

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

  4. Номера проектов, над которыми все служащие вместе {не} отвечающего отдела работают менее 10 часов {а отвечающий отдел отвечает не менее чем за 2 других проекта}.

4-е занятие.

  1. №пр {и время работы над ними}, для которых руководители отвечающего отдела {не имеют / имеют не менее двух} иждивенцев {и все служащие этого отдела работают над проектом {не менее 6-ти часов}}.

  1. пр, имя руководителя отвечающего отдела и количество служащих, работающих над проектом при условии, что руководитель работает еще над не менее, чем 2-мя другими проектами.

Курсивом выделены тексты задач, задаваемые на дом

8