From d00110c7ae5afe08915f7aff8be0d6fc7b943ee5 Mon Sep 17 00:00:00 2001 From: pavel Date: Wed, 11 Feb 2026 18:54:44 +0100 Subject: [PATCH] ddl, dml tasks done --- pmikhailov/postgresql/.project | 11 +++++ pmikhailov/postgresql/DDL-DML.sql | 80 +++++++++++++++++++++++++++++++ 2 files changed, 91 insertions(+) create mode 100644 pmikhailov/postgresql/.project create mode 100644 pmikhailov/postgresql/DDL-DML.sql diff --git a/pmikhailov/postgresql/.project b/pmikhailov/postgresql/.project new file mode 100644 index 0000000..92f941b --- /dev/null +++ b/pmikhailov/postgresql/.project @@ -0,0 +1,11 @@ + + + postgresql + + + + + + + + diff --git a/pmikhailov/postgresql/DDL-DML.sql b/pmikhailov/postgresql/DDL-DML.sql new file mode 100644 index 0000000..afeb254 --- /dev/null +++ b/pmikhailov/postgresql/DDL-DML.sql @@ -0,0 +1,80 @@ +CREATE TABLE users ( + id int PRIMARY KEY, -- NOT NULL + "name" varchar(100) NOT NULL, + age int, + email varchar(100), + country varchar(2), + is_active boolean, + created_at timestamptz NOT NULL +); + +CREATE TABLE products ( + id int PRIMARY KEY, + "name" varchar(100) NOT NULL, + category varchar(50), + price decimal(10,2) NOT NULL, + in_stock BOOLEAN -- или int, потому что или на складе или не на складе +); + +CREATE TABLE orders ( + id int PRIMARY KEY, + user_id int, + order_date timestamptz NOT NULL, + status varchar(20) +); + +CREATE TABLE order_items ( + order_id int, + product_id int, + quantity int NOT NULL, + price_at_purchase decimal(10,2) NOT NULL, + PRIMARY KEY (order_id, product_id) +); + +INSERT INTO pmikhailov.users +(id, "name", age, email, country, is_active, created_at) VALUES +(1, 'Alice', 25, 'alice@example.com', 'US', TRUE, '2024-01-10 10:00:00'), +(2, 'Bob', 30, 'bob@example.com', 'UK', TRUE, '2024-02-05 09:30:00'), +(3, 'Carol', 27, 'carol@example.com', 'US', FALSE, '2024-03-01 15:20:00'), +(4, 'Diana', 22, 'diana@gmail.com', 'US', TRUE, '2024-01-12 08:15:00'), +(5, 'Evan', 35, 'evan@example.com', 'UK', TRUE, '2024-01-18 19:40:00'), +(6, 'Farida', 29, 'farida@example.com', 'KZ', TRUE, '2024-02-20 11:05:00'), +(7, 'George', 31, 'george+test@example.com', 'US', TRUE, '2024-03-05 16:45:00'), +(8, 'Helen', 24, NULL, 'UK', FALSE, '2024-03-06 08:20:00'), +(9, 'Ivan', 26, 'ivan@example.com', 'RU', TRUE, '2024-01-11 14:30:00'), +(10, 'Julia', 28, 'julia@example.com', 'US', TRUE, '2024-03-07 18:05:00'); + + +INSERT INTO pmikhailov.products +(id, "name", category, price, in_stock) VALUES +(1, 'iPhone 15', 'Электроника', 80000, TRUE), +(2, 'Kindle', 'Электроника', 15000, TRUE), +(3, 'Кроссовки Nike', 'Одежда', 9000, TRUE), +(4, 'Кроссовки NoName', 'Одежда', 3000, FALSE), +(5, 'Наушники Pro', 'Электроника', 12000, TRUE), +(6, 'Фитнес-браслет', 'Гаджеты', 6000, TRUE), +(7, 'Подарочная карта', 'Сервисы', 1000, TRUE); + +INSERT INTO pmikhailov.orders +(id, user_id, order_date, status) VALUES +(1, 1, '2025-01-10 12:00:00', 'paid'), +(2, 3, '2025-01-12 09:30:00', 'cancelled'), +(3, 1, '2025-01-15 18:20:00', 'paid'), +(4, 2, '2025-01-20 11:05:00', 'created'), +(5, 4, '2025-02-01 17:45:00', 'paid'), +(6, 5, '2025-02-10 10:10:00', 'refunded'), +(7, 7, '2025-03-01 09:00:00', 'paid'), +(8, 9, '2025-03-05 19:30:00', 'paid'); + +INSERT INTO pmikhailov.order_items +(order_id, product_id, quantity, price_at_purchase) VALUES +(1, 1, 1, 78000), +(1, 3, 2, 8500), +(2, 2, 1, 14000), +(3, 5, 1, 11000), +(3, 7, 1, 1000), +(4, 2, 1, 15000), +(5, 6, 1, 6000), +(6, 1, 1, 82000), +(7, 3, 1, 9000), +(8, 4, 2, 2800);