Главная страница
Навигация по странице:

  • Цель данного курсового проекта

  • Глава 1. Аналитическая часть

  • Построение инфологической (концептуальной) модели предметной области

  • ТОП-10 систем управления базами данных в 2019 году

  • Глава 2. Проектная часть Проектирование логической структуры базы данных

  • Типы данных атрибутов сущностей

  • Проектирование физической структуры базы данных

  • Реализация проекта в среде СУБД (Создание таблиц. Создание запросов. Разработка интерфейса)

  • Рис 2.6.

  • Рис. 2.17.

  • Рис. 2.21.

  • Список использованных источников

  • Проектирование и создание базы данных «ГАИ» для подведения статистики совершаемых водителями нарушений правил дорожного движения. Проектирование и создание базы данных «ГАИ» для подведения стати. Проектирование и создание базы данных гаи


    Скачать 3.21 Mb.
    НазваниеПроектирование и создание базы данных гаи
    АнкорПроектирование и создание базы данных «ГАИ» для подведения статистики совершаемых водителями нарушений правил дорожного движения
    Дата24.05.2022
    Размер3.21 Mb.
    Формат файлаdocx
    Имя файлаПроектирование и создание базы данных «ГАИ» для подведения стати.docx
    ТипКурсовой проект
    #547106

    МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РФ

    ГРОЗНЕНСКИЙ ГОСУДАРСТВЕННЫЙ НЕФТЯНОЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

    им. акад. М.Д. Миллионщикова
    Кафедра «Информационные технологии»
    КУРСОВОЙ ПРОЕКТ

    по дисциплине: «База данных»

    на тему: «Проектирование и создание базы данных «ГАИ» для подведения статистики совершаемых водителями нарушений правил дорожного движения (Вариант 12)»

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

    группы ПИ-19-1

    Садаханов С.С.

    Руководитель:

    Моисеенко Н.А.

    Допущен к защите

    «__»__________2022 г.

    Зав.кафедрой ИТ __________/Моисеенко Н.А.
    .


    «___»_______________2022 г.

    ____________________

    оценка

    ____________________

    подпись


    Грозный 2022
    МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РФ

    ГРОЗНЕНСКИЙ ГОСУДАРСТВЕННЫЙ НЕФТЯНОЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

    им. акад. М.Д. Миллионщикова

    Кафедра «Информационные технологии»

    ЗАДАНИЕ:

    На курсовой проект по дисциплине: «База данных»

    Студенту: Садаханову Сулиману Салмановичу

    На тему: «Проектирование и создание базы данных «Проектирование и создание базы данных «ГАИ» для подведения статистики совершаемых водителями нарушений правил дорожного движения (Вариант 12)».

    Содержание:

    Введение

    Глава 1. Аналитическая часть

    1.1. Описание предметной области

    1.2. Постановка задачи

    1.3. Построение инфологической (концептуальной) модели предметной области

    1.4. Выбор СУБД

    Глава 2. Проектная часть

    2.1 Проектирование логической структуры базы данных

    2.2 Проектирование физической структуры

    2.3 Реализация проекта в среде СУБД (Создание таблиц. Создание запросов. Разработка интерфейса)

    Заключение

    Список использованных источников

    Литература:

    1. Сибилев В.Д. Проектирование баз данных: Учебное пособие. – Томск: Томский государственный университет систем управления и радиоэлектроники, 2007. – 265с. (дата обращения: 13.05.2022).

    2. Прокушев Я.Е. Базы данных : учебник с практикумом / Прокушев Я.Е.. — Санкт-Петербург: Интермедия, 2022. — 264 c. — ISBN 978-5-4383-0250-6. — Текст: электронный (дата обращения: 13.05.2022).

    Руководитель курсового проекта: ______________/_____________

    Подпись Ф.И.О.

    Задание выдано «___» _____________2022 г.

    Задание сдано на кафедру «___» ______________2022 г.

    Грозный 2022

    Содержание


    Введение 4

    Глава 1. Аналитическая часть 6

    1.1.Описание предметной области 6

    1.2.Постановка задачи 8

    1.3.Построение инфологической (концептуальной) модели предметной области 10

    1.4. Выбор СУБД 15

    Глава 2. Проектная часть 19

    3.1.Проектирование логической структуры базы данных 19

    3.2.Проектирование физической структуры базы данных 23

    2.3.Реализация проекта в среде СУБД (Создание таблиц. Создание запросов. Разработка интерфейса) 26

    Заключение 36

    Список использованных источников 37

    Введение


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

    Кроме данных БД может содержать средства, позволяющие каждому из пользователей пользоваться только теми данными, которые входят в его распоряжение. В итоге взаимодействия данных, с методами, доступными конкретным пользователям образуется информация, которая потребляется и на основании которой в пределах собственной компетенции производят ввод и изменение данных.

    Госавтоинспекция МВД России (также Государственная инспекция безопасности дорожного движения, ГИБДД, ГАИ) — подразделение в структуре МВД РФ, которое осуществляет контрольные, надзорные и разрешительные функции в области обеспечения безопасности дорожного движения. Задачами Госавтоинспекции в настоящее время являются обеспечение соблюдения предприятиями и организациями всех форм собственности, гражданами нормативных правовых актов в области безопасности дорожного движения, а также сохранение жизни и здоровья граждан на улицах и автодорогах страны

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

    Вышеперечисленные факторы делают необходимым применение Госавтоинспекцией МВД базы данных для учета сведений о совершенных дорожных правонарушениях.

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

    Для достижения поставленной цели необходимо решить следующие задачи:

    • изучить предметную область;

    • разработать инфологическую модель предметной области;

    • выбрать СУБД для реализации базы данных;

    • спроектировать логическую и физическую структуру базы данных;

    • создать объекты базы данных (таблицы, запросы);

    • реализовать проект базы данных.

    Объектом данного курсового проекта является.

    Предмет курсового проекта – база данных для фиксации правонарушений: определения размера штрафа и наиболее аварийных участков дорог.

    Глава 1. Аналитическая часть




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


    В 1998 году президент издал указ, согласно которому ГАИ переименовали в ГИБДД - Государственная инспекция безопасности дорожного движения МВД РФ. Госавтоинспекция МВД России (также Государственная инспекция безопасности дорожного движения, ГИБДД, ГАИ) — подразделение в структуре МВД РФ, которое осуществляет контрольные, надзорные и разрешительные функции в области обеспечения безопасности дорожного движения. Задачами Госавтоинспекции в настоящее время являются обеспечение соблюдения предприятиями и организациями всех форм собственности, гражданами нормативных правовых актов в области безопасности дорожного движения, а также сохранение жизни и здоровья граждан на улицах и автодорогах страны. ГИБДД выполняет следующие функции:

    • контроле дорожного движения, состояния улично-дорожной сети;

    • выявлении (предупреждении) нарушений правил дорожного движения и других нормативных актов в области дорожного движения;

    • регулировании дорожного движения;

    • охране общественного порядка, борьбе с преступностью;

    • оказании помощи участникам дорожного движения;

    • обеспечении безопасного и беспрепятственного проезда автомобилей специального назначения при следовании в них объектов государственной охраны.

    Организационная структура ГИБДД(ГАИ) изображена на рисунке 1.1.



    Рис 1.1. Организационная структура ГИБДД

    На данный момент в России насчитывается более 42 миллионов автотранспортных средств, существенная часть граждан нашей страны (43%) имеют водительские права.

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

    Для того чтобы легче было вести учет различных правонарушений, правонарушителей, выявления опасных участков дорог необходима база данных.

    Базы данных трудно рассматривать без таких понятий как сервер и клиент. Но в данной работе мы осуществим лишь проектирование и заполнение информацией базы данных.

    База данных — это организованная структура, предназначенная для хранения, изменения и обработки взаимосвязанной информации, преимущественно больших объемов.



      1. Постановка задачи


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

    Но для начала, нужно выполнить проектирование логической и физической структуры данных.

    Логическое проектирование — создание схемы базы данных на основе конкретной модели данных, например, реляционной модели данных. Для реляционной модели данных логическая модель — набор схем отношений, обычно с указанием первичных ключей, а также «связей» между отношениями, представляющих собой внешние ключи [5].

    Физическое проектирование — создание схемы базы данных для конкретной системы управления базой данных. Специфика конкретной системы управления базой данных может включать в себя ограничения на именование объектов базы данных, ограничения на поддерживаемые типы данных и т. п. [6]

    После стоит разобраться в структуре самой базы данных. В базе данных содержатся различные объекты, но основными являются таблицы. Самая простая база данных имеет хотя бы одну таблицу, то есть, структура базы данных равна структуре ее объектов.

    Таблица - объект, который используется для хранения информации в удобном формате.

    Необходимо разобраться в таблицах, в которых будет хранится информация о:

    - ВОДИТЕЛЯХ: Код водительского удостоверения, Ф.И.О., адрес, телефон;

    - АВТОМОБИЛЯХ: Код автомобиля, марка, модель, цвет, год выпуска, дата регистрации в ГАИ;

    - НАРУШЕНИЯХ правил дорожного движения: код нарушения, вид нарушения (превышение скорости, управление автомобилем в состоянии алкогольного опьянения и др.), штраф за нарушение (диапазон долей базовой величины. Например, штраф за превышение скорости составляет 0,5-10 базовых величин), предупреждение сделать или не сделать (Да/Нет, "Да" означает, что инспектор должен сделать водителю предупреждение за совершенное нарушение), срок лишения права управления автомобилем (диапазон месяцев. Например, срок за управление автомобилем в состоянии алкогольного опьянения составляет 12 – 36 месяцев);

    - ВЗЫСКАНИЯХ с водителей-нарушителей: код нарушения, дата и время нарушения, Код водительского удостоверения, район совершения нарушения, размер штрафа (доля базовой величины, определяемая инспектором по кодексу об административных правонарушениях), оплачен штраф или не оплачен (Да/Нет), срок лишения права управления автомобилем (количество месяцев, определяемое инспектором по Кодексу об административных правонарушениях), базовая величина (на дату совершения нарушения, тыс. руб.), личный Код инспектора ДПС, установившего нарушение.

    Далее необходимо заполнить созданные таблицы данными, для дальнейшей работы с ними. Есть два способа заполнения таблиц. Первый и самый простой через удобный интерфейс системы управления данными. Второй, менее удобный, через запросы, используя специальный язык запросов системы управления данными.

    Запросы — это объекты, с помощью которых можно манипулировать данными в рамках возможностей языка запросов, то есть: изменение, удаление, вывод в удобном виде, сортировка. Также с помощью запросов можно выполнять преобразование данных по заданному алгоритму, создавать новые таблицы, выполнять автоматическое наполнение таблиц данными, импортировать из других источников, выполнять простейшие вычисления в таблицах и многое другое [4].

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

    Интерфейс - способ и средство взаимодействия пользователя с программами или программами между собой, программ с аппаратными средствами или аппаратных средств между собой [7].



      1. Построение инфологической (концептуальной) модели предметной области


    Инфологическая модель – это потоки информации, сущности и связи данной области. В такой модели указываются связи между сущностями данной предметной области [8]. Инфологическая моделирование идет на втором этапе проективная базы данных, после описания предметной области.

    Цель инфологического моделирования – это описание на естественном языке для человека, методов сбора и представления информации. Основными составляющими инфологической модели являются сущности, атрибуты (свойства) и связи между ними.

    Сущность – это любой объект в базе данных, который хранит в себе информацию.

    Связи — это ассоциирование нескольких сущностей с целью отыскания одних из них по значениям других. [8]

    Атрибут – это характеристика сущности, которая хранит в себе конкретный тип данных.

    В данной модели были выделены следующие 4 сущности:

    • «Водители»

    • «Автомобили»

    • «Нарушения»

    • «Взыскания»


    На рисунке 1.2 показаны связи между этими сущностями.

    Автомобиль

    Нарушение

    Имеет



    1

    N

    Соответствует



    N

    1


    N

    1

    Получает

    Водитель

    Взыскание



    Рис. 1.2. Схема связей между сущностями

    На данном этапе необходимо к каждой сущности прописать:

    • Первичный ключ;

    • Внешние ключи соответственно типам связей;

    • Атрибуты.

    После этих операций инфологическая модель примет вид, указанный на рисунке 1.3.



    Рис. 1.3. Инфологическая модель базы данных «ГАИ»

    Здесь к сущности «Автомобиль» были присоединены такие атрибуты, как:

    • Код автомобиля,

    • Марка,

    • Модель,

    • Год выпуска,

    • Цвет,

    • Дата регистрации в ГАИ,

    К сущности «Водитель»:

    • Код вод. Удостоверения,

    • Код автомобиля,

    • ФИО,

    • Адрес,

    • Телефон,

    К сущности «Нарушение»:

    • Код нарушения,

    • Вид нарушения,

    • Штраф за нарушение,

    • Предупреждение,

    • Срок лишения прав,

    К сущности «Взыскание»:

    • Код нарушения

    • Дата и время

    • Код вод. удостоверения

    • Район совершения нарушения

    • Размер штрафа

    • Оплата

    • Срок лишения прав

    • Базовая величина

    • Личный Код водителя ДПС


    Также были установлены связи между сущностями. Опишем типы взаимосвязей объектов предметной области, которые были определены из их отношений:

    1. Связь «Автомобиль-Водитель» между данными сущностями установлена связь «многие-к-одному», так как один водитель может иметь несколько машин, а автомобиль может иметь только одного хозяина;

    2. Связь «Водитель-Взыскание». Эти сущности соединены связью «один-ко-многим» из-за того, что на водителя может поступить несколько взысканий, а одно взыскание относится только к одному водителю.

    3. Связь «Взыскание-Нарушение» между данными сущностями установлена связь «многие-к-одному» ввиду того, что одно нарушение может повлечь за собой множество взысканий, а одно взыскание не может относиться ко многим нарушениям.


    1.4. Выбор СУБД



    Выбор системы управления базами данных (далее СУБД). Если говорить в общем, любая база данных подходит для решения каждой задачи. Разница лишь в удобстве реализации, избыточности данных, скорости работы в дальнейшем поддержке СУБД и другие нюансы. Некоторые СУБД заточены под решение определенных задач.

    Если говорить о классификации базы данных, то их разделают: по модели данных, по среде постоянного хранения, по содержимому, по степени распределённости. Для проектирования базы данных рассмотрим классификацию по модели данных:

    • иерархическая;

    • сетевая;

    • реляционная;

    • объектная и объектно-ориентированная;

    • объектно-реляционная;

    • функциональная.

    С моделями данных, разобрались, а какие есть сами базы данных? Самые популярные базы данных, показаны на таблице 1.1.

    Таблица 1.1.

    ТОП-10 систем управления базами данных в 2019 году[10]




    Разработчик

    Лицензия

    Написана на

    Oracle

    Oracle Corporation

    Проприетарная

    Assembly, C, C++

    MySQL

    Oracle Corporation

    GPL v2 или проприетарная

    C, C++

    Microsoft SQL Server

    Microsoft Corporation

    Проприетарная

    C, C++

    PostgreSQL

    PostgreSQL Global Development Group

    Лицензия PostgreSQL

    C

    MongoDB

    MongoDB Inc.

    Различные варианты лицензирования

    C++, C, JavaScript

    DB2

    IBM

    Проприетарная EULA

    Assembly, C, C++

    Microsoft Access

    Microsoft Corporation

    Пробное ПО




    Redis

    Salvatore Sanfilippo

    Лицензия BSD

    ANSI C


    Разберем особенности первых трех претендентов.

    База данных Oracle:

    • обрабатывает большие данные;

    • поддерживает sql, к нему можно получить доступ из БД Oracle.

    MySQL:

    • масштабируемость;

    • лёгкость использования;

    • безопасность;

    • скорость;

    • поддержка многих операционных систем.

    Microsoft SQL Server:

    • высокая производительность;

    • зависимость от платформы;

    • низкий порог входа;

    • возможность установить разные версии на одном компьютере;

    • генерация скриптов для перемещения данных.

    Все рассмотренные базы данных являются реляционными. Реляционные базы данных представляют собой базы данных, которые используются для хранения и предоставления доступа к взаимосвязанным элементам информации. Реляционные базы данных основаны на реляционной модели — интуитивно понятном, наглядном табличном способе представления данных. Каждая строка, содержащая в таблице такой базы данных, представляет собой запись с уникальным идентификатором, который называют ключом. [9]

    В проектирование базы данных «ГАИ» лучше всего подойдет Microsoft SQL Server. Ее особенности мы перечислили чуть выше, а выбрана Microsoft SQL Server, из-за ее высокой производительности и удобства работы для новичков. Преимущества MySQL в данной работе нам не понадобятся, поэтому между этими претендентами предпочтение отдается второму. Высказав все эти аргументы, было утверждено, для решения поставленной цели выбрать базу данных Microsoft SQL Server.

    В нем есть среда управления данными SQL Server Management Studio.

    SQL Server Management Studio — это интегрированная среда для управления инфраструктурой SQL Server и базы данных SQL Azure. Среда Management Studio предоставляет средства для настройки, наблюдения и администрирования экземпляров SQL Server.[11]

    Microsoft SQL Server Express - версия системы управления реляционными базами данных Microsoft SQL Server, которая является бесплатной для загрузок, распространения и использования. Она содержит базу данных, специально предназначенную для встраиваемых и маломасштабных приложений.

    Transact-SQL – расширение языка запросов SQL созданное компанией Microsoft и Sybase. Данным языком запросов мы и будем пользоваться для взаимодействия с базой данных.

    Глава 2. Проектная часть


      1. Проектирование логической структуры базы данных




    Цель проектирования – преобразование концептуальной модели на основе выбранной модели данных в логическую модель, не зависимую от особенностей используемой в дальнейшем СУБД для физической реализации базы данных.

    Чуть ранее было сказано, что мы будем работать в реляционной базе данных. Для этого стоит перевести инфологическую модель в реляционную и привести к нормальным формам. Для перевода нашей модели на другой этап нам необходимо избавиться от связей «многие-ко-многим», но так как, наша инфологическая модель не имеет таких связей. Она останется неизменной.

    Теперь рассмотрим нормальные формы. Для этого начнем с первой нормальной формы. Ее правило звучит следующим образом. Первая нормальная форма (далее 1НФ) - переменная отношения находится в первой нормальной форме тогда и только тогда, когда в любом допустимом значении этой переменной каждый кортеж отношения содержит только одно значение для каждого из атрибутов.

    При соблюдение правил 1НФ, мы получим одну таблицу «Нарушение», указанную на рисунке 2.1.


    Рис. 2.1. 1НФ

    Далее разберем вторую нормальную форму (Далее 2НФ). Отношение находится во 2НФ, если оно находится в 1НФ и каждый не ключевой атрибут неприводимо зависит от Первичного Ключа.

    Для перевода во 2НФ нам стоит создать четыре таблицы о:

    1. автомобилях;

    2. водителях;

    3. нарушениях;

    4. взысканиях.

    Атрибуты для автомобиля:

    • Код автомобиля;

    • Марка;

    • Модель;

    • Год выпуска;

    • Цвет;

    • Дата регистрации в ГАИ.

    Для водителя:

    • Код вод. Удостоверения;

    • Код автомобиля;

    • ФИО;

    • Адрес;

    • Телефон.

    Для нарушения:

    • Код нарушения;

    • Марка;

    • Год выпуска;

    • Цвет;

    • Дата регистрации в ГАИ;

    • Код вод. удостоверения;

    • ФИО;

    • Адрес;

    • Телефон;

    • Код автомобиля;

    • Вид нарушения;

    • Штраф за нарушение;

    • Предупреждение;

    • Срок лишения прав;

    • Дата и время;

    • Район совершения нарушения;

    • Размер штрафа;

    • Оплата.

    Для взыскания:

    • Код нарушения

    • Дата и время

    • Код вод. удостоверения

    • Размер штрафа

    • Оплата

    • Срок лишения прав


    После мы получим модель, указанную на рисунке 2.2.



    Рис. 2.2. 2НФ

    Для приведения к третьей нормальной форме (Далее 3НФ) существует следующее правило: таблица находится в третьей нормальной форме, если она во второй нормальной форме и нет транзитивной зависимости. Другими словами, все не ключевые атрибуты не должны быть связаны между собой.

    В нашем случае, транзитивная зависимость между не ключевыми атрибутами отсутствует, поэтому база данных уже находится в 3НФ.

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

    Типы данных атрибутов сущностей

    Сущность

    Атрибут

    Тип данных

    Примечания

    Автомобиль

    Код автомобиля

    Числовой

    Первичный ключ

    Марка

    Строка

    Внешний ключ

    Модель

    Строка

    NOT NULL

    Год выпуска

    Дата

    NOT NULL

    Цвет

    Строка

    NOT NULL

    Дата регистрации

    Дата

    NOT NULL

    Водитель

    Код вод. удостоверения

    Числовой

    Первичный ключ

    Код автомобиля

    Числовой

    NOT NULL

    ФИО

    Строка

    NOT NULL

    Адрес

    Строка

    NULL

    Телефон

    Числовой

    NULL

    Нарушение

    Вид нарушения

    Числовой

    Первичный ключ

    Код нарушения

    Строка

    Внешний ключ

    Штраф за нарушение

    Денежный

    NOT NULL

    Предупреждение

    Строка

    NULL

    Срок лишения прав

    Дата

    NULL

    Взыскание

    Код нарушения

    Числовой

    Первичный ключ

    Дата и время

    Дата

    NOT NULL

    Код вод. Удостоверения

    Числовой

    Внешний ключ

    Район совершения нарушения

    Строка

    NULL

    Размер штрафа

    Денежный

    NOT NULL

    Оплата

    Денежный

    NOT NULL

    Срок лишения прав

    Числовой

    NULL

    Базовая величина

    Числовой

    NULL

    Личный Код сотрудника ДПС

    Числовой

    NULL


      1. Проектирование физической структуры базы данных



    Физическое проектирование базы данных - процесс подготовки описания реализации базы данных на вторичных запоминающих устройствах; на этом этапе рассматриваются основные отношения, организация файлов и индексов, предназначенных для обеспечения эффективного доступа к данным, а также все связанные с этим ограничения целостности и средства защиты. [13]

    Существуют следующие этапы проектирования базы данных.

    1. Перенос глобальной логической модели данных в среду целевой СУБД.

    2. Проектирование основных отношений.

    3. Разработка способов получения производных данных.

    4. Реализация ограничений предметной области.

    5. Проектирование физического представления базы данных.

    6. Анализ транзакций.

    7. Выбор файловой структуры.

    8. Определение индексов.

    9. Определение требований к дисковой памяти.

    10. Проектирование пользовательских представлений.

    11. Разработка механизмов защиты.

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

    13. Текущий контроль и настройка операционной системы.

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

    По логической модели у атрибутов 4 типа данных:

    • Денежный

    • Строка

    • Числовой

    • Дата

    В базе данных Microsoft SQL Server тип этих данных будет следующим.

    • Money – для денежного типа данных, стоит упомянуть, что после запятой идут еще 4 числа.

    • VARCHAR (50) – для строк, также особенностью данного типа данных, является, то что в скобках указывается максимальное количество символов в строке, в нашем случае это 50;

    • INT – числовой, используется для отображения целых чисел;

    • Date – используется для отображения даты, формат следующий yyyy-mm-dd.

    Также в MS SQL Server можно выставить галочку на необязательные для заполнения поля. У нас таких полей три. Далее идут отношения. MS SQL Server предоставляет удобный интерфейс для создания связей. Где можно легко можно удобно настроить, поподробнее будет рассмотрено в следующей подглаве.

    Получение данных. Для данной задачи будет использоваться запрос «SELECT», который позволит получить данные с нашей уже в дальнейшем реализованной базы данных. Чуть позже будет создан интерфейс для вывода, ввода и удаления данных.


      1. Реализация проекта в среде СУБД (Создание таблиц. Создание запросов. Разработка интерфейса)



    На данном этапе приступим непосредственно к реализации базы данных «ГАИ». Сначала запустим СУДБ Microsoft SQL SERVER MANAGEMENT STUDIO, кликнув по иконке, показанной на рисунке 2.3.



    Рис 2.3. СУДБ Microsoft Sql Server Management Studio
    После запуска нашей СУБД, нужно соединиться с SQL server express обязательно указав название сервера, остальные поля уже выставлены или являются необязательными, как показано на рисунке 2.4.



    Рис 2.4. Соединение с SQL server express
    Далее создадим нашу базу данных, кликнув по «Базы данных» в обозравателе объектов правой кнопкой мыши и выбрав «Создать базу данных….» как показано на рисунке 2.5



    Рис 2.5. Создание базы данных «ГАИ»
    Далее у нас откроется окно с настройкой создаваемой базы данных, задаем имя, остальные настройки можно подробнее увидеть на рисунке 2.6.



    Рис 2.6. Настройка создаваемой базы данных.
    Создание таблиц

    Вот мы и создали нашу базу данных «ГАИ», но на данный момент она полностью пустая. Как сообщалось в главе 1.2, база данных состоит из объектов, а информацию заносят в один из объектов – таблица.

    Для этого раскроем нашу базу данных нажав рядом с созданной базой иконку «плюсик», щелкнем правой кнопкой мыши на папку «Таблицы», далее «Создать» и «Таблица…» более наглядно показано на рисунке 2.7.



    Рис 2.7. Процесс создания таблиц.
    Первая таблица будет названа «Автомобиль» с ключевым полем «Код_автомобиля», все остальные атрибуты и назначения первичного ключа показаны на рисунке 2.8.



    Рис 2.8. Создание таблицы «Автомобиль»
    Уже по шаблону создаем таблицу «Водитель», задание первичного ключа и атрибуты отображены на рисунке 2.9.



    Рис 2.9. Создание таблицы «Водитель»
    Создаем таким же образом и таблицы «Нарушение» и «Взыскание» показанную на рисунках 2.10. и 2.11 соответственно.



    Рис 2.10. Создание таблицы «Нарушение»


    Рис 2.11. Создание таблицы «Взыскание»

    После создания таблиц стоит приступить к связам между ними. Для наглядности связи мы будем настраивать через диаграммы. Для настройки связей нажимаем в обозревателе объектов по папке «Диаграммы баз данных» правой кнопки мыши и выбираем «Создать диаграмму базы данных». В открывшемся окне на все таблицы нажимаем «Добавить». Результат показан на рисунке 2.12.



    Рис 2.12. Добавление таблиц в диаграмму
    Для создания связей зажимаем левой кнопкой мыши на таблице, которая содержит первый ключ, передвигаем на таблицу со вторичным ключом и отпускам зажатую кнопку мыши. Как показано на рисунке 2.13. атрибуты задаются автоматически.



    Рис. 2.13. Связи между таблицами «Водитель» и «Автомобиль»
    Уже по пройденному алгоритму создаем связь между таблицами «Нарушение» и «Взыскание», «Взыскание» и «Водитель».
    Создание запросов

    Для создания запросов необходимо на верхнем окне нажать на «Создать запрос» после чего откроется отдельное окно, где благодаря языку запросов Transact-SQL можно манипулировать данными из нашей базы.

    Рассмотрим следующие команды: INSERT, SELECT, UPDATE, DELETE. Команда «INSERT» используется для добавления новых записей в нашу базу данных. Её синтаксис показан на рисунке 2.13. Где «Автомобиль» наша таблица, а в кавычках данные, которые мы хотим добавить в базу данных.



    Рис. 2.14. Заполнение таблицы «Продажи»
    Хорошо, новую запись мы добавили, но как проверить? Для вывода информации применяется запрос «SELECT». Он является самым часто используемым. Наш запрос изображен на рисунке 2.15.


    Рис. 2.15. Вывод таблицы «Автомобиль»
    Символ «*» используется для поиска по всей базе данных, а ключевое слово «FROM» означает выбор конкретной таблицы, в нашем случае «Автомобиль»

    Представим ситуацию, вы заполнили базу данных. Автомобили новых правонарушителей можно добавлять с помощью «SELECT», а что делать, если мы совершили ошибку при заполнении базы данных? Или информация обновилась? В таких случаях нам поможет команда «UPDATE» которая помогает изменять уже занесенные данные. Синтаксис следующий. Используется ключевое слово «UPDATE» и передается название таблицы. Далее ключевое слово «SET», название атрибута, который мы хотим изменить, ставится знак равенства «=» и новое значение атрибута, так выбираются все атрибуты, которые мы хотим изменить. В конце пишется ключевое слово WHERE, далее выбирается конкретный кортеж, который мы хотим изменить. Более наглядно показано на рисунке 2.16.


    Рис. 2.16. Изменение данных, с помощью команды «UPDATE».
    Последний рассматриваемый в данной работе запрос «DELETE» который является полной противоположностью «INSERT». Как можно уже догадаться, он используется для удаления кортежей. К примеру, человек оплатил штраф и его удалили из списка по номеру «Код вод. удостоверения». Для этого нам нужно ввести запрос, указанный на рисунке 2.17.


    Рис. 2.17. Использования «DELETE» для удаления.
    Разработка интерфейса

    Будет неудобно каждый раз для изменения или изъятия данных использовать СУБД, подключаться к ядру, делать запросы. Для решения этой проблемы разработаем интерфейс.

    Интерфейс — это «проводник» между человеком и программой, операционной системой, техническим устройством или способ взаимодействия приложений между собой.

    Для создания интерфейса мы будем использовать программу Visual Studio 2019. А для импортирования и взаимодействия с базой данных язык программирования C#.

    Мы создали три меню для отображения каждой таблицы по отдельности. Первая вкладка «АВТОМОБИЛЬ» показана на рисунке 2.18.



    Рис. 2.18. Вкладка «АВТОМОБИЛЬ»
    Далее вкладка «ВЗЫСКАНИЕ», которая, практически идентична первой, наглядно можно увить на рисунке 2.19.



    Рис. 2.19. Вкладка «ВЗЫСКАНИЕ»
    Далее вкладка «ВОДИТЕЛЬ», которая также похожа на первые два. Рисунок 2.20.



    Рис. 2.20. Вкладка «ВОДИТЕЛЬ»
    И последняя вкладка «НАРУШЕНИЕ» показанная на Рис. 2.21.



    Рис. 2.21. Вкладка «НАРУШЕНИЕ»


    Заключение


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

    Наша предметная область была «База данных «ГАИ» для подведения статистики совершаемых водителями нарушений правил дорожного движения» о котором мы узнали много нового и интересного в начале первой главы. Далее мне пришлось расписать задачи, который необходимо выполнить, данный этап был пройден по шаблону, что нельзя сказать о следующем. Построение концептуальной модели данных оказалось намного труднее, чем я ожидал, на данном этапе я разобрал сущности из БД, атрибуты к ним, связи между ними. Следующим шел выбор СУБД, не пришлось много размышлять, прочитав несколько статей и благодаря помощи педагога был выбран MICROSOFT SQL Server, причины и сравнения были в самой работе.

    Дальше идет вторая глава, где я полностью осознал, привел к нормальным формам, это требовало огромного терпения и понимания, но все же, с горем пополам я смог это сделать. Работа в самой программы MS SQL Server оказалось легкой, и, на удивление приятной. С созданием интерфейса также не возникло никаких проблем. А вот связать базу данных с разработанным интерфейсом оказалось труднее, чем я ожидал. Но на данном этапе могу с уверенностью сказать, что все поставленные задачи успешны выполнены.


    Список использованных источников


    1. ru.wikipedia.org: сайт – 2001. URL: ru.wikipedia.org/wiki/Информационный_взрыв#Бумажные_носители (дата обращения: 01.06.2021)

    2. https://xn--90adear.xn--p1ai/ (дата обращения: 19.05.2022)

    3. https://gibdds.ru/groznyy/ (дата обращения: 19.05.2022)

    4. Дунаев В.В. Базы данных. Язык SQL: учебное пособие / В.В. Дунаев – СПб: БХВ-Петербург, 2012. -288с

    5. ru.wikipedia.org: сайт – 2001. URL: ru.wikipedia.org/wiki/Проектирование_баз_данных#Физическое_проектирование (дата обращения: 03.05.2022)

    6. bigenc.ru: сайт – 2004. URL: https://bigenc.ru/technology_and_technique/text/4426494 (дата обращения: 05.05.2022)

    7. URL: studfile.net/preview/7578765/page:7/ (дата обращения: 06.06.2021)

    8. oracle.com: сайт – Калифорния. URL: www.oracle.com/ru/database/what-is-a-relational-database/ (дата обращения: 06.05.2022)

    9. URL: proglib.io/p/databases-2019 (дата обращения: 06.05.2022)

    10. URL: docs.microsoft.com/ru-ru/sql/ssms/download-sql-server-management-studio-ssms?view=sql-server-ver15 (дата обращения: 06.05.2022)

    11. URL: zametkinapolyah.ru/zametki-o-mysql/normalnye-formy-izbytochnost-dannyx-v-baze-dannyx-tranzitivnaya-zavisimost-proektirovanie-baz-dannyx.html (дата обращения: 06.05.2022)

    12. URL: https://scienceforum.ru/2016/article/2016018648 (дата обращения: 07.05.2022)


    написать администратору сайта