Контрольная работа: База данных

А) Получить список всех общеобразовательных дисциплин в учебном плане заданной специальности.

SELECT [discipl].[nazvanie]

FROM (discipl INNER JOIN discipl_type ON [discipl].[id_discipl_type]=[discipl_type].[Код]) INNER JOIN (spec INNER JOIN plan ON [spec].[Код]=[plan].[id_spec]) ON [discipl].[Код]=[plan].[id_discipl]

WHERE [spec].[nazvanie]=[?] And [discipl_type].[nazvanie]='Общеобразовательные';

При исполнении данного запроса в среде MSAccess будет запрошено название специальности (параметр ? ), в результате будет получен список общеобразовательных предметов в учебном плане данной специальности. Результат запроса для специальности «Автоматизация техпроцессов и производств» представлен ниже:

Б) Получить список специальностей, для которых преподается заданный предмет.

SELECT spec.nazvanie

FROM discipl INNER JOIN (spec INNER JOIN plan ON spec.Код = plan.id_spec) ON discipl.Код = plan.id_discipl

WHERE (discipl.nazvanie)=[?];

При исполнении данного запроса в среде MSAccess будет запрошено название предмета (параметр ? ), в результате будет получен список специальностей, для которых преподается заданный предмет. Результат запроса для предмета «Философия» представлен ниже:


В) Получить список преподавателей и недельной зарплаты каждого.

SELECT prepod.name, sum(plan.number_of_hours_at_week*doljnost.oplata_za_chas) AS oplata_za_week

FROM doljnost INNER JOIN (prepod INNER JOIN plan ON prepod.Код = plan.id_prepod) ON doljnost.Код = prepod.id_doljnost

GROUP BY prepod.name;

Результат запроса представлен ниже:

Г) Получить преподавателя с максимальной недельной зарплатой.

SELECT TOP 1 [prepod].[name], sum([plan].[number_of_hours_at_week]*[doljnost].[oplata_za_chas]) AS oplata_za_week

FROM doljnost INNER JOIN (prepod INNER JOIN plan ON [prepod].[Код]=[plan].[id_prepod]) ON [doljnost].[Код]=[prepod].[id_doljnost]

GROUP BY [prepod].[name]

ORDER BY sum([plan].[number_of_hours_at_week]*[doljnost].[oplata_za_chas]) DESC;

Результат запроса представлен ниже:

Д) Получить учебный план заданной специальности: дисциплина, вид дисциплины, часов в неделю.

SELECT [discipl].[nazvanie], [discipl_type].[nazvanie], [plan].[number_of_hours_at_week]

FROM spec INNER JOIN ((discipl_type INNER JOIN discipl ON [discipl_type].[Код]=[discipl].[id_discipl_type]) INNER JOIN plan ON [discipl].[Код]=[plan].[id_discipl]) ON [spec].[Код]=[plan].[id_spec]

WHERE [spec].[nazvanie]=[?];

К-во Просмотров: 255
Бесплатно скачать Контрольная работа: База данных