Файл: Курсовая работа по мдк 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 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) Запрос выводит данные о водителях со стажем работы равным 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)Данная процедура предназначена для извлечения некоторых данных из таблицы «Водители» (рис. 2.12).
USE Служба_такси;
GO
CREATE PROCEDURE Такси AS
BEGIN
SELECT Фамилия, Имя, Отчество AS ФИО
FROM Водители
END;
Рисунок 2.12-Результат процедуры №1
Выводы
а) Разработаны и спроектированы нотация и таблицы базы данных для хранения и передачи информации о водителях, клиентах, заявках и дополнительной информации о них.
б) Спроектирована диаграмма для возможности логически структурировать данные и хранить их.
в) Спроектированы триггеры и ограничения для предотвращения ошибок в работе базы данных.
г) Созданы запросы для более удобного пользования базой данных и быстрым поиском нужной информации.
д) Созданы хранимые процедуры для упрощения работы с базой данных.
ЗАКЛЮЧЕНИЕ
-
В результате проведенной работы разработана БД для учета данных в службе такси, хранения информации об водителях и клиентах, формирования необходимых запросов для вывода данных. -
В ходе изучения предметной области была проанализирована деятельность службы такси. По результатам исследования деятельности была сформирована система функциональных требований к разрабатываемой БД. -
Разработана структура базы данных, инфологическая модель была разработана с учетом нормализации, что позволяет эффективно хранить данные, и дает возможность реализовывать базу данных в любой современной реляционной СУБД. -
В процессе разработки каждого функционального модуля проводилась проверка правильности его работы и получаемых результатов. Недочеты в работе и ошибки, обнаруженные в ходе тестирования, были исправлены. Направления дальнейшего усовершенствования приложения сформулированы как расширение возможностей формирования отчётов по мере возникновения необходимости.
ГЛОССАРИЙ
Автоматизация – это одно из направлений научно-технического прогресса, использующее саморегулирующиеся технические средства и математические методы для того, чтобы освободить человека от участия в процессах получения, преобразования, передачи и использования энергии, материалов, продукции или информации, либо существенно снизить степень этого участия или сложность выполняемых операций.
Данные – представление фактов, понятий или инструкций в форме, приемлемой для передачи, интерпретации или обработки человеком или автоматизированными средствами.
Дочерние и родительские таблицы – являются обычными таблицами базы данных, но они связаны таким образом, который описывается отношением «родитель-потомок». Обычно используется для указания того, где значение одной таблицы ссылается на значение в другой таблице (обычно это первичный ключ другой таблицы).
Идентификатор – уникальный признак объекта, позволяющий отличить его от других объектов, т. е. идентифицировать его.
Индекс – это объект базы данных, созданный для повышения производительности поиска данных. Таблицы в базе данных могут иметь большое количество строк, которые хранятся в случайном порядке, и их поиск по заданному критерию путем последовательного просмотра таблицы строка за строкой может занять много времени. Индекс формируется из значений одного или нескольких столбцов таблицы и указателей на соответствующие строки таблицы, что позволяет осуществлять поиск строк, удовлетворяющих критериям поиска.
Интерфейс – граница между двумя функциональными объектами, требования к которым определяются стандартом; совокупность средств, методов и правил взаимодействия (управления, контроля и т. д.) Между элементами системы.
СПИСОК АББРЕВИАТУР
БД – База Данных
ЭВМ – электронно-вычислительные машины
СУБД – система управления базами данных
SQL - structured query language
XAML – eXtensible Application Markup Language
MS – Microsoft
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
-
Кечинов, М. Что такое базы данных. Этапы создания баз данных. / М. Кечинов. — Текст : электронный // Студия Михаила Кечинова : [сайт]. — URL: https://mkechinov.ru/article.database.html (дата обращения: 26.11.2022). Основные этапы разработки бд. https://studfile.net/preview/4601161/page:10/ -
Карвин, Билл Программирование баз данных SQL. Типичные ошибки и их устранение / Билл Карвин. - М.: Рид Групп, 2018. - 336 c. -
Гагарина, Л.Г. Разработка и эксплуатация автоматизированных информационных систем: учебное пособие [Tекст] / Л.Г. Гагарина. – М.: ФОРУМ: ИНФРА-М, 2021. –384 с. -
Назарова, О.Б. Разработка реляционных баз данных с использованием CASE-средства AllFusion Data Modeler: учеб. - метод, пособие [Tекст] / О.Б. Назарова, О.Е. Масленникова. – 3-е изд., стер. – М.: ФЛИНТА, 2019. –73 с. -
Гниденко, И.Г. Технология разработки программного обеспечения: учебное пособие для СПО [Tекст] / И.Г. Гниденко, Ф.Ф. Павлов, Д.Ю. Федоров. – М.: Юрайт, 2020. – 235 с. -
Конноли, Т. БД: проектирование, реализация и сопровождение. Теория и практика : пер. с англ. / Т. Конноли, К. Бегг, А. Страчан. — 2-е изд. — М. : Издательский дом «Вильямс», 2001. -
Джо Селко. Программирование на SQL для профессионалов. - 2-е издание - М.: Издательство "Лори", 2004. -
Дадян, Э.Г. Проектирование современных баз данных: Учебно-методическое пособие [Tекст] / Дадян Э.Г. - М.: НИЦ ИНФРА-М, 2017. - 120 с. -
Бондаренко, И.С. Базы данных: создание баз данных в среде SQL Server: лабораторный практикум [Tекст] / И. С. Бондаренко. - М.: Изд. Дом НИТУ «МИСиС», 2019. - 39 с. -
Сборе, Э. Проектирование и реализация систем управления базами данных: учебное пособие [Tекст] / Эдвард Сборе; пер. с англ. А.Н. Киселева; научн. ред. Е. В. Рогов. - М.: ДМК Пресс, 2021. - 466 с.