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. Диаграмма «Сущность - связь»

 

Создание базы данных и таблиц

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,

price MONEY

);

CREATE TABLE delivered_goods

(

ID INTEGER PRIMARY KEY IDENTITY(1,1),

goods_id INTEGER,

party_id INTEGER,

quantity INTEGER,

price MONEY

);

CREATE TABLE warehouse_data

(

name VARCHAR(100),

address VARCHAR(255),

inn INTEGER,

kpp INTEGER,

phone    VARCHAR(20),

account VARCHAR(25),

bank VARCHAR(255),

address_bank VARCHAR(255),

bik INTEGER,

okpo INTEGER,

cor_account VARCHAR(25),

director VARCHAR(255),

Chief_accountant VARCHAR(255)

);

Заполнение таблиц

INSERT INTO supplier VALUES

(

‘Поставщик №1’,

‘г. Астрахань, ул Третья, д 47’,

‘45654233334789d48’,

‘456789123’,

‘159987456’,

‘(8512) 12-58-95’,

‘Первый строительный’,

‘г Астрахань, ул Бабушкина, д 57’,

‘465466545’,

‘45965456854sd987g89’,

‘15987456’,

‘Романов Н.Г.’,

‘Рыбнкова Г.П’

);

INSERT INTO customer VALUES

(

‘Покупатель № 1’,

‘г. Нижневартовск, ул Седьмая, д 14’,

‘45654233334789d48’,

‘456789123’,

‘159987456’,

‘(8512) 12-58-95’,

‘Банк Москвы’,

‘г Москва, ул Степашина, д 57’,

‘465466545’,

‘45965456854sd987g89’,

‘15987456’,

‘Смирнов К.С.’,

‘Иванова Г.П’

);

INSERT INTO goods VALUES

(

‘Товар 1’,

‘521.50’,

‘Производитель 1’,

‘5000’,

‘ящик’,

’20’

);

INSERT INTO party_delivered VALUES

(

’13.03.2009 15:35:01’,

‘1’,

‘456.25’

);

INSERT INTO party_delivered VALUES

(

’14.03.2009 12:00:41’,

‘1’,

‘456.25’

);

INSERT INTO sent_goods VALUES

(

‘1’,

‘4’,

‘998’,

‘500’

);

INSERT INTO delivered_goods VALUES

(

‘1’,

‘4’,

‘365’,

‘456.25’

);

INSERT INTO warehouse_data VALUES

(

‘Центральный Астраханский склад торговой сети «Мастер+»’,

‘г. Астрахань, ул Перевозная, строение 77’,

‘15123456798’,

‘123456789’,

‘8512 65-98-41’,

‘d4fgd6g4fs5g65456’,

‘Первый строительный банк’,

‘г Астрахань, ул Лесная, Д 45’,

‘546542364556’,

‘12345678’,

‘fds4f56df4s5gf646’,

‘Степанов Н. К’,

‘Гиреева С.Т.’

);



Тексты запросов SQL

 

SQL запросы используемые при оформлении приходной накладной:

/*Получение реквизитов склада */

SELECT * FROM warehouse_data;

/*Выборка данных о товарах, прибывших в составе партии товара*/

SELECT goods.goods_name, goods.unit, delivered_goods.price, delivered_goods.quantity, (delivered_goods.quantity*delivered_goods.price) FROM goods, delivered_goods WHERE (delivered_goods.party_id=' 1') AND (delivered_goods.goods_id = goods.goods_id);

В запросе происходит выборка количества и стоимости товаров, из таблицы «закупленные товары» (delivered_goods) для всех записей, где поле party_id равно идентификатору пришедшей партии (в примере номер партии товара равен 1); к тому же для каждой записи происходит выборка наименований товаров и единицы их измерения из таблицы «товары» (goods). Выражение (delivered_goods.quantity * delivered_goods.price) вычисляет сумму для каждого товара.

SQL запросы используемые при оформлении товарно-транспортной накладной:

/*Получение реквизитов склада */

SELECT * FROM warehouse_data;

/*Выборка данных о товарах, вошедших в состав проданной партии товара*/

SELECT goods.goods_name, goods.unit, sent_goods.price, sent_goods.quantity, (sent_goods.quantity*sent_goods.price) FROM goods, sent_goods WHERE (sent_goods.party_id=' 1') AND (sent_goods.goods_id = goods.goods_id);

Здесь происходит выборка данных о товаре, вошедшем в проданную партию, аналогично запросу выборки данных о товарах, прибывших в составе партии товара, описанному выше.

/*Получение реквизитов покупателя*/

SELECT customer.customer_name, customer.customer_address, customer.customer_account, customer.customer_INN, customer.customer_kpp, customer.customer_phone, customer.customer_bank, customer.customer_address_bank, customer.customer_bik, customer.cor_account, customer.okpo, customer.mainbuh, customer.director, party_sold.customer_id FROM customer, party_sold WHERE (party_sold.customer_id = customer.customer_id) AND (party_sold.party_id =126);

Здесь происходит выборка реквизитов покупателя партии товара.

/*Получение количества и стоимости товара с идентификатором 3, прибывшего на склад после 22.03.2009 (подобные запросы используются при построении отчёта)*/

SELECT sum(delivered_goods.quantity * delivered_goods.price) ,sum(delivered_goods.quantity)FROM delivered_goods, party_delivered WHERE(delivered_goods.party_id =party_delivered.party_id)AND(datepart(day,party_delivered._date) > 22 ) AND(datepart(month, party_delivered._date)>= 3 ) AND(datepart(year, party_delivered._date) = 2009 ) AND (delivered_goods.goods_id = 3);



Клиентская часть

 

Дата: 2019-12-22, просмотров: 224.