Загрузка данных
-- =========================
-- ПАРТНЁРЫ
-- =========================
CREATE TABLE partners (
id INT IDENTITY(1,1) PRIMARY KEY,
type NVARCHAR(255),
company_name NVARCHAR(255),
legal_address NVARCHAR(255),
inn NVARCHAR(255),
director_full_name NVARCHAR(255),
phone NVARCHAR(50),
email NVARCHAR(100),
logo NVARCHAR(255),
rating INT,
sales_places NVARCHAR(255)
);
CREATE TABLE partner_sales_history (
id INT IDENTITY(1,1) PRIMARY KEY,
partner_id INT,
sales_data NVARCHAR(MAX),
FOREIGN KEY (partner_id) REFERENCES partners(id)
);
-- =========================
-- СОТРУДНИКИ
-- =========================
CREATE TABLE employees (
id INT IDENTITY(1,1) PRIMARY KEY,
full_name NVARCHAR(255),
birth_date DATETIME,
passport_data NVARCHAR(255),
bank_details NVARCHAR(255),
has_family BIT,
health_status NVARCHAR(255)
);
-- =========================
-- ДОПУСК К ОБОРУДОВАНИЮ
-- =========================
CREATE TABLE employee_equipment_access (
id INT IDENTITY(1,1) PRIMARY KEY,
employee_id INT,
equipment NVARCHAR(255),
FOREIGN KEY (employee_id) REFERENCES employees(id)
);
-- =========================
-- ДОСТУП
-- =========================
CREATE TABLE access_cards (
id INT IDENTITY(1,1) PRIMARY KEY,
employee_id INT,
card_code NVARCHAR(50),
FOREIGN KEY (employee_id) REFERENCES employees(id)
);
CREATE TABLE access_logs (
id INT IDENTITY(1,1) PRIMARY KEY,
employee_id INT,
access_time DATETIME,
direction NVARCHAR(50),
FOREIGN KEY (employee_id) REFERENCES employees(id)
);
-- =========================
-- ПОСТАВЩИКИ
-- =========================
CREATE TABLE suppliers (
id INT IDENTITY(1,1) PRIMARY KEY,
type NVARCHAR(255),
name NVARCHAR(255),
inn NVARCHAR(255)
);
CREATE TABLE supplier_material_history (
id INT IDENTITY(1,1) PRIMARY KEY,
supplier_id INT,
material_data NVARCHAR(MAX),
FOREIGN KEY (supplier_id) REFERENCES suppliers(id)
);
-- =========================
-- МАТЕРИАЛЫ
-- =========================
CREATE TABLE materials (
id INT IDENTITY(1,1) PRIMARY KEY,
type NVARCHAR(255),
name NVARCHAR(255),
package_quantity INT,
unit NVARCHAR(50),
description NVARCHAR(MAX),
image NVARCHAR(255),
cost DECIMAL(18, 2),
stock_quantity INT,
min_stock_quantity INT
);
CREATE TABLE material_stock_history (
id INT IDENTITY(1,1) PRIMARY KEY,
material_id INT,
change_data NVARCHAR(MAX),
FOREIGN KEY (material_id) REFERENCES materials(id)
);
CREATE TABLE material_supplier_link (
id INT IDENTITY(1,1) PRIMARY KEY,
material_id INT,
supplier_id INT,
FOREIGN KEY (material_id) REFERENCES materials(id),
FOREIGN KEY (supplier_id) REFERENCES suppliers(id)
);
-- =========================
-- СКЛАД
-- =========================
CREATE TABLE warehouse_transactions (
id INT IDENTITY(1,1) PRIMARY KEY,
material_id INT,
transaction_type NVARCHAR(50),
quantity INT,
transaction_time DATETIME,
FOREIGN KEY (material_id) REFERENCES materials(id)
);
-- =========================
-- ПРОДУКЦИЯ
-- =========================
CREATE TABLE products (
id INT IDENTITY(1,1) PRIMARY KEY,
article NVARCHAR(255),
type NVARCHAR(255),
name NVARCHAR(255),
description NVARCHAR(MAX),
image NVARCHAR(255),
min_partner_price DECIMAL(18, 2),
length DECIMAL(18, 2),
width DECIMAL(18, 2),
height DECIMAL(18, 2),
net_weight DECIMAL(18, 2),
gross_weight DECIMAL(18, 2),
quality_certificate NVARCHAR(255),
standard_number NVARCHAR(255),
production_time NVARCHAR(50),
cost_price DECIMAL(18, 2),
workshop_number INT,
production_people_count INT
);
CREATE TABLE product_min_price_history (
id INT IDENTITY(1,1) PRIMARY KEY,
product_id INT,
price_data NVARCHAR(MAX),
FOREIGN KEY (product_id) REFERENCES products(id)
);
CREATE TABLE product_materials (
id INT IDENTITY(1,1) PRIMARY KEY,
product_id INT,
material_id INT,
quantity INT,
FOREIGN KEY (product_id) REFERENCES products(id),
FOREIGN KEY (material_id) REFERENCES materials(id)
);
-- =========================
-- ЗАЯВКИ
-- =========================
CREATE TABLE orders (
id INT IDENTITY(1,1) PRIMARY KEY,
partner_id INT,
manager_id INT,
status NVARCHAR(50),
prepayment_received BIT,
created_at DATETIME,
FOREIGN KEY (partner_id) REFERENCES partners(id),
FOREIGN KEY (manager_id) REFERENCES employees(id)
);
CREATE TABLE order_items (
id INT IDENTITY(1,1) PRIMARY KEY,
order_id INT,
product_id INT,
quantity INT,
cost DECIMAL(18, 2),
production_date DATETIME,
FOREIGN KEY (order_id) REFERENCES orders(id),
FOREIGN KEY (product_id) REFERENCES products(id)
);