관계형 데이터의 키

Snowflake로 시작하는 데이터 모델링

Nuno Rocha

Director of Engineering

관계형 데이터 소개

많은 제품으로 복잡해진 엔티티

Snowflake로 시작하는 데이터 모델링

관계형 데이터 소개 (1)

  • 관계형 데이터: 개별 엔티티와 그들 간 관계를 정의하는 키로 구성된 구조화 데이터

세 개의 개별 엔티티로 분리된 products

Snowflake로 시작하는 데이터 모델링

관계형 데이터에서 키의 역할

  • 데이터 구조와 무결성: 키는 데이터를 테이블로 조직하고 정확성을 유지합니다
  • 현실 연결: 키는 의미 있는 연결을 만들고 복잡한 상호작용을 반영합니다
  • 효율적 접근: 키는 데이터 검색과 질의를 간소화합니다
  • 확장성: 키는 성장해도 무결성을 보장합니다
Snowflake로 시작하는 데이터 모델링

기본 키와 외래 키 정리

  • 기본 키(Primary Key): 엔티티의 각 레코드를 고유하게 식별
CREATE OR REPLACE TABLE products (
    id NUMBER(10,0) PRIMARY KEY,
    name VARCHAR(255)
);
Snowflake로 시작하는 데이터 모델링

기본 키와 외래 키 정리 (1)

  • 기본 키(Primary Key): 엔티티의 각 레코드를 고유하게 식별
  • 외래 키(Foreign Key): 한 엔티티를 다른 엔티티와 연결
CREATE OR REPLACE TABLE products (
    product_id NUMBER(10,0) PRIMARY KEY,
    product_name VARCHAR(255)


);
Snowflake로 시작하는 데이터 모델링

기본 키와 외래 키 정리 (2)

  • 기본 키(Primary Key): 엔티티의 각 레코드를 고유하게 식별
  • 외래 키(Foreign Key): 한 엔티티를 다른 엔티티와 연결
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)
);
Snowflake로 시작하는 데이터 모델링

데이터 모델의 관계

products, manufacturers, product details 엔티티를 포함한 데이터 모델

Snowflake로 시작하는 데이터 모델링

데이터 모델의 관계 (1)

새로운 categories 엔티티

Snowflake로 시작하는 데이터 모델링

데이터 모델 조정

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

categories 엔티티의 products 엔티티에 대한 카디널리티

Snowflake로 시작하는 데이터 모델링

데이터 모델 조정 (1)

ALTER TABLE products
ADD COLUMN category_id NUMBER(10,0);
ALTER TABLE products
ADD FOREIGN KEY (category_id) REFERENCES categories(category_id);
Snowflake로 시작하는 데이터 모델링

데이터 모델 조정 (2)

products의 최종 물리 모델

Snowflake로 시작하는 데이터 모델링

용어 및 기능 요약

  • 관계형 데이터: 개별 엔티티와 그들 간 관계를 정의하는 키로 구성된 구조화 데이터
  • ALTER TABLE: 기존 엔티티 구조를 수정하는 SQL 명령
  • ADD: ALTER TABLE과 함께 사용되어 엔티티에 새 요소를 추가
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);
Snowflake로 시작하는 데이터 모델링

Ayo berlatih!

Snowflake로 시작하는 데이터 모델링

Preparing Video For Download...