49068 (Создание с помощью SQL Server базы данных для магазина продуктов), страница 2
Описание файла
Документ из архива "Создание с помощью SQL Server базы данных для магазина продуктов", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.
Онлайн просмотр документа "49068"
Текст 2 страницы из документа "49068"
insert into Tovar values (2, 'Молоко')
insert into Tovar values (3, 'Творог')
insert into Tovar values (4, 'Сметана')
insert into Tovar values (5, 'Йогурт')
insert into Tovar values (6, 'Сыр плавленый')
insert into Tovar values (7, 'Кефир')
insert into Tovar values (8, 'Ряженка')
insert into Tovar values (9, 'Сыр российский')
insert into Tovar values (10, 'Снежок')
Рис. 3. Таблица «Товар».
«Поставщики»
insert into Postavsiki values (11, 'ОАО "Молоко"')
insert into Postavsiki values (12, 'ОАО "МолПрод"')
insert into Postavsiki values (13, 'ОАО "Снежинка"')
insert into Postavsiki values (14, 'ОАО "Меркурий+"')
insert into Postavsiki values (15, 'ОАО "Молочный дом"')
Рис. 4. Таблица «Поставщики».
«Менеджеры поставок»
insert into Manageri_postavok values (21, 'Банин', 'Александр', 'Абрамович', 22431)
insert into Manageri_postavok values (22, 'Сидорова', 'Раиса', 'Николаевна', 22543)
insert into Manageri_postavok values (23, 'Викенов', 'Дмитрий', 'Александрович', 22564)
insert into Manageri_postavok values (24, 'Воробьев', 'Николай', 'Иванович', 22468)
insert into Manageri_postavok values (25, 'Николаева', 'Юлия', 'Михайловна', 22541)
Рис. 5. Таблица «Менеджеры поставок».
«Поставка товара»
insert into Postavka_tovara values (31, 1, 15, 210, 190, 0, 22)
insert into Postavka_tovara values (32, 2, 12, 280, 25, 0, 25)
insert into Postavka_tovara values (33, 3, 14, 190, 80, 0, 23)
insert into Postavka_tovara values (34, 4, 13, 200, 40, 0, 21)
insert into Postavka_tovara values (35, 5, 11, 270, 30, 0, 21)
insert into Postavka_tovara values (36, 6, 13, 220, 15, 0, 23)
insert into Postavka_tovara values (37, 7, 11, 170, 17, 0, 24)
insert into Postavka_tovara values (38, 8, 14, 200, 16, 0, 25)
insert into Postavka_tovara values (39, 9, 12, 160, 165, 0, 24)
insert into Postavka_tovara values (40, 10, 13, 240, 20, 0, 22)
Рис. 6. Таблица «Поставка товара».
«Продавцы»
insert into Prodavci values (41, 'Краснов', 'Алексей', 'Петрович', 22235)
insert into Prodavci values (42, 'Вдовин', 'Андрей', 'Константинович', 22371)
insert into Prodavci values (43, 'Михайлова', 'Ольга', 'Ивановна', 22364)
insert into Prodavci values (44, 'Демидова', 'Анна', 'Викторовна', 22216)
insert into Prodavci values (45, 'Семенов', 'Игорь', 'Алексеевич', 22353)
Рис. 7. Таблица «Продавцы».
«Продажа товара»
insert into Prodaza_tovara values (51, 1, 177, 210, 0, 44)
insert into Prodaza_tovara values (52, 2, 265, 30, 0, 45)
insert into Prodaza_tovara values (53, 3, 146, 100, 0, 43)
insert into Prodaza_tovara values (54, 4, 180, 60, 0, 45)
insert into Prodaza_tovara values (55, 5, 119, 40, 0, 41)
insert into Prodaza_tovara values (56, 6, 110, 25, 0, 43)
insert into Prodaza_tovara values (57, 7, 170, 30, 0, 42)
insert into Prodaza_tovara values (58, 8, 190, 27, 0, 43)
insert into Prodaza_tovara values (59, 9, 150, 180, 0, 44)
insert into Prodaza_tovara values (60, 10, 120, 30, 0, 41)
Рис. 8. Таблица «Продажа товара».
Создадим представления:
«Поставка»
create view Postavka as select Postavka_tovara.codpostavki, Tovar.ekzemplar, Postavsiki.firma,Postavka_tovara.colich_post_tov, Postavka_tovara.cena_post_tov, Postavka_tovara.symmapostavki, Manageri_postavok.familia, Manageri_postavok.imya from Postavka_tovara inner join Postavsiki on Postavka_tovara.codpostavsika = Postavsiki.codpostavsika inner join Tovar on Postavka_tovara.codtovara = Tovar.codtovara inner join Manageri_postavok on Manageri_postavok.cod_meng_postav = Postavka_tovara.cod_meng_postav
Рис. 9. Представление «Поставка».
«Продажа»
create view Prodaza as select Prodaza_tovara.cod_vibitogo_cheka, Tovar.ekzemplar, Prodaza_tovara.colich_prod_tov, Prodavci.familia, Prodavci.imya, Prodavci.telefon from Prodaza_tovara inner join Tovar on Prodaza_tovara.codtovara = Tovar.codtovara inner join Prodavci on Prodaza_tovara.codprodavca = Prodavci.codprodavca
Рис. 10. Представление «Продажа».
Разработка запросов, процедур, триггеров
Процедура Symmapostavki (без параметра):
create proc Symmapostavki as update Postavka set Symmapostavki = colich_post_tov * cena_post_tov
exec Symmapostavki select * from Postavka
Рис. 11. Процедура «Сумма поставки».
Процедура Izmenenie (с параметром):
create proc Izmenenie (@kod int) as update Postavka_tovara set symmapostavki = symmapostavki * 10, colich_post_tov = colich_post_tov * 10 where codpostavki = @kod
exec Izmenenie @kod = 35 select * from Postavka_tovara
Рис. 12. Процедура «Изменение».
Процедура Dohod:
create proc Dohod as update Prodaza_tovara set dohod = colich_prod_tov * cena_prod_tov
exec Dohod select * from Prodaza_tovara
Рис. 13. Процедура «Доход».
Создадим несколько запросов:
1. Товар, выбранный по коду в диапазоне от 4 до 8
select * from Tovar where codtovara between 4 and 8
Рис. 14. Запрос 1.
2. Товар, выбранный по коду из указанного множества
select * from Tovar where codtovara in (2, 5, 6, 11, 12, 4)
Рис. 15. Запрос 2.
3. Выбор записей из таблицы, являющейся соединением двух таблиц
select Tovar.ekzemplar, Prodaza_tovara.colich_prod_tov, Prodaza_tovara.cena_prod_tov, Prodaza_tovara.Dohod from Tovar, Prodaza_tovara where Tovar.codtovara = Prodaza_tovara.codtovara
Рис. 16. Запрос 3.
4. Подсчет количества выбитых чеков
select count (*) as 'Количество выбитых чеков' from Prodaza_tovara
Рис. 17. Запрос 4.
5. Минимальное количество поставленного товара
select min (colich_post_tov) as 'Минимальное количество поставленного товара' from Postavka_tovara
Рис. 18. Запрос 5.
6. Наименования товара по алфавиту
select * from Tovar order by ekzemplar ASC
Рис. 19. Запрос 6.
7. Количество проданного товара ниже среднего количества продаж
select * from Prodaza where colich_prod_tov < (select avg (colich_prod_tov) from Prodaza)
Рис. 20. Запрос 7.
8. Выбор менеджеров поставок по коду в диапазоне между 21 и 24
select * from Manageri_postavok where cod_meng_postav > 21 and cod_meng_postav < 24
Рис. 21. Запрос 8.
Создадим триггер, который удаляет запись в таблице «Поставка товара», соответствующую одиннадцатому коду товара.
create trigger Udalen on Tovar for delete as if @@rowcount = 1 begin declare @x int select @x = Tovar.codtovara from Tovar delete Postavka_tovara.codtovara where Tovar.codtovara = Postavka_tovara.codtovara if exists (select * from Postavka_tovara where codtovara = @x) delete from Postavka_tovara where codtovara = 11 end
Рис. 22.
Рис. 23.
Заключение
В данном курсовом проекте с помощью СУБД Microsoft SQL Server было рассмотрено создание шести сущностей с определенными атрибутами, представлений, основанных на соединении столбцов нескольких таблиц; создание связей между таблицами, а также создание процедур и запросов.
Список использованной литературы
-
ИОСУ. Методические указания к курсовому проектированию.
-
Лекции по информационному обеспечению систем управления.