Автор работы: Пользователь скрыл имя, 30 Апреля 2013 в 16:49, курсовая работа
Цель работы проектирование базы данных для информационной системы учёта на оптовом складе. В процессе работы изучена предметная область и получены практические навыки в работе с СУБД MS SQL Server 2000, разработаны структуры таблиц, проведена нормализация отношений до 2-й формы включительно. В результате работы созданы база данных warehouse и таблиц, произведено заполнение таблиц, разработано строк кода SQL.
Реферат
1. Описание предметной области
2. Обзор аналогов
3. Техническое задание
4. Проектирование базы данных
4.1. Нормализация отношений
4.1.1. Ненормализованная форма
4.1.2. Вторая нормальная форма
4.2. Структура таблиц
4.3. Диаграмма сущность связь (ER диаграмма)
4.4. Создание БД и таблиц
4.5. Заполнение таблиц
4.6. Тексты запросов SQL
5. Клиентская часть
5.1. Общие сведения о работе системы
5.2. Функциональное назначение
5.3. Инсталляция и выполнение программного продукта
5.4. Руководство пользователя
6. Заключение
Справочник «Заказчики»
Справочник «customer» содержит информацию о заказчиках. Структура данных приведена в табл. 4.2.3.
Таблица 4.2.3
Структура таблицы Customer
№ |
Название поля |
Тип поля |
Длина |
Null |
Назначение | |||
1 |
Customer_id |
Числовой |
4 |
Not |
Первичный ключ | |||
2 |
Customer_name |
Текстовый |
50 |
Not |
Название фирмы | |||
3 |
Customer_address |
Текстовый |
255 |
Not |
Адрес фирмы | |||
4 |
Customer _INN |
Числовой |
4 |
Not |
ИНН | |||
5 |
Customer_account |
Текстовый |
25 |
Not |
Номер счёта заказчика | |||
6 |
Customer_KPP |
Числовой |
4 |
Not |
КПП покупателя | |||
7 |
Customer _phone |
Текстовый |
255 |
Not |
Телефон(ы) покупателя | |||
8 |
Customer _bank |
Текстовый |
255 |
Not |
Банк покупателя | |||
9 |
Address_bank |
Текстовый |
255 |
Not |
Адрес банка | |||
№ |
Название поля |
Тип поля |
Длина |
Null |
Назначение | |||
10 |
Customer _bik |
Текстовый |
255 |
Not |
БИК покупателя | |||
11 |
Corr_account |
Текстовый |
25 |
Корреспондентский счёт покупателя | ||||
12 |
Okpo |
Числовой |
4 |
Not |
||||
13 |
Director |
Текстовый |
255 |
Not |
Директор предприятия | |||
14 |
Chief_accountant |
Текстовый |
255 |
Not |
Главный бухгалтер предприятия | |||
Справочник «Закупаемая партия товара»
В таблице «Party_delivered» содержится стоимость партии поставленного на склад товара, дата поставки и номер поставщика. Структура данных приведена в табл. 4.2.4.
Таблица 4.2.4
Структура таблицы Party_delivered
№ |
Название поля |
Тип поля |
Размер |
Null |
Назначение |
1 |
Party id |
Числовой |
4 |
Not |
Идентификатор партии товара (номер приходной накладной) |
2 |
Supplier_id |
Числовой |
4 |
Not |
Идентификатор поставщика из таблицы 4.2.1 |
3 |
Price |
Денежный |
Х |
Not |
Стоимость партии товара |
4 |
_Date |
Дата |
Y |
Not |
Дата поставки |
Справочник «Доставленный товар»
В таблице «Delivered_goods» содержится номер партии товара, количество товара в партии, стоимость единицы товара в партии. В различных партиях стоимость одного и того же товара за единицу может быть различна. Структура данных приведена в табл. 4.2.5.
Таблица 4.2.5
Структура таблицы Delivered_goods
№ |
Название поля |
Тип поля |
Размер |
Null |
Назначение |
1 |
Id |
Числовой |
4 |
Not |
Идентификатор записи |
2 |
Goods_id |
Числовой |
4 |
Not |
Идентификатор товара из таблицы 4.2.2 |
3 |
Party_id |
Числовой |
4 |
Not |
Идентификатор партии товара из таблицы 4.2.4 |
4 |
Quantity |
Числовой |
4 |
Null |
Количество товара в партии |
5 |
Price |
Денежный |
8 |
Not |
Стоимость единицы товара |
Справочник «Проданная партия товара»
В таблице «Party_sold» содержатся сведения о проданном товаре. Структура данных приведена в табл. 4.2.6.
Таблица 4.2.6
Структура таблицы Party_sold
№ |
Название поля |
Тип поля |
Размер |
Null |
Назначение |
1 |
Party_id |
Числовой |
4 |
Not |
Номер партии (товарно-транспортной накладной |
2 |
_Date |
Дата |
8 |
Not |
Дата продажи |
3 |
Price |
Денежный |
8 |
Not |
Стоимость партии товара |
4 |
Customer_id |
Числовой |
4 |
Not |
Идентификатор покупателя из таблицы 4.2.3 |
5 |
Seria |
Текстовый |
10 |
Not |
Серия товарно-транспортной накладной |
Справочник «Проданный товар»
В таблице «Sent_goods» содержится информация о стоимости и составе продаваемой партии товара. Структура данных приведена в табл. 4.2.7.
Таблица 4.2.7
Структура таблицы Sent_goods
№ |
Название поля |
Тип поля |
Размер |
Null |
Назначение |
1 |
Goods_id |
Числовой |
4 |
Not |
Идентификатор товара из таблицы 4.2 |
2 |
Party_id |
Числовой |
4 |
Not |
ID партии из таблицы 4.6 |
3 |
Quantity |
Числовой |
4 |
Not |
Количество товара в данной партии |
4 |
Price |
Денежный |
Y |
Not |
Стоимость единицы товара |
Справочник «Данные склада»
В таблице «Warehouse» содержатся реквизиты склада . Структура данных приведена в табл. 4.2.8.
Таблица 4.2.8
Структура таблицы Warehouse
№ |
Название поля |
Тип поля |
Размер |
Null |
Назначение |
1 |
Name |
Текстовый |
100 |
Not |
Наименование склада |
2 |
Address |
Текстовый |
255 |
Not |
Адрес склада. |
3 |
INN |
Числовой |
4 |
Not |
ИНН склада |
4 |
KPP |
Числовой |
4 |
Not |
КПП склада |
5 |
Phone |
Текстовый |
20 |
Not |
Телефон |
6 |
Account |
Текстовый |
25 |
Not |
Счёт |
7 |
Bank |
Текстовый |
255 |
Not |
Банк |
8 |
Address_bank |
Текстовый |
255 |
Not |
Адрес банка |
9 |
BIK |
Числовой |
4 |
Not |
БИК |
10 |
Okpo |
Числовой |
4 |
Not |
ОКПО склада |
11 |
Corr_account |
Текстовый |
25 |
Not |
Корреспондентский счёт |
12 |
Director |
Текстовый |
255 |
Not |
Директор |
13 |
Chief_accountant |
Текстовый |
255 |
Not |
Главный бухгалтер |
4.3. Диаграмма «Сущность-связь» (ER-диаграмма)
Диаграмма Сущность-связь” (ER-диаграмма) разработана на основе анализа предметной области и представлена на рис. 4, выполненная с помощью CASE-средств MS SQL Server 2000.
Сущность «Поставщик» (Suppliers служит для учета поставщиков партий на склад.
Сущность «Поставщик»
связана с сущностью «
Атрибуты сущности «Поставщик»:
Supplier_id - Идентификатор поставщика, первичный ключ.
Supplier_name -Наименование поставщика.
Supplier_address – Адрес поставщика
Supplier_account – Расчетный счёт поставщика
Supplier_inn - ИНН поставщика
Supplier_kpp
Supplier_phone -телефон поставщика
Supplier_bank
Address_bank
Supplier_bik
Corr_account
Okpo
Director
Chief_accountant -Главный бухгалтер поставщика
Сущность «Покупатель» (Customer) служит для учета юридических и физических лиц, cделавшие приобретение партий товара.
Сущность «Покупатель» связана с сущностью «Проданная партия товара».
Атрибуты сущности «Покупатель»:
Customer_id - Идентификатор покупателя, первичный ключ.
Customer_name -Наименование покупателя.
Customer_address – Адрес покупателя
Customer_account
Customer_inn - ИНН покупателя
Customer_kpp -КПП покупателя
Customer_phone -телефон покупателя
Customer_bank -банк покупателя
Address_bank -адрес банка покупателя
Customer_bik -БИК банка покупателя
Corr_account -Корреспондентский счёт покупателя
Okpo
Director
Chief_accountant -Главный бухгалтер покупателя
Сущность «Товар» (GOODS) служит для учета товаров находящихся в данное время на складе.
Сущность «Товар» связана с сущностями «Поставленные товары» и «Проданные товары».
Атрибуты сущности «Товар»:
Goods_id - Номер_товара, первичный ключ.
Goods_name - Наименование_товара.
Price -Цена.
Manufacturer -Фирма – производитель товара.
Quantity - Количество
Unit - Единица товара (тонна, ящик, мешок, и т п)
Massa - Масса единицы товара
Сущность «Закупаемая партия товара» служит для учёта даты поставки партии товара на склад, поставщика и стоимости партии.
Сущность «Закупаемая партия товара» связана с сущностями «Товар», «Закупленные товары».
Атрибуты сущности «Закупаемая партия товара»:
Party_id – номер партии товара, первичный ключ.
Date - дата поступления партии товара на склад.
Supplier_id - идентификатор поставщика.
Price - стоимость партии.
Сущность «Проданная партия товара» служит для учёта даты продажи партии товара со склада, покупателя и стоимости партии.
Сущность «Проданная партия товара» связана с сущностями «Товар», «Проданные товары».
Атрибуты сущности «Проданная партия товара»:
Party_id – номер партии товара, первичный ключ.
Date - дата поступления партии товара на склад.
Customer_id - идентификатор покупателя.
Price - стоимость партии
Seria - серия товарно–транспортной накладной.
Сущность «Проданный товар» служит для учёта состава проданной партии товара.
Сущность связана с сущностями «Товар» и «Проданная партия товара».
Атрибуты сущности «Проданный товар»:
ID - идентификатор записи таблицы, первичный ключ
Goods_id - идентификатор товара.
Party_id - идентификатор партии товара.
Quantity - количество.
Price - стоимость единицы товаров.
Сущность «Закупленный товар» служит для учёта состава проданной партии товара.
Сущность связана с сущностями «Товар» и «Закупленная партия товара».
Атрибуты сущности «Закупленный товар»:
ID - идентификатор записи таблицы, первичный ключ
Goods_id - идентификатор товара.
Party_id - идентификатор партии товара.
Quantity - количество.
Price - стоимость единицы товаров.
Сущность «Склад» служит для хранения данных склада.
Сущность не связана с прочими сущностями, но необходима при формировании выходных документов.
Атрибуты сущности «Склад»:
Name - Наименование склада.
Address - Адрес склада.
INN - ИНН склада.
KPP - КПП склада.
Phone - Телефон склада.
Account - Расчетный счёт склада.
Bank - Банк склада.
Address_bank - Адрес банка склада.
BIK - БИК банка склада.
OKPO - ОКПО склада.
Corr_account - Корреспондентский счёт.
Director - Руководитель.
Chief_accountant - Главный бухгалтер склада.
Рис. 4.3.1. Диаграмма «Сущность - связь»
4.4 Создание базы данных и таблиц
CREATE DATABASE warehouse;
USE warehouse;
CREATE TABLE supplier
(
supplier_id INTEGER PRIMARY KEY NOT NULL IDENTITY(1,1),
supplier_name VARCHAR(100),
supplier_address VARCHAR(255),
supplier_account VARCHAR(25),
supplier_inn INTEGER,
suppier_kpp INTEGER,
supplier_phone VARCHAR (20),
supplier_bank VARCHAR (255),
address_bank VARCHAR(255),
supplier_bik INTEGER,
cor_account VARCHAR(25),
okpo INTEGER,
director VARCHAR(255),
chief_accountant VARCHAR(255)
);
CREATE TABLE customer
(
customer_id INTEGER PRIMARY KEY NOT NULL IDENTITY(1,1),
customer_name VARCHAR(100),
customer_address VARCHAR(255),
customer_account VARCHAR(25),
customer_inn INTEGER,
suppier_kpp INTEGER,
customer_phone VARCHAR (20),
customer_bank VARCHAR (255),
address_bank VARCHAR (255),
customer_bik INTEGER,
cor_account VARCHAR(25),
okpo INTEGER,
director VARCHAR(255),
chief_accountant VARCHAR(255)
);
CREATE TABLE goods
(
goods_id INTEGER PRIMARY KEY IDENTITY(1,1),
goods_name VARCHAR(100),
price MONEY,
manufacturer VARCHAR(300),
quantity INTEGER,
unit VARCHAR (50),
massa INTEGER
);
CREATE TABLE party_delivered
(
party_id INTEGER PRIMARY KEY IDENTITY(1,1),
_date DATETIME,
supplier_id INTEGER,
price MONEY
);
CREATE TABLE party_sold
(
party_id INTEGER PRIMARY KEY IDENTITY(1,1),
_date DATETIME,
customer_id INTEGER,
price MONEY,
seria VARCHAR(10)
);
CREATE TABLE sent_goods
(
ID INTEGER PRIMARY KEY IDENTITY(1,1),
goods_id INTEGER,
party_id INTEGER,
quantity INTEGER,
Информация о работе Разработка информационной системы учета товаров на оптовом складе