Файл: Курсовая работа по мдк 04. 01 Технология разработки и защиты баз данных.docx

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 06.12.2023

Просмотров: 621

Скачиваний: 20

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Таблица «Смена» – эта таблица, выделена для того, чтобы не заполнять каждый раз наименование смены (табл. 2.20). Данная таблица имеет следующие столбцы и их типы данных:

Таблица 2.20 – Структура таблицы «Смена»

Наименование поля

Тип поля

Индексация

Назначение поля

Ограничения, накладываемые на поле

Вид индексации

Ключ

ID_смена

int

Совпадения не допускаются

Да

Ключевое поле служит для идентификации смены

Не допустимо повторение значений

Смена

nvarchar(50)

Нет

 

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

Поле не может быть нулевым

После проектирования таблиц, была разработана ER-диаграмма. С её помощью можно выделить ключевые сущности и обозначить связи. Целью диаграммы сущностных отношений является создание точного и полного представления реальной предметной области, которое в дальнейшем будет использоваться в качестве источника информации для построения базы данных [8].

ER-диаграмма графически представляет сущности (entities) предметной области, свойства (attributes) сущностей и связи (relationship) между ними. ER-диаграммы делятся на концептуальные и физические. Впоследствии сущности концептуальных ER-диаграмм становятся таблицами, атрибуты – колонками, а связи реализуются путем миграции ключевых атрибутов родительских сущностей и создания внешних ключей. В качестве стандартной графической нотации, с помощью которой можно визуализировать ER-диаграмма, была реализована модель «сущность-связь». Диаграмма разработана при помощи MS Visio (рис. 2.3).



Рисунок 2.3 – ER-диаграмма
    1. 1   2   3   4   5   6   7

Реализация ограничений и триггеров таблиц базы данных


1) Данное ограничение ограничивает вод данных для таблицы «водители» поля телефон (рис.2.4).

use Служба_такси

ALTER TABLE Водители ADD CONSTRAINT Тел

CHECK([Телефон] LIKE REPLACE ('+7(XXX)XXX-XX-XX', 'X', '[0123456789]'));

Рисунок 2.4-Ограничение

2) Данный триггер ограничивает введение отрицательных значений в поле зарплаты таблицы «Путевые_листы» (рис. 2.5).

use Служба_такси;

GO

CREATE TRIGGER Ограничение_Отрицательной_зарплаты

ON Путевой_лист

AFTER INSERT, UPDATE

AS

IF EXISTS(SELECT * FROM Путевой_лист WHERE Зарплата < 0)

THROW 10000, 'Ошибка! Число было отрицательным', 1

Рисунок 2.5-Триггер

    1. Реализация запросов базы данных


1) Запрос выводит данные о водителях со стажем работы равным 4 годам (рис. 2.6).

Use Служба_такси

Select Фамилия, Имя, Отчество, Стаж_работы, Номер_водительского_удостоверения,Гос_номер

From Водители

Where Стаж_работы = '4'



Рисунок 2.6-Результат запроса №1

2) Данный запрос выводит список фамилий по алфавиту из таблицы «Водители» (рис. 2.7).

Use Служба_такси

Select ID_водитель, Фамилия, Имя, Телефон

From Водители

order by Фамилия



Рисунок 2.7-Результат запроса №2

3) Данный запрос выводит дату рождения по убыванию в таблице «Водители» (рис. 2.8).

Use Служба_такси

Select ID_водитель, Фамилия, Имя, Дата_рождения

From Водители

order by Дата_рождения desc



Рисунок 2.8-Результат запроса №3

4) Запрос выводит данные о заявках, которые закреплены за первым диспетчером (рис. 2.9).

Use Служба_такси

Select ID_заявка, ID_клиента, ID_диспетчер, ID_тариф

from Заявки

where (ID_диспетчер = '1')


Рисунок 2.9-Результат запроса №4

5) Запрос, который выдает всю информацию о путевом листе (рис. 2.10).



Use Служба_такси

Select *

from Путевой_лист


Рисунок 2.10-Результат запроса № 5

