Sleutels voor relationele data

Introductie tot datamodellering in Snowflake

Nuno Rocha

Director of Engineering

Introductie tot relationele data

Entiteit volgepakt met veel producten

Introductie tot datamodellering in Snowflake

Introductie tot relationele data (1)

  • Relationele data: Gestructureerde data, verdeeld over losse entiteiten met sleutels die relaties leggen

Producten opgesplitst in drie losse entiteiten

Introductie tot datamodellering in Snowflake

De kracht van sleutels in relationele data

  • Datastructuur & integriteit: Sleutels organiseren data in tabellen en bewaken juistheid
  • Echte-wereldkoppelingen: Sleutels leggen zinvolle links en vangen complexe interacties
  • Efficiënte toegang: Sleutels versnellen ophalen en query's
  • Schaalbaarheid: Sleutels laten data meegroeien met behoud van integriteit
Introductie tot datamodellering in Snowflake

Herhaling: primary en foreign keys

  • Primary Key: Unieke identificatie van elk record in een entiteit
CREATE OR REPLACE TABLE products (
    id NUMBER(10,0) PRIMARY KEY,
    name VARCHAR(255)
);
Introductie tot datamodellering in Snowflake

Herhaling: primary en foreign keys (1)

  • Primary Key: Unieke identificatie van elk record in een entiteit
  • Foreign Key: Verbindt de ene entiteit met een andere
CREATE OR REPLACE TABLE products (
    product_id NUMBER(10,0) PRIMARY KEY,
    product_name VARCHAR(255)


);
Introductie tot datamodellering in Snowflake

Herhaling: primary en foreign keys (2)

  • Primary Key: Unieke identificatie van elk record in een entiteit
  • Foreign Key: Verbindt de ene entiteit met een andere
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)
);
Introductie tot datamodellering in Snowflake

Relaties in het datamodel

Datamodel met entiteiten products, manufacturers en product details

Introductie tot datamodellering in Snowflake

Relaties in het datamodel (1)

Nieuwe entiteit categories

Introductie tot datamodellering in Snowflake

Het datamodel aanpassen

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

Cardinaliteit van entiteit categories naar entiteit products

Introductie tot datamodellering in Snowflake

Het datamodel aanpassen (1)

ALTER TABLE products
ADD COLUMN category_id NUMBER(10,0);
ALTER TABLE products
ADD FOREIGN KEY (category_id) REFERENCES categories(category_id);
Introductie tot datamodellering in Snowflake

Het datamodel aanpassen (2)

Definitief fysiek model voor products

Introductie tot datamodellering in Snowflake

Overzicht: termen en functies

  • Relationele data: Gestructureerde data, verdeeld over losse entiteiten met sleutels die relaties leggen
  • ALTER TABLE: SQL-opdracht om de structuur van een bestaande entiteit te wijzigen
  • ADD: SQL-opdracht, met ALTER TABLE, om nieuwe elementen aan de entiteit toe te voegen
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);
Introductie tot datamodellering in Snowflake

Laten we oefenen!

Introductie tot datamodellering in Snowflake

Preparing Video For Download...