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

42. Даны отношения:

R1

ФИО студента

группы

Курс

R2 R4

группы

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

Кафедра

Факультет

R3

Название работы

ФИО студента

Представляющая кафедра

  1. Студентов, представивших работы более чем от одной кафедры.

SELECT DISTINCT a.FIO FROM R3 as a, R3 as b WHERE a.FIO=b.FIO and a.Kafedra<>b.kafedra

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

SELECT DISTINCT R3.Kafedra FROM R1, R3 WHERE R1.FIO=R3.FIO and R1.Kurs =3

  1. Представляющие кафедры, на которых подготовили работы студенты других факультетов.

SELECT DISTINCT a.Kafedra FROM R4 AS a, R4 AS b, R1, R2, R3 WHERE R1.FIO=R3.FIO and R1.GROUP_NUM=R2.GROUP_NUM and (b.Fackultet in (SELECT R4.Fackultet FROM R3, R4 WHERE R3.KAFEDRA=R4.KAFEDRA)) and (a.Fackultet in(SELECT R4.Fackultet FROM R4, R3, R2, R1 WHERE R4.KAFEDRA=R2.KAFEDRA and R1.FIO=R3.FIO and R1.GROUP_NUM=R2.GROUP_NUM)) and a.Fackultet<>b.Fackultet and a.Kafedra=R2.KAFEDRA and b.Kafedra=R3.KAFEDRA

  1. Работы, совместно подготовленные несколькими студентами различных факультетов.

SELECT DISTINCT Work FROM (SELECT DISTINCT R3.Work, R4.Fak FROM R1, R2, R3, R4 WHERE R3.Stud = R1.Stud and R1.NGroup = R2.NGroup and R2.Kaf = R4.Kaf GROUP BY R3.Work, R4.Fak HAVING COUNT(Fak) > 1)

43. Даны отношения:

R1

Дисциплина

Курс

R2

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

Дисциплина

Тип занятия

R3

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

Кафедра

Оклад

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

SELECT DISTINCT R4.Prepod FROM (SELECT DISTINCT R2.Prepod, R1.Kurs FROM R1, R2 WHERE R1.Disc = R2.Disc GROUP BY R2.Prepod, R1.Kurs HAVING Count(*) = 1) AS R4 WHERE R4.Kurs = 1

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

SELECT DISTINCT Kaf FROM (SELECT DISTINCT R3.Kaf, R2.Disc FROM R2, R3 WHERE R2.Prepod = R3.Prepod and R2.Tip = ‘Лабораторная’ GROUP BY R3.Kaf, R2.Disc HAVING Count(Disc) > 1)

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

SELECT DISTINCT Kurs FROM (SELECT DISTINCT R1.Kurs, R3.Kaf FROM R1, R2, R3 WHERE R1.Disc = R2.Disc and R2.Prepod = R3.Prepod GROUP BY R1.Kurs, R3.Kaf HAVING Count(R3.Kaf) > 3 )

  1. Преподаватели 33-й кафедры с минимальным окладом.

SELECT DISTINCT Prepod FROM R3 WHERE Oklad = (SELECT MIN(Oklad) FROM R3 WHERE Kaf = 33)

44. Даны отношения:

R1

ФИО студента

группы

Курс

R2 R4

группы

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

Кафедра

Факультет

R3

Название работы

ФИО студента

Представляющая кафедра

  1. Студентов, представивших работы более чем от одной кафедры.

SELECT DISTINCT a.FIO FROM R3 as a, R3 as b WHERE a.FIO=b.FIO and a.Kafedra<>b.kafedra

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

SELECT DISTINCT R3.Kafedra FROM R1, R3 WHERE R1.FIO=R3.FIO and R1.Kurs =3

  1. Представляющие кафедры, на которых подготовили работы студенты других факультетов.

SELECT DISTINCT a.Kafedra FROM R4 AS a, R4 AS b, R1, R2, R3 WHERE R1.FIO=R3.FIO and R1.GROUP_NUM=R2.GROUP_NUM and (b.Fackultet in (SELECT R4.Fackultet FROM R3, R4 WHERE R3.KAFEDRA=R4.KAFEDRA)) and (a.Fackultet in(SELECT R4.Fackultet FROM R4, R3, R2, R1 WHERE R4.KAFEDRA=R2.KAFEDRA and R1.FIO=R3.FIO and R1.GROUP_NUM=R2.GROUP_NUM)) and a.Fackultet<>b.Fackultet and a.Kafedra=R2.KAFEDRA and b.Kafedra=R3.KAFEDRA

  1. Работы, совместно подготовленные несколькими студентами различных факультетов.

SELECT DISTINCT Work FROM (SELECT DISTINCT R3.Work, R4.Fak FROM R1, R2, R3, R4 WHERE R3.Stud = R1.Stud and R1.NGroup = R2.NGroup and R2.Kaf = R4.Kaf GROUP BY R3.Work, R4.Fak HAVING COUNT(Fak) > 1)