Оглавление
Введение
1. Разработка структуры базы данных
1.1 Инфологическое проектирование
1.2 Логическая структура базы данных
1.3 Физическая структура базы данных
2. Реализация проекта БД
2.1 Создание таблиц
2.2 Создание представлений (готовые запросы)
2.3 Создание процедур
3. Руководство пользователя
Заключение
Список использованной литературы
Введение
База данных - важнейший компонент любой информационной системы. База данных позволяет структурировано хранить большие объемы информации конкретного предприятия, что значительно рационализирует ведение отчетов и создание архивов. Оптимизированные базы данных значительно увеличивают производительность, построенных на их использовании, программ.
С развитием информационных технологий и предпринимательства, актуальность использования баз данных значительно увеличилось. Успешные и крупные компании не могут представить свой бизнес без четко построенной информационной системы. Базы данных, построенные на SQL Server, отвечают высоким требованиям производительности и безопасности.
Предметная область: информационная система магазина.
Целью данного курсового проекта является реализация программной системы «Магазин» для автоматизации деятельности и обеспечения хранения, накопления и предоставления информации.
Задачи проекта:
. Построить инфологическую (концептуальную) модель предметной области
. Разработать логическую структуру базы данных
. Разработать физическую структуру базы данных
. Разработать пользовательский интерфейс
. Реализовать проект в конкретной среде
программный автоматизация интерфейс таблица
1. Разработка
структуры базы данных
.1 Инфологическое проектирование
Цель инфологического моделирования - обеспечение
наиболее естественных для человека способов сбора и представления той
информации, которую предполагается хранить в создаваемой базе данных. Поэтому
инфологическую модель данных пытаются строить по аналогии с естественным
языком. Основными конструктивными элементами инфологических моделей являются
сущности, связи между ними и их свойства (атрибуты). Инфологическая модель
предметной области «Магазин» представлена на рис. 1.
Рисунок 1 Инфологическая
(концептуальная) модель предметной области
1.2 Логическая структура базы данных
Семь сущностей находятся в третьей нормальной
форме, т. е. все атрибуты сущностей содержат атомарные значения (значения в
домене не являются ни списками, ни множествами простых или сложных значений);
каждый неключевой атрибут полностью зависит от первичного ключа; никакой
неключевой атрибут не зависит от другого неключевого атрибута. Логическая
структура предметной области «Магазин» представлена на рис. 2.
Рисунок 2 Логическая структура базы
данных
1.3 Физическая структура базы данных
Таблица 1. «Товар»
Атрибуты
Тип
Ключ
Описание
Id_tov
Int
primary
Код
товара
Nazvan
Varchar(50)
Название
Price
Int
Цена
товара
Таблица 2. «Поставщики»
Атрибуты
Тип
Ключ
Описание
Id_form
Int
primary
Код
поставщика
Nazvan
Varchar(50)
Название
Таблица 3. «Поставки»
Атрибуты
Тип
Ключ
Описание
Id_postki
Int
primary Id_tov
Int
foreign
Код
товара
Id_firm
Int
foreign
Код
поставщика
Kol_tov
Int
КоличествоТовара
Price_tovar
Money
ЦенаТовара
Date_prodaj
Datetime
ДатаПоставки
Таблица 4. «Продажи»
Атрибуты
Тип
Ключ
Описание
Id_prodaj
Int
primary
Код
продажи
Id_men
Int
foreign
Код
продавца
Id_tov
Int
foreign
Код
товара
Kol_tov
Int
Количнство
Date_prodaj
Datetime
ДатаПродажи
Таблица 5. «Отделы»
Атрибуты
Тип
Ключ
Описание
Id_depart
Inr
primary
Код
отдела
Nazvan
Varchar(50)
Название
Таблица 6. «Продавцы»
Атрибуты
Тип
Ключ
Описание
Id_men
Unt
primary
Код
продавца
Fam
Varchar(50)
Фамилия
Im
Varchar(50)
Имя
Otch
Varchar(50)
Отчество int
foreign
Код
отдела
Таблица 7. «Заказы»
Атрибуты
Тип
Ключ
Описание
Id_zakaz
Int
primary
Код
заказа
Id_tov
Int
foreign
Код
товара
Kol_tov
Int
КоличествоТовара
Id_firm
int
foreign
Код
поставщика
2. Реализация
проекта БД
.1 Создание
таблиц
. Отношение (Поставщики)
Create table firm (id_firm int
identity(1,1) not null primary key, nazvan varchar(50) not null);
2. Отношение Depart
(Отделы)
Create table depart (id_depart int
identity(1,1) not null primary key, nazvan varchar(50) not null);
3. Отношение Men
(Продавцы)
Create table men (id_men int
identity(1,1) not null primary key, fam varchar(50) not null, otch varchar(50)
not null, im varchar(50) not null, id_depart int not null references
depart(id_depart));
4. Отношение Tovar
(Товар)
Create table Tovar (id_tov int
identity(1,1) not null primary key check (id_tov between 0 and 99999), nazvan
varchar(50) not null, price money not null);
5. Отношение Zakaz
(Заказы)
Create table zakaz (id_zakaz int
identity(1,1) not null primary key, id_tov int not null references
Tovar(id_tov), kol_tov int not null, id_firm int not null references firm
(id_firm));
6. Отношение Postki
(Поставки)
Create table postki (id_postki int
identity(1,1) not null primary key, id_tov int not null references Tovar(id_tov),
id_firm int not null references firm(id_firm), kol_tov int not null,
price_tovar money not null, date_prodaj datetime not null);
7. Отношение Prodaj
(Продажи)
Create table prodaj (id_prodaj int
identity(1,1) not null primary key, id_men int not null references men
(id_men), id_tov int not null references Tovar (id_tov), kol_tov int not null,
date_prodaj datetime not null);
2.2 Создание
представлений (готовые запросы)
. Учет поставщиков и поставок
Select
firm.nazvan
as Фирма, Tovar.nazvan
as товар, postki.kol_tov
as Количество, postki.price_tovar
as цена, postki.date_prodaj
as Дата,
количество*цена as
Сумма
From firm, Tovar,
postkipostki.id_tov = Tovar.id_tov and firm.id_firm = postki.id_firmby
firm.nazvan
2. Учет продаж по отделам
Select depart.nazvan as отдел,
prodaj.kol_tov as количество,
Tovar.nazvan as товар,
цена*количество
as Суммаdepart,
prodaj, TovarTovar.id_tov = prodaj.id_tov and Tovar.id_depart =
depart.id_departby depart.nazvan
3. Подсчет остатков товаров (по отделам)
Select depart.nazvan as Отдел,
Tovar.nazvan as Товар,
Tovar.kol_tov as Количествоdepart,
TovarTovar.id_depart = depart.id_departby kol_tov
4. Подведение финансовых итогов дня (по
отделам)
Select
prodaj.date_prodaj
as Дата, Tovar.nazvan
as товар, prodaj.kol_tov
as количество, depart.nazvan
as Отделы, Tovar.price
*количество as Сумма
From prodaj, depart,
Tovartovar.id_depart = depart.id_depart
5. Подведение финансовых итогов (по
магазину)
Select
sum(сумма) as
[Итог по всем отделам]
From [Подведение
финансовых итогов]
6. Анализ результативности работы продавцов
Select
men.fam
as фамилия, Tovar.nazvan
as товар, prodaj.kol_tov
as количество, Tovar.price
as цена, Tovar.price*prodaj.kol_tov
as сумма
From men, Tovar, prodajmen.id_men =
prodaj.id_men and Tovar.id_tov = prodaj.id_tov
7. Анализ продаж по дням недели и по
месяцам
Select
Tovar.nazvan
as Товар, prodaj.kol_tov
as количество, prodaj.date_prodaj
as Дата, Tovar.price*prodaj.kol_tov
as сумма
From Tovar, prodajTovar.id_tov =
prodaj,id_tov
2.3 Создание
процедур
Процедура «Учет поставщиков и поставок»
Create procedure Поставки_
(@parameter1 varchar(50) = ‘’)
Select Фирмы,
Товар, Количество, Цена, Дата, СуммаПоставки
From
dbo.учет_поставщиков_и_поставко
Where фирмы = @parameter1
Вызов процедуры
Dim b = InputBox("Введите название
поставщика")
Dim db As New
DataClasses1DataContext c
= db.Поставки_(b)
z1.DataGridView1.DataSource =
c.Show() Create procedure Учет
(@parameter1 varchar(50) = ‘’)
Select Отдел,
Товар, Количество, Цена, сумма
From «Учет
продаж по отделам»
Where отдел = @parameter1
Вызов процедуры
Dim
b = InputBox("Введите
название отдела")
Dim db As New
DataClasses1DataContextc = db.Учет(b)
Учет1.DataGridView1.DataSource = c
Учет1.Show()
Процедура «Подсчет остатков товаров по отделам»
Create procedure Остаток
(@parameter1 varchar(50) = ‘’)
Select Отдел,
«Название товара», «Количество товара»
From «Подсчет
остатка товара»
Where Отдел = @parameter1
Вызов процедуры
Dim b = InputBox("Введите название
отдела")
Dim db As New
DataClasses1DataContextc = db.Остаток(b)
Остаток.DataGridView1.DataSource
= c
Остаток.Show()
Процедура «Подведение финансовых итогов дня по
отделам»
Create procedure Итоги
(@parameter1 varchar(50) = ‘’,
@parameter2 datetime = ‘’)
Select Отдел,
Количество, «Название товара», Сумма, Дата
From «Подведение
финансовых итогов дня»
Where Отдел = @parameter1
and
Дата = @parameter2
Вызов процедуры
Dim
b = InputBox("введите
название отдела")
Dim
a = InputBox("Введите
дату в формате ДД.ММ.ГГГГ")
Dim db As New
DataClasses1DataContextc = db.Итоги(b, a)
Итоги1.DataGridView1.DataSource
= c
Итоги1.Show()
Процедура «Анализ результативности работы
продавцов»
Alter procedure Продавцы_
(@parameter1 varchar(50) = ‘’)fam, nazvan,
kol_tov, price, summa dbo.анализ_результативности_работы_продавцов
Where
fam = @parameter1
Вызов процедуры
Dim b = InputBox("Введите фамилию
продавца")db As New DataClasses1DataContextc =
db.Анализ_Результативности_Работы_Продавцов1(b)
z5.DataGridView1.DataSource =
c.Show()
3. Руководство пользователя
При запуске программы (рис. 3) пользователь вид
перед собой окно, представленное на рис. 4
Рисунок 3. Ярлык для запуска
Рисунок 4. Начальное окно
Пользователь может приступать к работе с БД. Для
добавления нового товара (или просмотра имеющегося товара на складе).
Необходимо нажать на кнопку «Товар на складе». Пользователь увидит следующее
окно:
Рисунок 5 "Товар"
Чтобы добавить новый товар, пользователю
необходимо следовать инструкции:
. Нажать на кнопку «Новая запись»
. Ввести необходимую информацию о товаре
. Нажать на кнопку «Сохранить» (рис. 6)
Рисунок 6. Добавление нового товара
При нажатии на кнопку «Обзор» пользователь видит
окно (рис. 7), в котором представлена информацию о имеющемся товаре.
Рисунок 7. Информация об имеющемся
товаре
Аналогично данной процедуре, пользователь может
добавить нового поставщика, продавца, заказ, отдел.
Для просмотра информации о поставщиках,
пользователю необходимо выполнить следующее:
. В главном окне в меню «Запрос» выбрать
«учет поставщиков и поставок»
. В появившемся диалоговом окне ввести
название поставщика и нажать «Ок».
Рисунок 8 Информация о поставщиках и
поставках
Для уточнения информации об остатке товара в
отделе, необходимо нажать в области меню «Остаток товара», в появившемся
диалоговом окне ввести название отдела и нажать «ОК». Результат представлен на
рис. 9.
Рисунок 9. Остаток товара
Для того, чтобы узнать результаты работы
продавцов, необходимо в меню «Запрос» выбрать «Анализ результативности работы
продавцов», в появившемся диалоговом окне ввести фамилию продавца и нажать
«ОК». Результат представлен на рис. 10. Рисунок 10. Анализ работы продавцов
Для завершения работы с БД «Магазин
продуктовый», необходимо в главном окне нажать кнопку «Выход», и в появившемся
диалоговом окне подтвердить, или отказаться от выбранного действия (рис. 11).
Рисунок 11 Подтверждение о
завершении работы с БД
Заключение
Курсовая работа выполнена в соответствии с
техническим заданием. Разработана и спроектирована автоматизированная
информационная система основанная на базе данных “Магазин продуктовый”,
содержащая необходимые данные. База данных разработана в программной системе
разработки баз данных MS
SQL Server
Management
Studio 2005, что
позволяет легко понять ее организацию и простоту управления. Получить
необходимую информацию из базы данных можно, используя SQL - запросы. На основе
данной автоматизированной информационной системы возможно проектирование
подобных баз данных для схожих целей.
Список использованной литературы
1. Visual
Studio.NET:
разработка приложений для баз данных. - СПб.: БХВ-Петербург, 2007. - 544 с.
. Знакомство с MS
SQL Server
2005. /В. Вшивцев. - И.: Русская редакция, - 2006. - 288 с.
. Базы данных /А.В. Кузин. -
И.: Академия, - 2012. - 320 с.
. Базы данных /И.П. Карпова.
- И.: Питер, - 2013. - 240 с.
. Введение в программирование
на языке MS
Visual Basic.NET/С.
Р. Гуриков. - И.: Дрофа, - 2010. - 528 с.
. Введение в.NET
4.0 и Visual
Studio 2010 для
профессионалов/Алекс Микки. - И.: Вильямс, - 2010. - 416 с.