-- Измерение пользователей CREATE TABLE core.dim_user ( user_id INT PRIMARY KEY, name TEXT, age INT, email TEXT, registration_date DATE ) DISTRIBUTED BY (user_id); -- Измерение курсов CREATE TABLE core.dim_course ( course_id INT PRIMARY KEY, title TEXT, category TEXT ) DISTRIBUTED BY (course_id); -- Измерение уроков CREATE TABLE core.dim_lesson ( lesson_id INT PRIMARY KEY, title TEXT, duration_min INT, course_id INT REFERENCES core.dim_course(course_id) ) DISTRIBUTED BY (lesson_id); -- Опционально: измерение времени CREATE TABLE core.dim_date ( date DATE PRIMARY KEY, year INT, month INT, day INT, weekday TEXT ) DISTRIBUTED BY (date); CREATE TABLE core.fact_lesson_views ( user_id INT REFERENCES core.dim_user(user_id), lesson_id INT REFERENCES core.dim_lesson(lesson_id), course_id INT REFERENCES core.dim_course(course_id), viewed_at TIMESTAMP ) DISTRIBUTED BY (user_id); CREATE TABLE core.enrollments ( user_id INT REFERENCES core.dim_user(user_id), course_id INT REFERENCES core.dim_course(course_id), enrolled_at TIMESTAMP ) DISTRIBUTED BY (user_id);