Тест по курсу "Теория баз данных"

Материал из WikiSyktSU
Перейти к: навигация, поиск

Тест предназначен для проведения самотестирования студентов по курсам "Теория баз данных", "Базы данных и экспертные системы".

Тестовые задания выполняются на компьютере с использованием СУБД MS Access 2003.

ВВЕДЕНИЕ

Для выполнения тестовых заданий используется база данных MS Access, включающая следующие схемы отношений:

Покупатель
Имя поля Тип данных

Код покупателя

Счетчик (первичный ключ)

Фамилия ИО

Текстовый (25 символов)

Примечание

Поле МЕМО

Товар
Имя поля Тип данных

Код товара

Счетчик (первичный ключ)

Наименование

Текстовый (50 символов)

Цена

Числовой

Дорогостоящий

Логический

ЗАКАЗ
Имя поля Тип данных

Код заказа

Счетчик (первичный ключ)

Код товара

Числовой (Длинное целое)

Код покупателя

Числовой (Длинное целое)

Количество товара

Числовой (Целое)

Дата продажи

Дата/Время

Причем поле ЗАКАЗ.[Код товара] является внешним ключом для поля ТОВАР.[Код товара], а поле ЗАКАЗ.[Код покупателя] - внешним ключом для поля ПОКУПАТЕЛЬ.[Код покупателя].

Задание 1 (Создание отношений)

  • 1. Создайте отношение КАТЕГОРИЯ ПОКУПАТЕЛЯ со следующими полями
Имя поля Тип данных

Код категории

Счетчик (первичный ключ)

Название категории

Текстовый (50 символов)

  • 2. Введите в таблицу КАТЕГОРИЯ ПОКУПАТЕЛЯ следующие три категории покупателей: Организация, Частное лицо, Неизвестно.
  • 3. Добавьте в таблицу ПОКУПАТЕЛЬ поле Категория. Определите тип данных для поля, исходя из того, что это поле будет играть роль внешнего ключа для поля [КАТЕГОРИЯ ПОКУПАТЕЛЯ].[Код категории].
  • 4. Отредактируйте записи в таблице ПОКУПАТЕЛЬ: в поле Категория введите любые допустимые значения.
  • 5. Определите ограничение внешнего ключа для отношений ПОКУПАТЕЛЬ и [КАТЕГОРИЯ ПОКУПАТЕЛЯ]. Поле Категория из таблицы ПОКУПАТЕЛЬ должно быть внешним ключом по отношению к полю [Код категории] из таблицы КАТЕГОРИЯ ПОКУПАТЕЛЯ. Задайте методы поддержки ссылочной целостности «Каскадное удаление» и «Каскадное обновление».

Задание 2 (Ограничения на атрибуты)

  • 6. Установите для поля Категория таблицы ПОКУПАТЕЛЬ значение по умолчанию, равное 3.
  • 7. Установите для поля Дата продажи таблицы ЗАКАЗ в качестве значения по умолчанию - текущую дату. Текущая дата возвращается функцией Date().
  • 8. Задайте ограничение для значения поля Категория таблицы ПОКУПАТЕЛЬ: значение в этом поле должны быть в диапазоне от 1 до 3.
  • 9. Задайте ограничение для поля Дата продажи таблицы ЗАКАЗ: дата продажи товара должна быть не позднее полугода (минус 180 дней) от текущей даты и не позднее текущей даты.
  • 10. Задайте ограничение для таблицы ПОКУПАТЕЛЬ: Если Категория покупателя равна 3 (т.е. он “Неизвестно кто”), то у него обязательно должно быть примечание. Условие «поле Примечание не пусто» можно записать так: Not ([Примечание] Is Null).
  • 11. Задайте ограничение для таблицы ТОВАР: товар является дорогостоящим только в том случае, если его цена не меньше 1000 руб.

Задание 3 (Запросы)

  • 12. Создайте запрос “Покупатели на букву П” для таблицы ПОКУПАТЕЛЬ с полями Фамилия, Код покупателя, Примечание. Выбрать покупателей, фамилия которых начинается на букву “П”. Отсортировать записи по алфавиту фамилий.
  • 13. Создайте запрос “Товары дороже чем с параметром” для таблицы ТОВАР с полями Наименование, Цена. В запросе должен строиться список товаров, цена которых не меньше определенной величины, задаваемой параметром [Цена товара].
  • 14. Создайте запрос “Цена товара после уценки с параметром” на основе таблицы ТОВАР. Процент уценки вводится как параметр [Процент уценки]. В запросе строится список, включающий наименования товаров, цену до уценки, и новую цену товара, вычисляемую по формуле: [Цена] * (1 - [Процент уценки] / 100).
  • 15. Создайте запрос «Заказы за последний месяц», включающий дату продажи (из таблицы ЗАКАЗ), фамилию покупателя (из таблицы ПОКУПАТЕЛЬ), наименование товара и цену (из таблицы ТОВАР), количество единиц товара (из таблицы ЗАКАЗ). Причем заказ должен быть сделан в течение последнего месяца.
  • 16. Создайте запрос «Затраты покупателей», в котором строится список фамилий всех покупателей (указанных в таблице ПОКУПАТЕЛЬ) и для каждого покупателя вычисляется суммарная стоимость всех его покупок. Если покупатель ничего не покупал, его фамилия все равно должна присутствовать в списке.

Задание 4 (Формы)

  • 17. Создайте форму «Покупатели», позволяющую выполнять все операции (INSERT, UPDATE, DELETE) с покупателями в таблице ПОКУПАТЕЛЬ. Форма должна иметь такой вид, как на следующем рисунке. Для определения категории покупателя должен использоваться выпадающий список, в котором пользователь должен видеть названия категорий.
Форма.JPG
Рис. Форма

Задание 5 (Отчеты)

  • 18. Создайте отчет «Затраты покупателей», общий вид которого приведен на следующем рисунке. Для каждого покупателя выводится список купленных им товаров и суммарная стоимость его покупок.
Отчет.JPG
Рис. Отчет

Результаты тестирования

  • Результаты теста также см. Здесь
Результаты теста.PNG