Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БД_К6-224_Тютютнникова_Данякин.docx
Скачиваний:
6
Добавлен:
12.09.2019
Размер:
449.49 Кб
Скачать

47. Сформировать список студентов, которые в 6 семестре пересдавали экзамены:

Написание запроса на реляционной алгебре.

Пересдавали_6(#Nз, Фио, Nгр, ИдКурса)=

(

Студент[

Студент.[#Nз] = Успеваемость.[#Nз]

]Успеваемость

Студент[

Студент.[ Nгр] =ОтчетГруппы. [#Nгр]

]ОтчетГруппы

Успеваемость [

Успеваемость [#ВидОтчета = ‘Экзамен’]

Успеваемость [#Семестр = ‘6’]

Успеваемость[#УчНед] ! = ОтчетГруппы[#УчНед]

Успеваемость[#ИдКурса] = ОтчетГруппы[#ИдКурса]

] ОтчетГруппы

) [#Nз, Фио, Nгр, ИдКурса]

Запишем исчисление на кортежах.

z (#Nз(z), Фио(z), Nгр(z), ИдКурса(z))~

х / Студент

y / ОтчетГруппы

t / Успеваемость

#Nз(x) = #Nз(t) & Nгp(x) = #Nгр(y) & [#ВидОтчета(t) = ‘Экзамен’] &

[#Семестр(t) = ‘6’] &

#УчНед(t) ! = #УчНед(y) &

#ИдКурса(t) = #ИдКурса(y)

Запишем запрос на SQL

SELECT Студент.[#Nз], Студент.Фио, Студент.Nгр, ОтчетГруппы.[#ИдКурса]

FROM ОтчетГруппы, Студент, Успеваемость

WHERE Успеваемость.[#ВидОтчета]="экзамен" AND Успеваемость.[#Семестр]="6" AND ОтчетГруппы.[#Nгр] = Студент.Nгр AND ОтчетГруппы.[#ИдКурса] = Успеваемость.[#ИдКурса] AND Студент.[#Nз] = Успеваемость.[#Nз] AND Успеваемость.[#УчНед] <> ОтчетГруппы.[#УчНед]

Таблица Студент.

Таблица Отчет Группы.

Таблица Успеваемость

Итоговая таблица.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]