Задачи к экзамену по базам данных
Задача 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 (((Преподаватель.Дисциплина)="высшая математика"));