Создание базы данных и таблиц
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); Клиентская часть
Популярное: Как распознать напряжение: Говоря о мышечном напряжении, мы в первую очередь имеем в виду мускулы, прикрепленные к костям ... Модели организации как закрытой, открытой, частично открытой системы: Закрытая система имеет жесткие фиксированные границы, ее действия относительно независимы... Почему люди поддаются рекламе?: Только не надо искать ответы в качестве или количестве рекламы... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (191)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |