homework, pet project DE Dmitry_Medvedev #1

Open
dmitry_medvedev wants to merge 264 commits from md_branch into main
2 changed files with 91 additions and 0 deletions
Showing only changes of commit d00110c7ae - Show all commits
+11
View File
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>postgresql</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
</buildSpec>
<natures>
</natures>
</projectDescription>
+80
View File
@@ -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);