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

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

R1 R2

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

Должность

Кафедра

Аудитория

Корпус

R3

ФИО студента

группы

КП

Оц.1

Оц.2

Оц.3

Оц.4

Оц.5

R4

День недели

пары

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

группы

Аудитория

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

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

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

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

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

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

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

SELECT DISTINCT R5.NGroup FROM (SELECT NGroup, Stud FROM R3 WHERE Stud in(SELECT Stud FROM R3 WHERE Bal1 = 5 and Bal2 = 5 and Bal3 = 5 and Bal4 = 5 and Bal5 = 5)) as R5, (SELECT NGroup, Stud FROM R3 WHERE) R6

WHERE R5.NGroup = R6.NGRroupGROUP BY R5.NGroup HAVING Count(R5.Stud) = Count(R6.Stud)

40. Даны отношения, моделирующие текущую издательскую деятельность:

R1

ФИО автора

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

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

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

выпуска

Год издания

R2

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

Страна

Издание

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

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

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

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

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

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

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

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

41. Даны отношения, моделирующие научно-исследовательскую работу студентов (нирс)

R1

Кафедра

Факультет

R2

ФИО студента

Группа

Кафедра НИРС

R3

Группа

Курс

Специальность

Выпускающая кафедра

  1. Кафедры, на которых работают по НИРС студенты только своей специальности.

SELECT Kaf FROM (SELECT DISTINCT R1.Kaf, R3.Spez FROM R1, R3 WHERE R1.Gr=R3.Gr) GROUP BY Kaf HAVING Count(*)=1

  1. Группы, студенты которых работают по НИРС на всех факультетах (необязательно один и тот же студент).

SELECT Gr GROM (SELECT DISTINCT Gr, Fak FROM R1, R2 WHERE R1.Kaf=R2.Kaf) GROUP BY Gr HAVING Count(*)=(SELECT Count(DISTINCT Fak) FROM R2)

  1. Группы, студенты которых работают только на своей выпускающей кафедре.

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

  1. Кафедры, на которых работают по НИРС студенты всех курсов.

SELECT Kaf FROM (SELECT DISTINCT R1..Kaf, R3.Curs FROM R1, R3 WHERE R1.Gr=R3.Gr) GROUP By R1.Kaf, R3.Curs HAVING Count(*)=(SELECT Count(DISTINCT Curs) FROM R3)