リレーショナルデータのキー

Snowflakeで学ぶデータモデリング入門

Nuno Rocha

Director of Engineering

リレーショナルデータ入門

多数の製品で混雑したエンティティ

Snowflakeで学ぶデータモデリング入門

リレーショナルデータ入門 (1)

  • リレーショナルデータ: 個別エンティティとキーで構造化し、相互関係を定義

製品を3つの個別エンティティに分割

Snowflakeで学ぶデータモデリング入門

リレーショナルデータにおけるキーの力

  • データ構造と整合性: キーで表を整理し、正確性を維持
  • 現実世界の関係: キーで有意な関連を作り、複雑な相互作用を表現
  • 効率的なアクセス: キーで検索とクエリを高速化
  • スケーラビリティ: 成長しても整合性を保つ
Snowflakeで学ぶデータモデリング入門

主キーと外部キーの復習

  • 主キー: 各レコードを一意に識別
CREATE OR REPLACE TABLE products (
    id NUMBER(10,0) PRIMARY KEY,
    name VARCHAR(255)
);
Snowflakeで学ぶデータモデリング入門

主キーと外部キーの復習 (1)

  • 主キー: 各レコードを一意に識別
  • 外部キー: エンティティ同士を関連付け
CREATE OR REPLACE TABLE products (
    product_id NUMBER(10,0) PRIMARY KEY,
    product_name VARCHAR(255)


);
Snowflakeで学ぶデータモデリング入門

主キーと外部キーの復習 (2)

  • 主キー: 各レコードを一意に識別
  • 外部キー: エンティティ同士を関連付け
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で学ぶデータモデリング入門

データモデルのリレーションシップ

製品、メーカー、製品詳細エンティティを含むデータモデル

Snowflakeで学ぶデータモデリング入門

データモデルのリレーションシップ (1)

新しいカテゴリエンティティ

Snowflakeで学ぶデータモデリング入門

データモデルの調整

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

カテゴリエンティティから製品エンティティへのカーディナリティ

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)

製品の最終的な物理モデル

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で学ぶデータモデリング入門

練習に進みましょう!

Snowflakeで学ぶデータモデリング入門

Preparing Video For Download...