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

30. Даны отношения, моделирующие реальный учебный процесс:

R1

ФИО преподавателя

Должность

Кафедра

R2

ФИО студента

№ группы

КП

Оц.1

Оц.2

Оц.3

Оц.4

Оц.5

R3

День недели

№ пары

ФИО преподавателя

№ группы

Аудитория

R4

Аудитория

Корпус

  1. Группы, студенты которых ни в один день недели не переезжают в несколько корпусов.

SELECT DISTINCT R3.Day, R3.NGroup, R4.Korpus FROM R3, R4 WHERE R3.Audit = R4.Audit GROUP BY R3.Day, R3.NGroup, R4.Korpus HAVING Count(*) = 1

  1. Группы, у которых ведут занятия преподаватели только одной кафедры.

SELECT DISTINCT R3.NGroup, R1.Kaf FROM R1.Prepod = R3.Prepod GROUP BY R3.NGroup HAVING Count(*) = 1

  1. Кафедры, на которых не работает ни одного ассистента (должность — «Ассистент»).

SELECT DISTINCT Kaf FROM R1 WHERE Kaf not in (SELECT Kaf FROM R1 WHERE Dol = ‘Ассистент’)

  1. Группы, в которых не учится ни один отличник (отличник — все пятерки по сессии).

SELECT DISTINCT NGroup FROM R2 WHERE NGroup not in(SELECT NGroup FROM R2 WHERE Bal1 = 5 and Bal2 = 5 and Bal3 = 5 and Bal 4 = 5 and Bal5 = 5)

  1. Группы, студенты которых сдали сессию только на отлично.

SELECT DISTINCT R5.NGroup FROM (SELECT NGroup, Stud FROM R2 WHERE Stud in(SELECT Stud FROM R2 WHERE Bal1 = 5 and Bal2 = 5 and Bal3 = 5 and Bal4 = 5 and Bal5 = 5)) as R5, (SELECT NGroup, Stud FROM R2 WHERE) R6 WHERE R5.NGroup = R6.NGRroupGROUP BY R5.NGroup HAVING Count(R5.Stud) = Count(R6.Stud)

31. Даны отношения, моделирующие архив периодических изданий:

R1

Название журнала

Страна

Издание

R2

ФИО автора

Название статьи

Область знаний

Название журнала

№

Год издания

  1. Страны, которые издают несколько журналов по одной области знаний.

SELECT Country FROM (SELECT DISTINCT R1.Country, R2.Area FROM R1, R2 WHERE R1.NameMag = R2.NameMag

GROUP BY R1.Country, R2.Area HAVING Count(*) = 1)

  1. Страны, которые издают не более одного журнала по одной области знаний (т.е. в общем случае несколько журналов, но по одной области знаний - только один).

SELECT DISTINCT Country FROM R1 WHERE Country not in(SELECT Country FROM (SELECT R1.Country, R2.Area, R2.NameMag FROM R1, R2 WHERE R1.NameMag = R2.NameMag GROUP BY R1.Country, R2.Area, R2.NameMag HAVING Count(*) > 1) as R3)

  1. Специализированные журналы за 1994 г., т.е. содержащие статьи только по одной области знаний).

SELECT NameMag, Area FROM R2 WHERE Year = 1994 GROUP BY NameMag, Area HAVING Count(Area) = 1

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

SELECT NameMag, Area FROM R2 GROUP BY NameMagm, Area HAVING Count(*) = (SELECT Count(DISTINCT Area) FROM R2)

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

R1

ФИО преподавателя

Кафедра

R2

Дисциплина

Курс

R3

ФИО преподавателя

Дисциплина

Тип занятия

  1. Преподавателей, которые могут только читать лекции.

SELECT DISTINCT Prepod FROM R3 WHERE Tip = ‘Лекция’ and Prepod in(SELECT DISTINCT Prepod, Tip FROM R3 GROUP BY Prepod, Tip HAVING Count(*) = 1)

  1. Кафедры, преподаватели которых не ведут курсового проектирования.

SELECT DISTINCT R1.Kaf, R3.Tip FROM R1, R3 WHERE R1.Prepod = R3.Prepod and R3.Tip <> ‘Курсовая’

  1. Курсы, на которых ведут занятия преподаватели кафедры 44.

SELECT DISTINCT Kurs FROM (SELECT DISTINCT R2.Kurs, R1.Kaf FROM R1, R2, R3 WHERE R2.Disc = R3.Disc and R3.Prepod = R1.Prepod and R1.Kaf = 44)

  1. Кафедры, преподаватели которых работают только на младших курсах (1-ом или 2-ом).

SELECT DISTINCT Kaf FROM (SELECT DISTINCT R2.Kurs, R1.Kaf FROM R1, R2, R3 WHERE R2.Disc = R3.Disc and R3.Prepod = R1.Prepod and R2.Kurs < 3)