6) Запрос, который подсчитывает количество выполненных заявок определенного водителя (рис. 2.11).

Use Служба_такси

Select ID_водитель, sum(Коичество_выполненых_заявок) as всего_выполненых_заявок

from Путевой_лист

where (ID_водитель = '4') Group by ID_водитель



Рисунок 2.11-Результат запроса №6
    1. Реализация хранимых процедур базы данных


1)Данная процедура предназначена для извлечения некоторых данных из таблицы «Водители» (рис. 2.12).

USE Служба_такси;

GO

CREATE PROCEDURE Такси AS

BEGIN

SELECT Фамилия, Имя, Отчество AS ФИО

FROM Водители

END;


Рисунок 2.12-Результат процедуры №1

Выводы


а) Разработаны и спроектированы нотация и таблицы базы данных для хранения и передачи информации о водителях, клиентах, заявках и дополнительной информации о них.

б) Спроектирована диаграмма для возможности логически структурировать данные и хранить их.

в) Спроектированы триггеры и ограничения для предотвращения ошибок в работе базы данных.

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

д) Созданы хранимые процедуры для упрощения работы с базой данных.

ЗАКЛЮЧЕНИЕ


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

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

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

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


ГЛОССАРИЙ


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

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

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


Идентификатор – уникальный признак объекта, позволяющий отличить его от других объектов, т. е. идентифицировать его.

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

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

СПИСОК АББРЕВИАТУР


БД – База Данных

ЭВМ – электронно-вычислительные машины

СУБД – система управления базами данных

SQL - structured query language

XAML – eXtensible Application Markup Language

MS – Microsoft

БИБЛИОГРАФИЧЕСКИЙ СПИСОК


  1. Кечинов, М. Что такое базы данных. Этапы создания баз данных. / М. Кечинов. — Текст : электронный // Студия Михаила Кечинова : [сайт]. — URL: https://mkechinov.ru/article.database.html (дата обращения: 26.11.2022). Основные этапы разработки бд. https://studfile.net/preview/4601161/page:10/

  2. Карвин, Билл Программирование баз данных SQL. Типичные ошибки и их устранение / Билл Карвин. - М.: Рид Групп, 2018. - 336 c.

  3. Гагарина, Л.Г. Разработка и эксплуатация автоматизированных информационных систем: учебное пособие [Tекст] / Л.Г. Гагарина. – М.: ФОРУМ: ИНФРА-М, 2021. –384 с.

  4. Назарова, О.Б. Разработка реляционных баз данных с использованием CASE-средства AllFusion Data Modeler: учеб. - метод, пособие [Tекст] / О.Б. Назарова, О.Е. Масленникова. – 3-е изд., стер. – М.: ФЛИНТА, 2019. –73 с.

  5. Гниденко, И.Г. Технология разработки программного обеспечения: учебное пособие для СПО [Tекст] / И.Г. Гниденко, Ф.Ф. Павлов, Д.Ю. Федоров. – М.: Юрайт, 2020. – 235 с.

  6. Конноли, Т. БД: проектирование, реализация и сопровождение. Теория и практика : пер. с англ. / Т. Конноли, К. Бегг, А. Страчан. — 2-е изд. — М. : Издательский дом «Вильямс», 2001.

  7. Джо Селко. Программирование на SQL для профессионалов. - 2-е издание - М.: Издательство "Лори", 2004.

  8. Дадян, Э.Г. Проектирование современных баз данных: Учебно-методическое пособие [Tекст] / Дадян Э.Г. - М.: НИЦ ИНФРА-М, 2017. - 120 с.

  9. Бондаренко, И.С. Базы данных: создание баз данных в среде SQL Server: лабораторный практикум [Tекст] / И. С. Бондаренко. - М.: Изд. Дом НИТУ «МИСиС», 2019. - 39 с.

  10. Сборе, Э. Проектирование и реализация систем управления базами данных: учебное пособие [Tекст] / Эдвард Сборе; пер. с англ. А.Н. Киселева; научн. ред. Е. В. Рогов. - М.: ДМК Пресс, 2021. - 466 с.