Merge pull request 'Alex' (#31) from Alex into main
Reviewed-on: https://gitea.de-infra.servehttp.com/de-infrastructure/DWH/pulls/31
This commit is contained in:
@@ -0,0 +1,86 @@
|
||||
-- Этап 1: Создание таблиц и связей
|
||||
-- Создай все таблицы в SQL
|
||||
-- Заполни данными (INSERT)
|
||||
-- Настрой внешние ключи
|
||||
--Таблица 1:
|
||||
CREATE TABLE agoncharov.courses (
|
||||
id int4 NOT NULL,
|
||||
title varchar(50) NOT NULL,
|
||||
category varchar(50) NOT NULL,
|
||||
created_at date NOT NULL,
|
||||
CONSTRAINT courses_pkey PRIMARY KEY (id)
|
||||
);
|
||||
insert into (id,title,category,created_at)
|
||||
values (1,'SQL для начинающих','data','2023-01-01'),
|
||||
(2,'Python для анализа данных','programming','2023-01-15'),
|
||||
(3,'BI с нуля','business','2023-03-01');
|
||||
|
||||
-- Таблица 2:
|
||||
CREATE TABLE agoncharov.enrollmets (
|
||||
id int4 NOT NULL,
|
||||
user_id int4 NULL,
|
||||
course_id int4 NULL,
|
||||
enrolled_at date NULL,
|
||||
CONSTRAINT enrollmets_pkey PRIMARY KEY (id)
|
||||
);
|
||||
ALTER TABLE agoncharov.enrollmets ADD CONSTRAINT enrollmets_course_id_fkey FOREIGN KEY (course_id) REFERENCES agoncharov.courses(id);
|
||||
ALTER TABLE agoncharov.enrollmets ADD CONSTRAINT enrollmets_user_id_fkey FOREIGN KEY (user_id) REFERENCES agoncharov.users(id);
|
||||
|
||||
INSERT INTO (id,user_id,course_id,enrolled_at)
|
||||
values (1,1,1,'2023-01-15'),(2,1,2,'2023-02-01'),(3,2,1,'2023-01-20'),
|
||||
(4,3,2,'2023-03-05'),(5,4,3,'2023-04-01');
|
||||
|
||||
-- Таблица 3 :
|
||||
CREATE TABLE agoncharov.lesson_views (
|
||||
id int4 NOT NULL,
|
||||
user_id int4 NULL,
|
||||
lesson_id int4 NULL,
|
||||
viewed_at timestamp NULL,
|
||||
CONSTRAINT lesson_views_pkey PRIMARY KEY (id)
|
||||
);
|
||||
|
||||
|
||||
-- agoncharov.lesson_views внешние включи
|
||||
|
||||
ALTER TABLE agoncharov.lesson_views ADD CONSTRAINT lesson_views_lesson_id_fkey FOREIGN KEY (lesson_id) REFERENCES agoncharov.lessons(id);
|
||||
ALTER TABLE agoncharov.lesson_views ADD CONSTRAINT lesson_views_user_id_fkey FOREIGN KEY (user_id) REFERENCES agoncharov.users(id);
|
||||
|
||||
insert into (id,user_id,lesson_id,viewed_at)
|
||||
values (1,1,1,'2023-01-16 10:00:00'),(2,1,2,'2023-01-16 10:15:00'),
|
||||
(3,2,1,'2023-01-21 09:00:00'), (4,3,3,'2023-04-06 12:00:00'),
|
||||
(5,4,4,'2023-04-02 10:00:00'),(6,4,5,'2023-04-03 10:00:00');
|
||||
|
||||
-- Таблица 4
|
||||
CREATE TABLE agoncharov.lessons (
|
||||
id int4 NOT NULL,
|
||||
course_id int4 NULL,
|
||||
title varchar(50) NOT NULL,
|
||||
duration_min int4 NOT NULL,
|
||||
CONSTRAINT lessons_pkey PRIMARY KEY (id)
|
||||
);
|
||||
|
||||
|
||||
-- agoncharov.lessons внешние включи
|
||||
|
||||
ALTER TABLE agoncharov.lessons ADD CONSTRAINT lessons_course_id_fkey FOREIGN KEY (course_id) REFERENCES agoncharov.courses(id);
|
||||
|
||||
insert into (id,course_id,title,duration_min)
|
||||
values (1,1,1,'SELECT и FROM',10),(2,2,1,'JOIN',15),
|
||||
(3,3,2,'PANDAS',20),(4,4,3,'Основы BI',12),(5,5,3,'Метрики и дашборды',18);
|
||||
|
||||
-- Таблица 5:
|
||||
CREATE TABLE agoncharov.users (
|
||||
id int4 NOT NULL,
|
||||
"name" varchar(50) NOT NULL,
|
||||
age int4 NULL,
|
||||
email varchar(100) NULL,
|
||||
registration_date date NULL,
|
||||
CONSTRAINT users_pkey PRIMARY KEY (id)
|
||||
);
|
||||
|
||||
INSERT INTO (id,name,age,email,registration_date)
|
||||
values (1,'Alice',25,'alice@mail.com','2023-01-10'),
|
||||
(2,'Bob',30,'bob@gmail.com','2023-02-05'),
|
||||
(3,'Charlie',22,'charlie@mail.com','2023-02-20'),
|
||||
(4,'Diana',28,'diana@mail.com','2023-03-01'),
|
||||
(5,'Ethan',35,'ethan@gmail.com','2023-03-10');
|
||||
Reference in New Issue
Block a user