База данных ГИБДД

Государственный университет – Высшая школа экономики

Факультет бизнес - информатики


Отчет по курсовой работе на тему:

"База данных ГИБДД"


Выполнил студент

2 курса 273(0) группы

Нестеров Сергей Викторович

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

Щербинин Олег Павлович


Москва 2010

Содержание


Описание прикладной области

Описание структуры

Описание базы данных

Запросы

Список литературы


1. Описание прикладной области


Прикладной областью данного курсового проекта является база ГИБДД.

Я выбрал эту тему, потому что сам являюсь водителем и зачастую общаюсь с сотрудниками ГИБДД и слышу множество историй о них и их системе работы.

Для полноценной работы базы данных, необходимы следующие сущности:

Водитель

Владелец

Транспортное средство

VIN

Протоколы нарушений

Формулирование основной цели разработки.

Основной целью данной базы данных является удобное, быстрое и качественное обращение с информацией об участниках дорожного движения и их нарушениях.

Такая база может найти применение в хранении информации о неуклонно растущих автолюбителях.

Помимо хранения информации, пользователь базы данных может осуществлять запросы на выборку и поиск информации.

Основные запросы, на которые ориентирована база данных:

Запрос о выводе владельца по номеру ПТС

Запрос о выводе информации о нарушении и его участнике

Запрос о выводе информации об участнике нарушения и сумма штрафа

Запрос по VIN коду информации о владельце и страховке

Запрос по государственному номеру информации о машине

Запрос по поиску владельцев определенных марок машин и моделей

Запрос о наличии ОСАГО и КАСКО

Описание источников и форм исходных данных

Источниками разработанной базы данных являются данные из Интернета.

Поэтому нельзя полностью доверять данной информации.

Требование к программному обеспечению.

Использовались следующие программы:

- 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-запросов

Запрос о выводе владельца по номеру ПТС

SELECT Владелец_ПТС.Номер_ПТС, Владелец.Фамилия, Владелец.Имя, Владелец.Отчество, Владелец.Дата_Рождения

FROM Владелец_ПТС INNER JOIN

Владелец ON Владелец_ПТС.ID_Владелец = Владелец.ID_Владелец

Запрос о выводе информации о нарушении и его участнике

SELECT Владелец.Фамилия, Владелец.Имя, Владелец.Отчество, Номер_Прав.Номер_Прав, Протокол.ID_Протокол, Протокол.Дата_Нарушения,

Протокол.Место_Нарушения, Протокол.Сущность_Нарушения, Протокол.Сумма_Штрафа, Протокол.Лишение, Протокол.Дата_Оплаты

FROM Номер_Прав INNER JOIN

Штраф_Протокол ON Номер_Прав.ID_Штраф = Штраф_Протокол.ID_Штраф INNER JOIN

Протокол ON Штраф_Протокол.ID_Протокол = Протокол.ID_Протокол INNER JOIN

Водитель ON Номер_Прав.Номер_Прав = Водитель.Номер_Прав INNER JOIN

Владелец ON Водитель.ID_Владелец = Владелец.ID_Владелец

Запрос о выводе информации об участнике нарушения и сумма штрафа

SELECT Владелец.Фамилия, Владелец.Имя, Владелец.Отчество, Номер_Прав.Номер_Прав, Протокол.ID_Протокол, Протокол.Дата_Нарушения,

Протокол.Место_Нарушения, Протокол.Сущность_Нарушения, Протокол.Сумма_Штрафа, Протокол.Лишение, Протокол.Дата_Оплаты

FROM Номер_Прав INNER JOIN

Штраф_Протокол ON Номер_Прав.ID_Штраф = Штраф_Протокол.ID_Штраф INNER JOIN

Протокол ON Штраф_Протокол.ID_Протокол = Протокол.ID_Протокол INNER JOIN

Водитель ON Номер_Прав.Номер_Прав = Водитель.Номер_Прав INNER JOIN

Владелец ON Водитель.ID_Владелец = Владелец.ID_Владелец

WHERE Протокол.Сумма_Штрафа >1500

Запрос по 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_Страховка

Запрос по государственному номеру информации о машине

SELECT Номер_Двигателя.Номер_Двигателя, Номер_Двигателя.Мощность_л_с, Номер_Двигателя.Объем, Номер_Двигателя.Марка, Номер_Двигателя.Модель,

Номер_Двигателя.Год_Выпуска, ПТС_Гос_Знак.Гос_знак, VIN.VIN

FROM Номер_Двигателя INNER JOIN

VIN ON Номер_Двигателя.Номер_Двигателя = VIN.Номер_Двигателя INNER JOIN

ПТС_VIN ON VIN.VIN = ПТС_VIN.VIN INNER JOIN

ПТС_Гос_Знак ON ПТС_VIN.Номер_ПТС = ПТС_Гос_Знак.Номер_ПТС

Запрос по поиску владельцев определенных марок машин и моделей

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'))

Запрос о наличии ОСАГО и КАСКО

SELECT Владелец.Фамилия, Владелец.Имя, Владелец.Отчество, Водитель.Номер_Прав, Страховка.КАСКО

FROM Владелец INNER JOIN

Водитель ON Владелец.ID_Владелец = Водитель.ID_Владелец INNER JOIN

Страховка ON Водитель.ID_Страховка = Страховка.ID_Страховка

WHERE (Страховка.КАСКО = N'да')


Список литературы


С.М. Диго "Базы данных: проектирование и использование" Москва 2005

Лекционные материалы по курсу БД

Если Вам нужна помощь с академической работой (курсовая, контрольная, диплом, реферат и т.д.), обратитесь к нашим специалистам. Более 90000 специалистов готовы Вам помочь.
Бесплатные корректировки и доработки. Бесплатная оценка стоимости работы.

Поможем написать работу на аналогичную тему

Получить выполненную работу или консультацию специалиста по вашему учебному проекту
Нужна помощь в написании работы?
Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Пишем статьи РИНЦ, ВАК, Scopus. Помогаем в публикации. Правки вносим бесплатно.

Похожие рефераты: