Файл: Разработка и проектирование базы данных в Microsoft SQL Server.pdf
Добавлен: 22.05.2023
Просмотров: 2412
Скачиваний: 30
Microsoft SQL Server работает в Windows более 20 лет. Но в 2016 году Microsoft заявила, что планирует также сделать СУБД доступной в Linux, начиная с новой версии, которая первоначально была назвала SQL Server vNext; позже он был официально назван SQL Server 2017 и запланирован на общую доступность летом 2017 года.
Поддержка запуска SQL Server в Linux переместила его на операционную систему с открытым исходным кодом, которая обычно обнаруживается на предприятиях, что дает Microsoft потенциальные возможности для клиентов, которые не используют Windows или имеют смешанные серверные среды. Кроме того, он добавил возможность запуска SQL Server в контейнерах Docker, технологию виртуализации, которая изолирует приложения друг от друга в общей операционной системе.
Еще одна заметная особенность в SQL Server 2017 - это поддержка языка программирования Python, языка с открытым исходным кодом, который широко используется в приложениях аналитики. С его добавлением службы SQL Server R были переименованы в службы машинного обучения (In-Database) и расширены для запуска приложений R и Python. Первоначально он и множество других функций доступны только в версии программного обеспечения для Windows с более ограниченным набором функций, поддерживаемым в Linux.
2.4 Обзор Microsoft SQL Server Management Studio
Microsoft SQL Server Management Studio (SSMS) - это интегрированная среда для управления инфраструктурой SQL Server. Она предоставляет пользовательский интерфейс и группу инструментов с редакторами сценариев, которые взаимодействуют с SQL Server.
SSMS предоставляет инструменты для настройки, управления и администрирования экземпляров Microsoft SQL Server, а также объединяет ряд инструментов графического и визуального дизайна и редакторов сценариев для упрощения работы с SQL Server. Комбинированные функции SSMS поставляются с Enterprise Manager, Query Analyzer и Analysis Manager, а также с функциями, включенными в предыдущие версии SQL Server. Она поддерживает большинство административных задач SQL Server и единую интегрированную среду для управления и создания SQL Server Database Engine.
Возможности Microsoft SQL Server Management Studio включают Object Explorer, который позволяет просматривать и управлять всеми объектами в экземпляре SQL Server, Template Explorer, который строит и управляет файлами текста, которые можно использовать повторно для ускорения разработки запросов и скриптов, Solution Explorer, который создает проекты, используемые для управления элементами администрирования, такие как запросы и скрипты. Компоненты SSMS позволяют настраивать сочетания клавиш и просматривают страницы свойств, подключаться к экземплярам Database Engine и Analysis Services использовать инструменты визуального проектирования и интерактивно создавать и отлаживать запросы и скрипты [26].
В данной главе рассмотрены основные характеристики, история развития и архитектура системы управления базами данных Microsoft SQL Server . Отдельно описана среда Microsoft SQL Server Management Studio, которая поставляется вместе с MS SQL Server и служит для разработки и управления базами данных
3 РАЗРАБОТКА БАЗЫ ДАННЫХ В MICROSOFT SQL SERVER
В данной работе разработана база данных учета заработной платы. Разработка базы данных проводилась в несколько этапов. На первом этапе были построены модели базы данных с помощью программы Power Designer, затем на основе созданных моделей была реализована база данных.
3.1 Разработка модели базы данных
Концептуальная, логическая и физическая модель (или ERD) - это три различных способа моделирования данных.
Хотя все они содержат сущности и отношения, они различаются в целях, для которых они созданы, и аудитории, на которую они нацелены. Общее понимание трех моделей состоит в том, что бизнес-аналитик использует концептуальную и логическую модель для моделирования данных, требуемых и создаваемых системой с точки зрения бизнеса, в то время как разработчик баз данных уточняет ранний дизайн для создания физической модели с целью представления физической структуры базы данных.
В ходе первого этапа создания информационной системы разработана концептуальная модель базы данных (Рисунок 1). Концептуальная схема или концептуальная модель данных представляют собой карту сущностей и их отношений, используемых для баз данных. Она описывает семантику организации и представляет собой ряд утверждений о ее природе. В частности, он описывает вещи, имеющие значение для организации (классы сущностей), о которых необходимо собирать информацию, а также характеристики (атрибуты) и ассоциации между сущностями (отношения). Модель создана в программе PowerDesigner.
Рисунок 1. Концептуальная модель базы данных
Как видно из рисунка, база данных будет состоять из пяти сущностей:
- Employer (Сотрудники)
- Post (Должности)
- TimeSheet (Учет рабочего времени)
- Order (Начисления)
- Penalty (Штрафы)
Сущность «Сотрудники» описывает сотрудников организации (Таблица 1). Атрибуты данной сущности однозначно описывают свойства сотрудников.
Таблица 1 ‑ Атрибуты сущности «Сотрудники»
|
Название |
Тип данных |
Обязательное поле? |
Первичный ключ? |
Описание |
|
id_Emp |
Integer |
X |
X |
Идентификатор сотрудника |
|
emp_FirstName |
Variable characters (100) |
X |
Имя сотрудника |
|
|
emp_LastName |
Variable characters (100) |
X |
Фамилия сотрудника |
|
|
emp_MidName |
Variable characters (100) |
X |
Отчество сотрудника |
|
|
emp_ID |
Variable characters (20) |
X |
Номер паспорта |
|
|
emp_Account |
Variable characters (50) |
X |
Номер счета |
|
|
emp_Birthday |
Date |
X |
Дата рождения |
Сущность «Должности» описывает должности в организации и соответствующую им заработную плату (Таблица 2).
Таблица 2 ‑ Атрибуты сущности «Должности»
|
Название |
Тап данных |
Обязательное поле? |
Первичный ключ? |
Описание |
|
id_Post |
Integer |
X |
X |
Идентификатор должности |
|
p_Name |
Variable characters (100) |
X |
Название должности |
|
|
p_Salary |
Money |
X |
Почасовой оклад |
Сущность «Учет рабочего времени» предназначена для хранения информации о проработанных часах каждого сотрудника (Таблица 3).
Таблица 3 ‑ Атрибуты сущности «Учет рабочего времени»
|
Название |
Тип данных |
Обязательное поле? |
Первичный ключ? |
Описание |
|
id_TimeSheet |
Integer |
X |
X |
Идентификатор табеля рабочего времени |
|
ts_Data |
Date |
X |
Дата |
|
|
ts_StartTime |
Time |
X |
Время начала работы |
|
|
ts_StopTime |
Time |
X |
Время окончания работы |
|
|
ts_Duration |
Decimal |
Продолжительность работы |
Сущность «Начисления» описывает месячные начисления заработной платы каждого сотрудника (Таблица 4).
Таблица 4 ‑ Атрибуты сущности «Начисления»
|
Название |
Тип данных |
Обязательное поле? |
Первичный ключ? |
Описание |
|
id_Order |
Integer |
X |
X |
Идентификатор начисления |
|
or_Year |
Integer |
X |
Год начисления |
|
|
or_Month |
Short integer |
X |
Месяц начисления |
|
|
or_Money |
Money |
Сумма |
||
|
or_Duration |
Decimal |
Количество отработанных часов |
Сущность «Штрафы» описывает возможные штрафы сотрудника (Таблица 5).
Таблица 5 ‑ Атрибуты сущности «Штрафы»
|
Название |
Тип данных |
Обязательное поле? |
Первичный ключ? |
Описание |
|
id_Penalty |
Integer |
X |
X |
Идентификатор штрафа |
|
pen_Year |
Integer |
X |
Год штрафа |
|
|
pen_Month |
Short integer |
X |
Месяц штрафа |
|
|
pen_Money |
Money |
X |
Сумма штрафа |
Концептуальная модель дает общие представления о сущностях базы данных и связях между ними, но при этом абстрагируется от вопросов физического представления данных. Поэтому при проектировании базы данных необходимо также использовать физическую модель данных. Физическая модель данных может быть сгенерировано из концептуальной модели путем выбора пункта меню «Tools – Generate Physical Data Model» (Рисунок 2)
Рисунок 2. Генерация физической модели базы данных в программе PowerDesigner
Перед генерацией физической модели необходимо проверить на корректность концептуальную модели, выбрав пункт меню «Tools – Check Model». В настройках генерации физической модели необходимо выбрать из выпадающего списка тип системы управления базой данных (СУБД), которая будет использоваться при создании базы данных. В нашем случае это Microsoft SQL Server 2012 (Рисунок 3).
Рисунок 3. Настройки генерации физической модели данных
Сгенерированная физическая модель данных содержит в таблицах внешние ключи, которые позволяют создавать связи между сущностями (Рисунок 4).
Рисунок 4. Физическая модель базы данных
Как видно из представленного выше рисунка, таблица «Employer» связана отношениями «один ко многим» с таблицей «Post» и содержит соответствующий внешний ключ. Подобная связь обусловлены тем, что одну и ту же должность может занимать несколько человек, но при этом каждый сотрудник занимает одну должность. Аналогично, связями «один ко многим» связаны таблицы «Employer» и «TimeSheet», «Employer» и «Order», а также «Employer» и «Penalty».
3.2 Проектирование базы данных
Следующим этапом после разработки E-R диаграммы является проектирование базы данных в Microsoft Server 2012. Разработка велась с помощью Microsoft SQL Management Studio. Среда SQL Server Management Studio (SSMS) - это приложение, впервые запущенное с помощью Microsoft SQL Server 2005, которое используется для настройки, управления и администрирования всех компонентов в Microsoft SQL Server. Инструмент включает в себя как редакторы скриптов, так и графические инструменты, которые работают с объектами и возможностями сервера. Центральной особенностью SSMS является обозреватель объектов, который позволяет пользователю просматривать, выбирать и воздействовать на любой из объектов на сервере.
При создании базы данных из физической модели используется скрипт, которые создается в программе PowerDesigner и выполняется в SSMS.
Для генерации скрипта, создающего базу данных по физической модели, необходимо в программе PowerDesigner выбрать пункт меню «Database – Generate Database». В появившемся окне выбирается директория для сохранения скрипта и задается его имя (Рисунок 5). В данной работе используется имя, задаваемое программой по умолчанию.
Рисунок 5. Генерация скрипта создания базы данных в PowerDesigner
Фрагмент генерируемого файла представлен на рисунке 6, полностью текст скрипта приведен в приложении А.
Рисунок 6. Фрагмент скрипта, генерирующего базу данных
Следующим этапом является выполнение скрипта в SSMS. Для этого создаем новую базу данных. После этого необходимо в контекстном меню созданной базы данных выбрать пункт «Создать запрос». В открывшийся редактор запросов вставляем исходный код созданного скрипта (Рисунок 7).
Рисунок 7. Создание базы данных в SSMS
Для выполнения скрипта нажимаем кнопку «Выполнить» на панели инструментов. После этого раскрываем список таблиц базы данных и убеждаемся, что все требуемые таблицы созданы (Рисунок 8).
Рисунок 8. Таблицы базы данных
Для отображения связей между созданными таблицами необходимо создать новую диаграмму баз данных в SSMS. Для этого следует перейти в пункт «Диаграммы баз данных» и в контекстном меню выбрать «Создать диаграмму базы данных». В появившемся окне выбираем все таблицы базы данных и получаем диаграмму, на которой показаны таблицы и связи между ними.
Рисунок 11. Диаграмма баз данных
Легко убедиться, что созданная база данных соответствует разработанным ранее концептуальной и физической моделям.
Таким образом, в данной главе описана разработка базы данных информационной системы. База данных создана в несколько этапов с применением программных средства, таким как PowerDesigner и Microsoft SQL Server Measurement Studio. На первом этапе создана концептуальная модель, которая описывает сущности и их отношения в будущей информационной системе. База данных состоит из шести сущностей:
- Employer (Сотрудники)
- Post (Должности)
- TimeSheet (Учет рабочего времени)
- Order (Начисления)
- Penalty (Штрафы)