Keys สำหรับข้อมูลเชิงสัมพันธ์

Data Modeling ใน Snowflake เบื้องต้น

Nuno Rocha

Director of Engineering

ข้อมูลเชิงสัมพันธ์เบื้องต้น

Entity ที่มีสินค้าจำนวนมาก

Data Modeling ใน Snowflake เบื้องต้น

ข้อมูลเชิงสัมพันธ์เบื้องต้น (1)

  • ข้อมูลเชิงสัมพันธ์: ข้อมูลที่มีโครงสร้าง จัดเป็น entity แต่ละหน่วยและใช้ key สร้างความสัมพันธ์ระหว่างกัน

สินค้าที่แบ่งออกเป็นสาม entity

Data Modeling ใน Snowflake เบื้องต้น

พลังของ Key ในข้อมูลเชิงสัมพันธ์

  • โครงสร้างและความถูกต้องของข้อมูล: Key จัดระเบียบข้อมูลในตารางและรักษาความแม่นยำ
  • ความสัมพันธ์ในโลกจริง: Key สร้างการเชื่อมโยงที่มีความหมายและสะท้อนปฏิสัมพันธ์ที่ซับซ้อน
  • การเข้าถึงที่มีประสิทธิภาพ: Key ช่วยให้ดึงข้อมูลและทำ query ได้รวดเร็ว
  • ความสามารถในการขยาย: Key ช่วยให้ข้อมูลรองรับการเติบโตโดยไม่สูญเสียความสมบูรณ์
Data Modeling ใน Snowflake เบื้องต้น

ทบทวน Primary Key และ Foreign Key

  • Primary Key: ตัวระบุเฉพาะของแต่ละระเบียนใน entity
CREATE OR REPLACE TABLE products (
    id NUMBER(10,0) PRIMARY KEY,
    name VARCHAR(255)
);
Data Modeling ใน Snowflake เบื้องต้น

ทบทวน Primary Key และ Foreign Key (1)

  • Primary Key: ตัวระบุเฉพาะของแต่ละระเบียนใน entity
  • Foreign Key: เชื่อม entity หนึ่งกับอีก entity หนึ่ง
CREATE OR REPLACE TABLE products (
    product_id NUMBER(10,0) PRIMARY KEY,
    product_name VARCHAR(255)


);
Data Modeling ใน Snowflake เบื้องต้น

ทบทวน Primary Key และ Foreign Key (2)

  • Primary Key: ตัวระบุเฉพาะของแต่ละระเบียนใน entity
  • Foreign Key: เชื่อม entity หนึ่งกับอีก entity หนึ่ง
CREATE OR REPLACE TABLE products (
    product_id NUMBER(10,0) PRIMARY KEY,
    product_name VARCHAR(255),
    manufacturer_id NUMBER(10,0),
    FOREIGN KEY (manufacturer_id) REFERENCES manufacturers(manufacturer_id)
);
Data Modeling ใน Snowflake เบื้องต้น

ความสัมพันธ์ใน Data Model

Data model ที่ประกอบด้วย entity สินค้า ผู้ผลิต และรายละเอียดสินค้า

Data Modeling ใน Snowflake เบื้องต้น

ความสัมพันธ์ใน Data Model (1)

Entity categories ใหม่

Data Modeling ใน Snowflake เบื้องต้น

ปรับปรุง Data Model

CREATE OR REPLACE TABLE categories (
  category_id NUMBER(10,0) PRIMARY KEY,
  category VARCHAR(255)
);

Cardinality ของ entity categories ต่อ entity สินค้า

Data Modeling ใน Snowflake เบื้องต้น

ปรับปรุง Data Model (1)

ALTER TABLE products
ADD COLUMN category_id NUMBER(10,0);
ALTER TABLE products
ADD FOREIGN KEY (category_id) REFERENCES categories(category_id);
Data Modeling ใน Snowflake เบื้องต้น

ปรับปรุง Data Model (2)

Physical model สุดท้ายสำหรับสินค้า

Data Modeling ใน Snowflake เบื้องต้น

สรุปคำศัพท์และฟังก์ชัน

  • ข้อมูลเชิงสัมพันธ์: ข้อมูลที่มีโครงสร้าง จัดเป็น entity แต่ละหน่วยและใช้ key สร้างความสัมพันธ์ระหว่างกัน
  • ALTER TABLE: คำสั่ง SQL สำหรับแก้ไขโครงสร้างของ entity ที่มีอยู่
  • ADD: คำสั่ง SQL ใช้ร่วมกับ ALTER TABLE เพื่อเพิ่มองค์ประกอบใหม่ใน entity
ALTER TABLE table_name
ADD COLUMN column_name column_datatype;

ALTER TABLE table_name
ADD PRIMARY KEY (column_name);

ALTER TABLE table_name
ADD FOREIGN KEY (column_name) REFERENCES foreign_table(PK_from_foreign_table);
Data Modeling ใน Snowflake เบื้องต้น

มาฝึกกันเถอะ!

Data Modeling ใน Snowflake เบื้องต้น

Preparing Video For Download...