CREATE TABLE Postavshchik (
id_postavshchika INT IDENTITY(1,1) PRIMARY KEY,
naimenovanie NVARCHAR(120) NOT NULL,
inn VARCHAR(12) NOT NULL UNIQUE,
telefon VARCHAR(20)
);
CREATE TABLE Pokupatel (
id_pokupatelya INT IDENTITY(1,1) PRIMARY KEY,
naimenovanie NVARCHAR(120) NOT NULL,
inn VARCHAR(12) NOT NULL UNIQUE,
adres NVARCHAR(200),
telefon VARCHAR(20)
);
CREATE TABLE Tovar (
id_tovara INT IDENTITY(1,1) PRIMARY KEY,
naimenovanie NVARCHAR(120) NOT NULL,
edinitsa_izmereniya NVARCHAR(20) NOT NULL,
tsena DECIMAL(12,2) NOT NULL,
stavka_nds DECIMAL(4,2) NOT NULL DEFAULT 20.00
);
CREATE TABLE PrikhodnayaNakladnaya (
id_prikhoda INT IDENTITY(1,1) PRIMARY KEY,
nomer VARCHAR(30) NOT NULL UNIQUE,
data_prikhoda DATE NOT NULL,
id_postavshchika INT NOT NULL,
summa DECIMAL(14,2) NOT NULL DEFAULT 0,
FOREIGN KEY (id_postavshchika)
REFERENCES Postavshchik(id_postavshchika)
);
CREATE TABLE StrokaPrikhoda (
id_stroki INT IDENTITY(1,1) PRIMARY KEY,
id_prikhoda INT NOT NULL,
id_tovara INT NOT NULL,
kolichestvo DECIMAL(12,3) NOT NULL,
tsena DECIMAL(12,2) NOT NULL,
FOREIGN KEY (id_prikhoda)
REFERENCES PrikhodnayaNakladnaya(id_prikhoda),
FOREIGN KEY (id_tovara)
REFERENCES Tovar(id_tovara)
);
CREATE TABLE Ostatok (
id_tovara INT PRIMARY KEY,
kolichestvo_na_sklade DECIMAL(12,3) NOT NULL DEFAULT 0,
data_obnovleniya DATE NOT NULL,
FOREIGN KEY (id_tovara)
REFERENCES Tovar(id_tovara)
);
CREATE TABLE TTN (
id_ttn INT IDENTITY(1,1) PRIMARY KEY,
nomer VARCHAR(30) NOT NULL UNIQUE,
data_otgruzki DATE NOT NULL,
id_pokupatelya INT NOT NULL,
summa DECIMAL(14,2) NOT NULL DEFAULT 0,
FOREIGN KEY (id_pokupatelya)
REFERENCES Pokupatel(id_pokupatelya)
);
CREATE TABLE StrokaTTN (
id_stroki INT IDENTITY(1,1) PRIMARY KEY,
id_ttn INT NOT NULL,
id_tovara INT NOT NULL,
kolichestvo DECIMAL(12,3) NOT NULL,
tsena DECIMAL(12,2) NOT NULL,
FOREIGN KEY (id_ttn)
REFERENCES TTN(id_ttn),
FOREIGN KEY (id_tovara)
REFERENCES Tovar(id_tovara)
);
CREATE TABLE PlatezhnoePoruchenie (
id_platezha INT IDENTITY(1,1) PRIMARY KEY,
nomer VARCHAR(30) NOT NULL UNIQUE,
data_oplaty DATE NOT NULL,
summa DECIMAL(14,2) NOT NULL,
id_ttn INT NOT NULL UNIQUE,
FOREIGN KEY (id_ttn)
REFERENCES TTN(id_ttn)
);
CREATE TABLE SchetFaktura (
id_scheta INT IDENTITY(1,1) PRIMARY KEY,
nomer VARCHAR(30) NOT NULL UNIQUE,
data_scheta DATE NOT NULL,
summa_bez_nds DECIMAL(14,2) NOT NULL,
summa_nds DECIMAL(14,2) NOT NULL,
id_ttn INT NOT NULL UNIQUE,
FOREIGN KEY (id_ttn)
REFERENCES TTN(id_ttn)
);