Задачи к экзамену по базам данных

Задача 1:привести документ с заданной структурой к 1NF

Ведомость(номер, дисциплина, группа, таб.(ФИО_студента, оценка, ФИО_преаодавателя)).

Задача 2: привести отношение с заданной схемой, первичным ключом и функциональными зависимостями к 2NF

Сотрудник_Отдел_Проект(сотр_ном, сотр_зарп, отд_ном, про_ном, сотр_задан)

Первичный ключ: сотр_ном, про_ном

Функциональные зависимости: сотр_ном сотр_зарп; сотр_ном отд_ном; отд_ном сотр_зарп; сотр_ном, про_ном сотр_задан

Задача 3:привести отношение с заданной схемой, первичным ключом и функциональными зависимостями к 3NF

Сотрудник_Отдел(сотр_ном, сотр_зарп, отд_ном)

Первичный ключ: сотр_ном

Функциональные зависимости: сотр_ном сотр_зарп; сотр_ном отд_ном; отд_ном сотр_зарп

Задача 4:привести отношение с заданной схемой, первичным ключом и функциональными зависимостями к BCNF

Сотрудник_ Проект(сотр_ном, сотр_имя, про_ном, сотр_задан)

Первичный ключ: сотр_имя, про_ном

Функциональные зависимости: сотр_ном сотр_имя; сотр_ном про_ном; отд_имя сотр_ном; сотр_имя про_ном; сотр_ном, про_ном сотр_задан; сотр_имя, про_ном сотр_задан

Задача 5:привести отношение с заданной схемой, первичным ключом и многозначными зависимостями к 4NF

Проект(про_ном, про_сотр, про_задан)

Первичный ключ: про_ном, про_сотр, про_задан

Многозначные зависимости: про_ном про_сотр; про_ном про_задан

Задача 6:привести отношение с заданной схемой, первичным ключом и зависимостью соединения к 5NF

Сотрудник_Отдел_Проект(сотр_ном, отд_ном, про_ном)

Первичный ключ: сотр_ном, про_ном

 

Зависимость соединения: *(СО, СП, ОП), где СО={ сотр_ном, отд_ном},

СП={ сотр_ном, про_ном}, ОП={ отд_ном, про_ном}

Задача 7: определить результат следующего запроса:

SELECT * FROM СОТРУДНИК;

Задача 8: определить результат следующего запроса:

SELECT ФИО, СЕМЬЯ.*

FROM СОТРУДНИК INNER JOIN СЕМЬЯ

ON СОТРУДНИК.код_сотрудника = СЕМЬЯ.код_сотрудника;

Задача 9: для таблицы СОТРУДНИК(код_сотрудника, ФИО, дата_рождения, пол, код_кафедры, дата_приема_на_работу, оклад) определить результат следующего запроса:

SELECT TOP 5 ФИО

FROM СОТРУДНИК

WHERE дата_приема_на_работу = 2002

ORDER BY оклад DESC;

Задача 10: для таблицы СОТРУДНИК(код_сотрудника, ФИО, дата_рождения, пол, код_кафедры, дата_приема_на_работу, оклад) определить результат следующего запроса:

SELECT TOP PERCENT 10 ФИО

FROM СОТРУДНИК

WHERE дата_приема_на_работу = 2002

ORDER BY оклад ASC;

Задача 11: для таблиц СОТРУДНИК(код_сотрудника, ФИО) и РАСПИСАНИЕ(код_сотрудника, код_предмета, дата) определить результат

следующего запроса:

SELECT СОТРУДНИК. код_сотрудника, ФИО, код_предмета, дата

FROM РАСПИСАНИЕ, СОТРУДНИК

WHERE СОТРУДНИК. код_сотрудника = РАСПИСАНИЕ. код_сотрудника

AND код_предмета = 1;

Задача 12: для таблицы СОТРУДНИК(код_сотрудника, ФИО, дата_рождения, пол, код_кафедры, дата_приема_на_работу, оклад) определить результат следующего запроса:

SELECT СОТРУДНИК.ФИО, [оклад]*0,5 As премия

FROM СОТРУДНИК;

Задача 13: для таблиц СОТРУДНИК(код_сотрудника, ФИО, дата_рождения, пол, код_кафедры, дата_приема_на_работу, оклад), Вл_ПРЕДМЕТ(код_сотрудника, код_предмета) и ПРЕДМЕТ(код_предмета, название_предмета) определить результат следующего запроса:

SELECT СОТРУДНИК.ФИО, ПРЕДМЕТ. название_предмета

