fix columns in tables
This commit is contained in:
+10
-11
@@ -1,8 +1,8 @@
|
|||||||
CREATE TABLE users (
|
CREATE TABLE users (
|
||||||
id INT PRIMARY KEY NOT NULL,
|
id INT GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
|
||||||
name VARCHAR(100) NOT NULL,
|
name VARCHAR(100) NOT NULL,
|
||||||
age SMALLINT,
|
age SMALLINT CHECK (age > 0),
|
||||||
email VARCHAR(100),
|
email VARCHAR(100) NOT NULL UNIQUE,
|
||||||
country VARCHAR(50),
|
country VARCHAR(50),
|
||||||
is_active BOOLEAN DEFAULT true,
|
is_active BOOLEAN DEFAULT true,
|
||||||
created_at TIMESTAMPTZ NOT NULL
|
created_at TIMESTAMPTZ NOT NULL
|
||||||
@@ -13,27 +13,26 @@ CREATE TABLE users (
|
|||||||
-- id - если не прописать not null в primary key, то not null ставится автоматически?
|
-- id - если не прописать not null в primary key, то not null ставится автоматически?
|
||||||
|
|
||||||
CREATE TABLE products (
|
CREATE TABLE products (
|
||||||
id INT PRIMARY KEY,
|
id INT GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
|
||||||
name VARCHAR(100) NOT NULL,
|
name VARCHAR(100) NOT NULL,
|
||||||
category VARCHAR(50),
|
category VARCHAR(50),
|
||||||
price DECIMAL(10, 2) NOT NULL,
|
price DECIMAL(10, 2) NOT NULL,
|
||||||
in_stock BOOLEAN
|
in_stock BOOLEAN DEFAULT true,
|
||||||
);
|
);
|
||||||
|
|
||||||
CREATE TABLE orders(
|
CREATE TABLE orders(
|
||||||
id INT PRIMARY KEY,
|
id INT GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
|
||||||
user_id INT,
|
user_id INT,
|
||||||
order_date TIMESTAMPTZ NOT NULL,
|
order_date TIMESTAMPTZ NOT NULL,
|
||||||
status VARCHAR(20),
|
status VARCHAR(20),
|
||||||
FOREING KEY (user_id) REFERENCES users(id)
|
FOREIGN KEY (user_id) REFERENCES users(id)
|
||||||
);
|
);
|
||||||
-- status - лучше прописать словами статус, так понятней будет. Я бы сюда поставил ENUM
|
-- status - лучше прописать словами статус, так понятней будет. Я бы сюда поставил ENUM
|
||||||
|
|
||||||
CREATE TABLE order_items(
|
CREATE TABLE order_items(
|
||||||
order_id INT,
|
order_id INT NOT NULL,
|
||||||
product_id INT,
|
product_id INT NOT NULL,
|
||||||
quantity INT NOT NULL,
|
quantity INT NOT NULL,
|
||||||
price_at_purchase DECIMAL(10, 2) NOT NULL,
|
price_at_purchase DECIMAL(10, 2) NOT NULL,
|
||||||
FOREING KEY (order_id) REFERENCES orders(id),
|
PRIMARY KEY (order_id, product_id)
|
||||||
FOREING KEY (product_id) REFERENCES products(id)
|
|
||||||
);
|
);
|
||||||
Reference in New Issue
Block a user