Разработка программы по сопровождению базы данных "Компьютерный магазин". Описание предметной области, логической и физической модели базы данных. Разработка SQL-сценария по созданию триггеров, хранимых процедур и модификации разработанной базы данных.
Аннотация к работе
В курсовой работе проводится разработка программ по сопровождению базы данных «Компьютерный магазин».Такой механизм называется системой управления базами данных (СУБД). База данных (БД) - организованная в соответствии с определенными правилами совокупность данных, характеризующая состояние некоторой предметной области и используемая для удовлетворения информационных потребностей пользователей.Комплектующие заказываются у оптовых фирм, затем собираются в помещении фирмы или в специально отведенных помещениях. При покупке товара заказчик указывает в заявке: ФИО, артикул изделия, количество. Такая фирма располагает информацией об имеющихся у нее товарах, клиентах и заказах каждого из них.В результате проектирования были созданы две модели - логическая и физическая. В логической ER-модели все объекты системы именуются на языке, понятном для любого пользователя, работающего с данной моделью. Физическая ER-модель содержит описание реальной базы данных в терминах конкретной СУБД.Выполнив модификации, описанные в задании, получим следующую логическую ER-модель модифицированной базы данных: Рисунок 3 - Логическая ER-модель модифицированной базы данныхТаблица 2 - Поля таблицы «Адрес» Таблица 3 - Поля таблицы «Город» Таблица 4 - Поля таблицы «Клиент» Таблица 5 - Поля таблицы «Поставка» Таблица 6 - Поля таблицы «Сотрудники»ALTER TABLE row_order ADD FOREIGN KEY (id_goods) REFERENCES goods(id_goods), ADD FOREIGN KEY (id_order) REFERENCES orders(id_order); INSERT INTO row_order SELECT g.id_goods,o.id_order,o.quantity FROM orders o JOIN goods g USING (id_goods); ALTER TABLE delivery ADD FOREIGN KEY (forwarding_agent) REFERENCES employee(id_employee), ADD FOREIGN KEY (driver) REFERENCES employee(id_employee); ALTER TABLE row_delivery ADD FOREIGN KEY (id_delivery) REFERENCES delivery(id_delivery), ADD FOREIGN KEY (id_order) REFERENCES orders(id_order); INSERT INTO row_delivery(id_delivery,id_order) SELECT 1,o.id_order FROM orders o;Запрос, с помощью которого выводится информация о книгах, в том числе, и из родительских таблиц (Улица, Город, Адрес, Клиент): SELECT cl.id_client,cl.fio,c.city_name,s.street_name,a.house_number,a.apartament_number, cl.phone,cl.discount Запрос, с помощью которого выводится информация о заказах: SELECT o.id_order,c.fio,g.name,r.quantity,o.cost,o.executed Запрос, с помощью которого выводится информация о поставках: SELECT d.id_delivery, (SELECT e.fio FROM employee e WHERE e.id_employee=d.forwarding_agent) AS forwarding_agent, (SELECT e.fio FROM employee e WHERE e.id_employee=d.driver) AS driver, o.id_order,o.executed Триггер вычисления стоимости заказа и триггер запрета добавления товара при отсутствии его на складе, проверим добавив запись в таблицу «строка заказа»: Рисунок 8 - Ошибка т.к товар отсутствует на складе Проверим правильность срабатывания триггера на запрет добавления «Заказа» от клиента, если есть 5 и более непогашенных заявок: Рисунок 16 - Результаты срабатывания триггера для таблицы «Заказ»В результате выполнения курсовой работы был разработан комплекс программ по сопровождению базы данных ИС «Компьютерный магазин».