การสร้าง Dimension
บริษัทกำหนดให้พนักงานเข้ารับการฝึกอบรมทุกปีเพื่อให้ทันต่อการเปลี่ยนแปลง ในการจัดทำรายงานสำหรับฝ่าย HR เกี่ยวกับพนักงานและการฝึกอบรม จำเป็นต้องบันทึกวันที่ล่าสุดที่พนักงานแต่ละคนเข้าร่วมการฝึกอบรมด้วย ภารกิจของคุณคือเพิ่ม dimension ใหม่เข้าสู่โมเดลเพื่อบันทึกข้อมูลนี้ เมื่อดำเนินการเสร็จสิ้น fact table จะสมบูรณ์ โดยเชื่อมโยง dimension ทั้งหมดเข้าด้วยกัน:
CREATE TABLE fact_employee_trainings (
fact_id NUMBER(10,0) PRIMARY KEY,
employee_id NUMBER(38,0),
training_id NUMBER(38,0),
date_id NUMBER(10,0),
FOREIGN KEY (employee_id) REFERENCES dim_employees(EMPLOYEE_ID),
FOREIGN KEY (training_id) REFERENCES dim_trainings(TRAINING_ID),
-- Waiting for the date dimension
FOREIGN KEY (date_id) REFERENCES dim_date(date_id)
);
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Data Modeling ใน Snowflake เบื้องต้น
คำแนะนำการฝึกหัด
- สร้าง dimension ใหม่ชื่อ
dim_dateหรือแทนที่หากมีอยู่แล้ว - กำหนด unique identifier ให้กับ entity โดยใช้ชื่อว่า
date_id - เพิ่มแอตทริบิวต์
yearและmonthโดยมีชนิดข้อมูลเป็นNUMBER(4,0)และNUMBER(2,0)ตามลำดับ เพื่อเก็บข้อมูลวันที่
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
-- Create new entity
___ (
-- Add unique identifier
date_id NUMBER(10,0) ___,
-- Add new attributes to register date
___ NUMBER(4,0),
___ NUMBER(2,0)
);