Функциональные зависимости в отношении Статья:
4) Статья.
В отношении Статья два возможных ключа номер статьи, название статьи. В качестве первичного ключа отношения выберем номер статьи. Отношение Статья находится в 1НФ, т.к. все его атрибуты имеют атомарное значение. Данное отношение находится также во 2НФ, т.к. все его не основные атрибуты функционально полно зависят от первичного ключа отношения. Данное отношение находится в 3НФ, т.к. нет транзитивных зависимостей. Отношение находится в НФБК, т.к. каждый его детерминант (ключа номер статьи, название статьи) является возможным ключом отношения.
Функциональные зависимости в отношении Статья:
5) Инспектор.
В отношении Инспектор ключом отношений является код инспектора, выберем его в качестве первичного ключа. Отношение Инспектор находится в 1НФ, т.к. все его атрибуты имеют атомарное значение. Данное отношение находится также во 2НФ, т.к. все его не основные атрибуты функционально полно зависят от первичного ключа отношения. Данное отношение находится в 3НФ, т.к. нет транзитивных зависимостей. Отношение находится в НФБК, т.к. каждый его детерминант код инспектора является возможным ключом отношения.
Функциональные зависимости в отношении Инспектор:
6) Правонарушение.
Отношение Правонарушение имеет два возможных ключа, один из которых является составным атрибутами гос номер, дата протокола и один несоставной номер протокола. В качестве первичного ключа отношения выберем номер протокола. Отношение Правонарушение находится в 1НФ, т.к. все его атрибуты имеют атомарное значение. Данное отношение находится также во 2НФ, т.к. все его не основные атрибуты функционально полно зависят от первичного ключа отношения. Данное отношение находится в 3НФ, т.к. нет транзитивных зависимостей. Отношение находится в НФБК, т.к его детерминант (гос номер, дата протокола; номер протокола) является возможным ключом отношения.
Функциональные зависимости в отношении Правонарушение:
Физическая реализация базы данных в среде Access.
1. Схема базы данных.
Рис. 2.
2. С помощью конструктора таблиц создадим таблицы для организации выделенных отношений.
· Отношение Автолюбитель
Рис. 3.
· Отношение Машина
Рис. 4.
· Отношение Инспектор
Рис. 5.
· Отношение Марка
Рис. 6.
· Отношение Марка
Рис.7
· Отношение Обращение к терапевту
Рис. 8.
3. По построенным таблицам создадим запросы на выборку.
Запрос 1. вывести информацию обо всех машинах, принадлежащих определенному автолюбителю
SELECT avto.gn, marka.ma AS Выражение1, avto.cv, avto.iu
FROM marka INNER JOIN (avtolyub INNER JOIN avto ON avtolyub.ka = avto.ka) ON marka.nma = avto.nma
WHERE (((avtolyub.ka)=[Forms]![DobavMash]![ПолеСоСписком0]));
Запрос 2. подсчитать количество правонарушений по каждой статье правонарушения за истекший год
SELECT Year(protokol!dp) AS Год, protokol.nsya AS Выражение1, Count(protokol.nsya) AS Количество
FROM protokol
GROUP BY Year(protokol!dp), protokol.nsya
HAVING (((Year([protokol]![dp]))=Year(Date())-1))
ORDER BY Count(protokol.nsya) DESC;
Запрос3. выяснить в какое время года чаще всего совершаются правонарушения (подсчитав количество правонарушений по месяцам за прошедший год)
SELECT Year(protokol!dp) AS Год, MonthName(Month(protokol!dp)) AS Месяц, Count(Month(protokol!dp)) AS Колличество
FROM protokol
GROUP BY Year(protokol!dp), MonthName(Month(protokol!dp))
HAVING (((Year([protokol]![dp]))=Year(Date())-1))
ORDER BY MonthName(Month(protokol!dp)) DESC , Count(Month(protokol!dp)) DESC;
Запрос 4. вывести всю статистику правонарушений для определенной машины
SELECT avto.gn, marka.ma, protokol.dp, statya.sya, protokol.ssh, protokol.nr, avtolyub.fa, avtolyub.pda
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.