SQL
--CREATE DATABASE shop_db;
--USE shop_db;
CREATE TABLE customer (
customer_id INT AUTO_INCREMENT PRIMARY KEY,
first_name VARCHAR(100),
last_name VARCHAR(100),
email VARCHAR(255),
age INT,
country_code VARCHAR(5),
gender VARCHAR(255)
);
CREATE TABLE category (
category_id INT AUTO_INCREMENT PRIMARY KEY,
category_name VARCHAR(100)
);
CREATE TABLE product (
product_id INT AUTO_INCREMENT PRIMARY KEY,
product_name VARCHAR(100),
price DECIMAL(10,2),
category_id INT,
FOREIGN KEY (category_id) REFERENCES category(category_id)
);
CREATE TABLE order_table (
order_id INT AUTO_INCREMENT PRIMARY KEY,
customer_id INT,
order_date DATE,
FOREIGN KEY (customer_id) REFERENCES customer(customer_id)
);
CREATE TABLE order_detail (
order_id INT,
product_id INT,
quantity INT,
PRIMARY KEY (order_id, product_id),
FOREIGN KEY (order_id) REFERENCES order_table(order_id),
FOREIGN KEY (product_id) REFERENCES product(product_id)
);
-- Добавляем 20 записей в customer
INSERT INTO customer (first_name, last_name, email, age, country_code, gender) VALUES
('Иван', 'Иванов', 'ivan@example.com', 30, 'RU', 'male'),
('Анна', 'Смирнова', 'anna@example.com', 25, 'US', 'female'),
('Петр', 'Петров', 'petr@example.com', 40, 'RU', 'male'),
('Мария', 'Козлова', 'maria@example.com', 22, 'IT', 'female'),
('Дмитрий', 'Соколов', 'dmitry@example.com', 35, 'RU', 'male'),
('Алексей', 'Морозов', 'alex@example.com', 28, 'DE', 'male'),
('Ольга', 'Лебедева', 'olga@example.com', 32, 'US', 'female'),
('Сергей', 'Новиков', 'sergey@example.com', 29, 'RU', 'male'),
('Екатерина', 'Орлова', 'katya@example.com', 27, 'IT', 'female'),
('Максим', 'Федоров', 'max@example.com', 31, 'DE', 'male'),
('Анастасия', 'Волкова', 'nastya@example.com', 26, 'RU', 'female'),
('Николай', 'Зайцев', 'nik@example.com', 45, 'US', 'male'),
('Татьяна', 'Павлова', 'tanya@example.com', 33, 'IT', 'female'),
('Роман', 'Семенов', 'roman@example.com', 36, 'RU', 'male'),
('Елена', 'Григорьева', 'elena@example.com', 23, 'DE', 'female'),
('Артем', 'Михайлов', 'artem@example.com', 38, 'US', 'male'),
('Юлия', 'Фролова', 'yulia@example.com', 24, 'RU', 'female'),
('Игорь', 'Тихонов', 'igor@example.com', 39, 'IT', 'male'),
('Виктория', 'Беляева', 'viktoria@example.com', 21, 'DE', 'female'),
('Станислав', 'Кузнецов', 'stan@example.com', 34, 'RU', 'male');
-- Добавляем 5 записей в category
INSERT INTO category (category_name) VALUES
('Электроника'),
('Бытовая техника'),
('Одежда'),
('Обувь'),
('Книги');
-- Добавляем 20 записей в product
INSERT INTO product (product_name, price, category_id) VALUES
('Смартфон', 500.00, 1),
('Ноутбук', 1000.00, 1),
('Телевизор', 700.00, 2),
('Холодильник', 800.00, 2),
('Куртка', 150.00, 3),
('Джинсы', 80.00, 3),
('Кроссовки', 120.00, 4),
('Сапоги', 140.00, 4),
('Книга по SQL', 30.00, 5),
('Книга по Python', 35.00, 5),
('Планшет', 300.00, 1),
('Микроволновка', 250.00, 2),
('Футболка', 20.00, 3),
('Шорты', 25.00, 3),
('Ботинки', 160.00, 4),
('Сандалии', 50.00, 4),
('Роман Толстого', 40.00, 5),
('Книга по Java', 45.00, 5),
('Фен', 60.00, 2),
('Пылесос', 180.00, 2);
-- Добавляем 20 записей в order_table с разными заказами от одного пользователя
INSERT INTO order_table (customer_id, order_date) VALUES
(1, '2024-01-01'), (1, '2024-01-05'), (2, '2024-01-02'), (2, '2024-01-06'),
(3, '2024-01-03'), (3, '2024-01-07'), (4, '2024-01-04'), (4, '2024-01-08'),
(5, '2024-01-09'), (5, '2024-01-10'), (6, '2024-01-11'), (6, '2024-01-12'),
(7, '2024-01-13'), (8, '2024-01-14'), (9, '2024-01-15'), (10, '2024-01-16'),
(11, '2024-01-17'), (12, '2024-01-18'), (13, '2024-01-19'), (14, '2024-01-20');
-- Добавляем 20 записей в order_detail с разными order_id и product_id
INSERT INTO order_detail (order_id, product_id, quantity) VALUES
(1, 1, 2), (2, 3, 1), (3, 5, 3), (4, 7, 1), (5, 9, 2),
(6, 11, 1), (7, 13, 2), (8, 15, 1), (9, 17, 3), (10, 19, 2),
(11, 2, 1), (12, 4, 2), (13, 6, 1), (14, 8, 3), (15, 10, 2),
(16, 12, 1), (17, 14, 2), (18, 16, 1), (19, 18, 3), (20, 20, 2);