BEGIN; CREATE TABLE SKONEV.users( id INT PRIMARY KEY, name VARCHAR(100), age INT, email VARCHAR(255) UNIQUE, registration_date DATE NOT NULL ); CREATE TABLE SKONEV.courses( id INT PRIMARY KEY, title TEXT NOT NULL, category VARCHAR(255) CHECK (category IN ('data', 'programming', 'business')), created_at DATE NOT NULL ); CREATE TABLE SKONEV.lessons( id INT PRIMARY KEY, course_id INT NOT NULL, FOREIGN KEY (course_id) REFERENCES courses(id), title TEXT NOT NULL, duration_min INT NOT NULL ); CREATE TABLE SKONEV.enrollments( id INT PRIMARY KEY, user_id INT NOT NULL, FOREIGN KEY (user_id) REFERENCES users(id), course_id INT NOT NULL, FOREIGN KEY (course_id) REFERENCES courses(id), enrolled_at DATE NOT NULL ); CREATE TABLE SKONEV.lesson_views( id INT PRIMARY KEY, user_id INT NOT NULL, FOREIGN KEY (user_id) REFERENCES users(id), lesson_id INT NOT NULL, FOREIGN KEY (lesson_id) REFERENCES lessons(id), viewed_at TIMESTAMP NOT NULL ); COMMIT;