FROM СОТРУДНИК INNER JOIN (ПРЕДМЕТ INNER JOIN

Вл_ПРЕДМЕТ ON ПРЕДМЕТ,код_предмета = Вл_ПРЕДМЕТ,код_предмета)

ON СОТРУДНИК.код_сотрудника = Вл_ПРЕДМЕТ. код_сотрудника;

Задача 14: для таблиц СОТРУДНИК(код_сотрудника, ФИО, дата_рождения, пол, код_кафедры, дата_приема_на_работу, оклад), Вл_ПРЕДМЕТ(код_сотрудника, код_предмета) и ПРЕДМЕТ(код_предмета, название_предмета) определить результат следующего запроса, полученного с использованием подчиненного запроса:

ЗАПРОС_1:

SELECT Вл_ПРЕДМЕТ. код_сотрудника, ПРЕДМЕТ. название_предмета

FROM Вл_ПРЕДМЕТ INNER JOIN ПРЕДМЕТ

ON Вл_ПРЕДМЕТ,код_предмета = ПРЕДМЕТ,код_предмета;

SELECT СОТРУДНИК.ФИО, ЗАПРОС_1. название_предмета

FROM СОТРУДНИК INNER JOIN ЗАПРОС_1

ON СОТРУДНИК.код_сотрудника = ЗАПРОС_1. код_сотрудника;

 

Задача 15: для таблицы СОТРУДНИК(код_сотрудника, ФИО, дата_рождения, пол, код_кафедры, дата_приема_на_работу, оклад) определить результат следующего запроса:

SELECT СОТРУДНИК.ФИО, СОТРУДНИК.дата_рождения

FROM СОТРУДНИК

WHERE (((СОТРУДНИК.дата_рождения)<#2/23/1956#));

Задача 16: для таблицы СОТРУДНИК(код_сотрудника, ФИО, дата_рождения, пол, код_кафедры, дата_приема_на_работу, оклад, автобиография) определить результат следующего запроса:

SELECT ФИО, автобиография

FROM СОТРУДНИК

 

WHERE автобиография LIKE ”*Москв*”;

Задача 17: для таблицы СОТРУДНИК(код_сотрудника, ФИО, дата_рождения, пол, код_кафедры, дата_приема_на_работу, оклад, автобиография) определить результат следующего запроса:

SELECT ФИО, оклад

FROM СОТРУДНИК

WHERE оклад Between 1000 AND 2000;]

 

Задача 18: для таблицы СОТРУДНИК(код_сотрудника, ФИО, дата_рождения, пол, код_кафедры, дата_приема_на_работу, оклад, автобиография) определить результат следующего запроса:

SELECT ФИО, автобиография

FROM СОТРУДНИК

WHERE автобиография LIKE ”*Москв?”;

 

Задача 19: для таблицы Расписание(Дата, Группа, Дисциплина, Преподаватель) определить результат следующего запроса:

SELECT Расписание.Гр, Расписание.Пр

FROM Расписание

WHERE (((Расписание.[Гр])=317 Or (Расписание.[Гр])=311));

 

Задача 20: для таблиц Студент(Группа, Зачетная_книжка, ФИО), Оценка(Группа, Зачетная_книжка, Дисциплина, Дата, Преподаватель, Оценка)

определить результат следующего запроса:

SELECT Студент. Зачетная_книжка, Студент.ФИО, Оценка.Оценка

FROM Студент INNER JOIN Оценка ON Студент. Зачетная_книжка = Оценка.Зачетная_книжка

WHERE Студент.ФИО="Федоров";

 

Задача 20: для таблиц Студент(Группа, Зачетная_книжка, ФИО), Расписание(Дата, Группа, Дисциплина, Преподаватель) определить результат следующего запроса:

SELECT Студент. Группа, Студент. Зачетная_книжка, Студент.ФИО, Расписание.Преподаватель

FROM Студент INNER JOIN Расписание ON Студент.Гр=Расписание.Гр

WHERE Расписание.Пр="Иванов";

 

Задача 21: для таблицы Расписание(Дата, Группа, Дисциплина, Преподаватель) определить результат следующего запроса:

SELECT Расписание.Дата, Расписание. Преподаватель

FROM Расписание

WHERE (((Расписание.Дата)=#4/10/2004#));

 

Задача 22: для таблицы Преподаватель(Дисциплина, Преподаватель)определить результат следующего запроса:

SELECT Преподаватель.*

FROM Преподаватель

WHERE (((Преподаватель.Дисциплина)="высшая математика"));