added create_tables and inser_data files
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
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;
|
||||
Reference in New Issue
Block a user