Nhập môn Mô hình dữ liệu trong Snowflake
Nuno Rocha
Director of Engineering





ALTER TABLE students RENAME TO dim_students;
ALTER TABLE classes RENAME TO dim_classes;
ALTER TABLE schools RENAME TO dim_schools;
dim_date để lưu các ngày cố định liên quan đến ghi danh của sinh viên:CREATE OR REPLACE TABLE dim_date (
date_id NUMBER(10,0) PRIMARY KEY,
year NUMBER(4,0),
semester VARCHAR(255)
);
CREATE OR REPLACE TABLE fact_enrollments (
enrollment_id NUMBER(10,0) PRIMARY KEY,
student_id NUMBER(10,0),
class_id NUMBER(10,0),
date_id NUMBER(10,0),
FOREIGN KEY (student_id) REFERENCES dim_students(student_id),
FOREIGN KEY (class_id) REFERENCES dim_classes(class_id),
FOREIGN KEY (date_id) REFERENCES dim_date(date_id)
);

SELECT name,
class_name
FROM fact_enrollments
JOIN dim_students -- Tham gia để lấy tên sinh viên
ON fact_enrollments.student_id = dim_students.student_id
JOIN dim_classes -- Tham gia để lấy tên lớp
ON fact_enrollments.class_id = dim_classes.class_id
JOIN dim_schools -- Tham gia để lọc theo trường 'Science'
ON dim_classes.school_id = dim_schools.school_id
JOIN dim_date -- Tham gia để giới hạn năm 2023
ON fact_enrollments.date_id = dim_date.date_id
WHERE dim_schools.school_name = 'Science'
AND dim_date.year = 2023;
ALTER TABLE: Lệnh SQL để sửa cấu trúc thực thể hiện cóRENAME TO: Lệnh SQL, dùng với ALTER TABLE, để đổi tên thực thểJOIN ON: Mệnh đề SQL để kết hợp hàng giữa các bảng dựa ON một cột liên quanWHERE: Mệnh đề SQL lọc bản ghi theo điều kiệnAND: Toán tử logic dùng với WHERE để kết hợp nhiều điều kiện-- Sửa đổi một thực thể
ALTER TABLE table_name
RENAME TO new_name;
-- Truy vấn dữ liệu từ các thực thể đã JOIN, lọc theo điều kiện
SELECT
table_name.column_name,
other_name.*
FROM table_name
JOIN other_table
ON table_name.FK = other_table.PK
WHERE column_name condition value
AND column_name condition value;
Nhập môn Mô hình dữ liệu trong Snowflake