Акатьев Я.А. Практическая 1. Лабораторная работа по предмету Проектирование Баз Данных По теме Денормализация для базы данных, спроектированной по правилам нормализации
Скачать 0.53 Mb.
|
Москва 2020 Цель работы: познакомиться с синтаксисом языка Т-SQL для создания таких объектов базы данных как: хранимая процедура, триггер. Освоить на практике этапы создания реляционного или гибридного хранилища данных. Задание -создать реляционную базу данных в редакторе MSSQLServer (в соответствии с индивидуальным вариантом задания), ManagementStudio. Выполнение работы Выбран персональный вариант согласно указаниям преподавателя: 23. Ресторан. Примерное содержание: -специализация ресторана («кухня»);-предварительные заказы;-банкеты. Пользователи: гости, клиенты, официанты, менеджеры.-классификация блюд и напитков по категориям; -формирование меню, состав блюд; 10-кадровый учет; прием и учет исполнения заказов. Разработана модель бизнес-процессов исходной задачи: Рис. 1 – Контекстная диаграмма Рис. 2 – Декомпозиция на подпроцессы Разработана концептуальная модель базы данных Рис. 3 – Концептуальная модель Подразумевается наличие 7 сущностей, связанных отношениями один к одному для упрощения последующей нормализации. Разработана логическая модель данных Рис. 4 – Логическая модель данных Сущностям выбраны уникальные первичные ключи, что соответствует 3 уровню нормализации. Разработана физическая модель данных: Рис. 5 – Физическая модель данных В физической модели данных атрибутам присвоены типы данных и выбрана СУБД для реализации – my SQL Server. База данных создана и заполнена данными: Рис. 6 – Созданные сущности Все сущности были заполнены случайными данными. Рис. 7 – Заполненная сущность check_list Рис. 8 – Заполненная сущность client Рис. 9 – Заполненная сущность client_order Рис. 10 – Заполненная сущность food_list Рис. 11 – Заполненная сущность manager Рис. 12 – Заполненная сущность официант Рис. 13 – Заполненная сущность time_list Созданы Хранимые процедуры Рис. 13 – Листинг процедуры Еда Процедура собирает все известные виды меню и выводит на экран. Рис. 14 – Пример работы процедуры Еда Рис. 15 – Процедура Чаевые Процедура добавляет во все чеки 10 % чаевых и выводит на экран. Рис. 16 – Пример работы процедуры Чаевые Созданы триггеры: Рис. 17 – Триггер в таблице Заказ клиента Триггер после внесения данных в заказ клиента автоматически вносит значения в Тайм-лист. Рис. 18 – пример работы триггера Рис. 19 – Триггер в таблице Клиент После ввода данных в базу клиентов, автоматически формируется чек будущего заказа. Рис. 20 – Пример работы триггера Вид нормализованных таблиц представлен в пункте 6, денормализация проводится методом слияния наиболее информативных таблиц (check_list, food_list) для хранения полной информации по заказу. Создадим Представление отображающее денормализацию: Рис. 21 – Представление Рис. 22 – Пример вызова представления Вывод В данной работе мы вспомнили методы проектирования базы данных от концептуальной модели до физической, соответствующей выбранной заранее предметной области. Нами разработана база данных на базе My SQL Server, созданы хранимые процедуры и триггеры согласно выбранной предметной области. Освоены приемы проведения денормализации, использован метод слияния таблиц. |