База данных ГИБДД
Отношение находится во второй нормальной форме, если оно соответствует первой нормальной форме и все не ключевые атрибуты функционально полно зависят от первичного ключа. Основной целью данной базы данных является удобное, быстрое и качественное обращение с информацией об участниках дорожного движения и их нарушениях. Я выбрал эту тему, потому что сам являюсь водителем и зачастую общаюсь… Читать ещё >
База данных ГИБДД (реферат, курсовая, диплом, контрольная)
Государственный университет — Высшая школа экономики Факультет бизнес — информатики Отчет по курсовой работе на тему:
" База данных ГИБДД"
Выполнил студент
2 курса 273(0) группы Нестеров Сергей Викторович Преподаватель:
Щербинин Олег Павлович Москва 2010
1. Описание прикладной области
2. Описание структуры
3. Описание базы данных
4. Запросы Список литературы
- 1. Описание прикладной области
- Прикладной областью данного курсового проекта является база ГИБДД.
- Я выбрал эту тему, потому что сам являюсь водителем и зачастую общаюсь с сотрудниками ГИБДД и слышу множество историй о них и их системе работы.
- Для полноценной работы базы данных, необходимы следующие сущности:
· Водитель
· Владелец
· Транспортное средство
· VIN
· Протоколы нарушений Формулирование основной цели разработки.
Основной целью данной базы данных является удобное, быстрое и качественное обращение с информацией об участниках дорожного движения и их нарушениях.
Такая база может найти применение в хранении информации о неуклонно растущих автолюбителях.
Помимо хранения информации, пользователь базы данных может осуществлять запросы на выборку и поиск информации.
Основные запросы, на которые ориентирована база данных:
1. Запрос о выводе владельца по номеру ПТС
2. Запрос о выводе информации о нарушении и его участнике
3. Запрос о выводе информации об участнике нарушения и сумма штрафа
4. Запрос по VIN коду информации о владельце и страховке
5. Запрос по государственному номеру информации о машине
6. Запрос по поиску владельцев определенных марок машин и моделей
7. Запрос о наличии ОСАГО и КАСКО Описание источников и форм исходных данных Источниками разработанной базы данных являются данные из Интернета.
Поэтому нельзя полностью доверять данной информации.
Требование к программному обеспечению.
Использовались следующие программы:
— Microsoft SQL Server 2005 Standart ver.9.0.1
— Computer Associated ERWin 4.0.
2. Описание структуры Таблица находится в первой нормальной форма, тогда и только тогда, когда ни одна из ее строк не содержит в любом своем поле более одного значения и ни одно из ее ключевых полей не пусто.
Отношение находится во второй нормальной форме, если оно соответствует первой нормальной форме и все не ключевые атрибуты функционально полно зависят от первичного ключа.
Отношение находится в третьей нормальной форме, если оно соответствует второй нормальной форме, и в нем нет транзитивных связей.
На практике в большинстве случаев третья форма нормализации является необходимой и достаточной.
3.Описание базы данных Схема данных в SQL Server 2005.
ER-модель в Erwin.
Logical
Physical
Таблица основных сущностей Основных сущностей для моей базы данных необходимо три:
· Сущность с информацией о водителе
· Сущность с информацией о владельце
· Сущность с информацией о VIN
· Сущность с информацией о ТС
· Сущность с информацией о нарушениях Водитель
Владелец
VIN
Протокол
Транспортное средство
4. Запросы Разработка SQL-запросов
1. Запрос о выводе владельца по номеру ПТС
SELECT Владелец_ПТС.Номер_ПТС, Владелец. Фамилия, Владелец. Имя, Владелец. Отчество, Владелец. Дата_Рождения
FROM Владелец_ПТС INNER JOIN
Владелец ON Владелец_ПТС.ID_Владелец = Владелец. ID_Владелец
2. Запрос о выводе информации о нарушении и его участнике
SELECT Владелец. Фамилия, Владелец. Имя, Владелец. Отчество, Номер_Прав.Номер_Прав, Протокол. ID_Протокол, Протокол. Дата_Нарушения, Протокол. Место_Нарушения, Протокол. Сущность_Нарушения, Протокол. Сумма_Штрафа, Протокол. Лишение, Протокол. Дата_Оплаты
FROM Номер_Прав INNER JOIN
Штраф_Протокол ON Номер_Прав.ID_Штраф = Штраф_Протокол.ID_Штраф INNER JOIN
Протокол ON Штраф_Протокол.ID_Протокол = Протокол. ID_Протокол INNER JOIN
Водитель ON Номер_Прав.Номер_Прав = Водитель. Номер_Прав INNER JOIN
Владелец ON Водитель. ID_Владелец = Владелец. ID_Владелец
3. Запрос о выводе информации об участнике нарушения и сумма штрафа
SELECT Владелец. Фамилия, Владелец. Имя, Владелец. Отчество, Номер_Прав.Номер_Прав, Протокол. ID_Протокол, Протокол. Дата_Нарушения, Протокол. Место_Нарушения, Протокол. Сущность_Нарушения, Протокол. Сумма_Штрафа, Протокол. Лишение, Протокол. Дата_Оплаты
FROM Номер_Прав INNER JOIN
Штраф_Протокол ON Номер_Прав.ID_Штраф = Штраф_Протокол.ID_Штраф INNER JOIN
Протокол ON Штраф_Протокол.ID_Протокол = Протокол. ID_Протокол INNER JOIN
Водитель ON Номер_Прав.Номер_Прав = Водитель. Номер_Прав INNER JOIN
Владелец ON Водитель. ID_Владелец = Владелец. ID_Владелец
WHERE Протокол. Сумма_Штрафа >1500
4. Запрос по VIN коду информации о владельце и страховке
SELECT ПТС_VIN.VIN, Владелец. Фамилия, Владелец. Отчество, Страховка. ID_Страховка, Страховка. С, Страховка. По, Страховка. КАСКО, Страховка. ОСАГО
FROM ПТС_VIN INNER JOIN
Владелец_ПТС ON ПТС_VIN.Номер_ПТС = Владелец_ПТС.Номер_ПТС INNER JOIN
Владелец ON Владелец_ПТС.ID_Владелец = Владелец. ID_Владелец INNER JOIN
Водитель ON Владелец. ID_Владелец = Водитель. ID_Владелец INNER JOIN
Страховка ON Водитель. ID_Страховка = Страховка. ID_Страховка
5. Запрос по государственному номеру информации о машине
SELECT Номер_Двигателя.Номер_Двигателя, Номер_Двигателя.Мощность_л_с, Номер_Двигателя.Объем, Номер_Двигателя.Марка, Номер_Двигателя.Модель, Номер_Двигателя.Год_Выпуска, ПТС_Гос_Знак.Гос_знак, VIN. VIN
FROM Номер_Двигателя INNER JOIN
VIN ON Номер_Двигателя.Номер_Двигателя = VIN. Номер_Двигателя INNER JOIN
ПТС_VIN ON VIN. VIN = ПТС_VIN.VIN INNER JOIN
ПТС_Гос_Знак ON ПТС_VIN.Номер_ПТС = ПТС_Гос_Знак.Номер_ПТС
6. Запрос по поиску владельцев определенных марок машин и моделей
SELECT Владелец. Фамилия, Владелец. Имя, Владелец. Отчество, Номер_Двигателя.Марка, Номер_Двигателя.Модель, Номер_Двигателя.Год_Выпуска
FROM Номер_Двигателя INNER JOIN
VIN ON Номер_Двигателя.Номер_Двигателя = VIN. Номер_Двигателя INNER JOIN
ПТС_VIN ON VIN. VIN = ПТС_VIN.VIN INNER JOIN
Владелец_ПТС ON ПТС_VIN.Номер_ПТС = Владелец_ПТС.Номер_ПТС INNER JOIN
Владелец ON Владелец_ПТС.ID_Владелец = Владелец. ID_Владелец
WHERE ((Номер_Двигателя.Марка = 'Saab') OR (Номер_Двигателя.Марка = 'Volvo'))
7. Запрос о наличии ОСАГО и КАСКО
SELECT Владелец. Фамилия, Владелец. Имя, Владелец. Отчество, Водитель. Номер_Прав, Страховка. КАСКО
FROM Владелец INNER JOIN
Водитель ON Владелец. ID_Владелец = Водитель. ID_Владелец INNER JOIN
Страховка ON Водитель. ID_Страховка = Страховка. ID_Страховка
WHERE (Страховка.КАСКО = N’да')
1. С. М. Диго «Базы данных: проектирование и использование» Москва 2005
2. Лекционные материалы по курсу БД