Таблица «Смена» – эта таблица, выделена для того, чтобы не заполнять каждый раз наименование смены (табл. 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 languageXAML – eXtensible Application Markup LanguageMS – 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 с.