Files
Bonifatsiy bfc54f9dcf ddl v4
2026-05-11 07:07:01 +04:00

38 lines
1.2 KiB
SQL

CREATE TABLE dsolovianov.users (
id INT GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
name VARCHAR(100) NOT NULL,
age INT,
email VARCHAR(100),
country VARCHAR(100),
is_active BOOLEAN,
created_at TIMESTAMPTZ NOT NULL
);
CREATE TABLE dsolovianov.products (
id INT GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
name VARCHAR(100) NOT NULL,
category VARCHAR(50),
price DECIMAL(10,2) NOT NULL,
in_stock BOOLEAN
);
CREATE TABLE dsolovianov.orders (
id INT GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
user_id INT,
order_date TIMESTAMPTZ NOT NULL,
status VARCHAR(20),
CONSTRAINT orders_user_fk
FOREIGN KEY (user_id) REFERENCES dsolovianov.users(id)
);
CREATE TABLE dsolovianov.order_items (
order_id INT NOT NULL,
product_id INT NOT NULL,
quantity INT NOT NULL CHECK (quantity > 0),
price_at_purchase DECIMAL(10,2) NOT NULL CHECK (price_at_purchase > 0),
CONSTRAINT order_items_pk PRIMARY KEY (order_id, product_id),
CONSTRAINT order_items_order_fk
FOREIGN KEY (order_id) REFERENCES dsolovianov.orders(id),
CONSTRAINT order_items_product_fk
FOREIGN KEY (product_id) REFERENCES dsolovianov.products(id)
);