CREATE TABLE IF NOT EXISTS amaksatov.users ( id SERIAL PRIMARY KEY, name VARCHAR(100), age INT, email VARCHAR(255), registration_date DATE ); CREATE TABLE IF NOT EXISTS amaksatov.courses ( id SERIAL PRIMARY KEY, title VARCHAR(255), category VARCHAR(100), created_at DATE ); CREATE TABLE IF NOT EXISTS amaksatov.lessons ( id SERIAL PRIMARY KEY, course_id INT, title VARCHAR(255), duration_min INT, FOREIGN KEY (course_id) REFERENCES amaksatov.courses(id) ); CREATE TABLE IF NOT EXISTS amaksatov.enrollments ( id SERIAL PRIMARY KEY, user_id INT, course_id INT, enrolled_at date, FOREIGN KEY (user_id) REFERENCES amaksatov.users(id), FOREIGN KEY (course_id) REFERENCES amaksatov.courses(id) ); CREATE TABLE IF NOT EXISTS amaksatov.lesson_views ( id SERIAL PRIMARY KEY, user_id INT, lesson_id INT, viewed_at TIMESTAMP, FOREIGN KEY (user_id) REFERENCES amaksatov.users(id), FOREIGN KEY (lesson_id) REFERENCES amaksatov.lessons(id) ); INSERT INTO amaksatov.users ( name, age, email, registration_date ) VALUES ( 'Alice', 25, 'alice@mail.com', '2023-01-10' ), ( 'Bob', 30, 'bob@gmail.com', '2023-02-05' ), ( 'Charlie', 22, 'charlie@mail.com', '2023-02-20' ), ( 'Diana', 28, 'diana@mail.com', '2023-03-01' ), ( 'Ethan', 35, 'ethan@gmail.com', '2023-03-10' ); SELECT * FROM amaksatov.users; INSERT INTO amaksatov.courses ( title, category, created_at ) VALUES ( 'SQL для начинающих', 'data', '2023-01-01' ), ( 'Python для анализа данных', 'programming', '2023-01-15' ), ( 'BI с нуля', 'business', '2023-03-01' ); INSERT INTO amaksatov.lessons ( course_id, title, duration_min ) VALUES ( 1, 'SELECT и FROM', 10 ), ( 1, 'JOIN', 15 ), ( 2, 'Pandas', 20 ), ( 3, 'Основы BI', 12 ), ( 3, 'Метрики и дашборды', 18 ); INSERT INTO amaksatov.enrollments ( user_id, course_id, enrolled_at ) VALUES ( 1, 1, '2023-01-15' ), ( 1, 2, '2023-02-01' ), ( 2, 1, '2023-01-20' ), ( 3, 2, '2023-03-05' ), ( 4, 3, '2023-04-01' ); INSERT INTO amaksatov.lesson_views ( user_id, lesson_id, viewed_at ) VALUES ( 1, 1, '2023-01-16 10:00:00' ), ( 1, 2, '2023-01-16 10:15:00' ), ( 2, 1, '2023-01-21 09:00:00' ), ( 3, 3, '2023-03-06 12:00:00' ), ( 4, 4, '2023-04-02 10:00:00' ), ( 4, 5, '2023-04-03 10:00:00' );