Menormalkan Data Relasional

Pengantar Pemodelan Data di Snowflake

Nuno Rocha

Director of Engineering

Memahami data tidak ternormalisasi

  • Data tidak ternormalisasi (UNF): Data yang mungkin tanpa struktur, tidak terorganisasi, berisi pengulangan dan/atau anomali

Entitas semua produk

Pengantar Pemodelan Data di Snowflake

Memahami data tidak ternormalisasi

Anomali pada entitas semua produk

Pengantar Pemodelan Data di Snowflake

Memahami data tidak ternormalisasi

Anomali pada pisang disorot

Pengantar Pemodelan Data di Snowflake

Memahami data tidak ternormalisasi (3)

Anomali pada produsen disorot

Pengantar Pemodelan Data di Snowflake

Memahami data tidak ternormalisasi (4)

Anomali pada deskripsi rinci disorot

Pengantar Pemodelan Data di Snowflake

Memahami data tidak ternormalisasi (5)

Anomali pada produk disorot

Pengantar Pemodelan Data di Snowflake

Masalah pada data tidak ternormalisasi

  • Redundansi data: Pengulangan data yang tidak perlu
  • Anomali data: Ketidakteraturan atau ketidakkonsistenan pada data

Anomali pada entitas semua produk

Pengantar Pemodelan Data di Snowflake

Mengidentifikasi data tidak ternormalisasi

SELECT manufacturer_id, 
       manufacturer_name, 
       location, 
       COUNT(*) AS repetitions
FROM allproducts
GROUP BY manufacturer_id, 
    manufacturer_name, 
    location
HAVING COUNT(*) > 1;

Daftar produsen dengan jumlah pengulangan produk

Pengantar Pemodelan Data di Snowflake

Mengidentifikasi data tidak ternormalisasi

SELECT DISTINCT category 
FROM allproducts;

Daftar kategori

Pengantar Pemodelan Data di Snowflake

Mengidentifikasi data tidak ternormalisasi

SELECT DISTINCT product_name,
    category
FROM allproducts
WHERE category = 'L';

Daftar produk dengan kategori L

Pengantar Pemodelan Data di Snowflake

Mengidentifikasi data tidak ternormalisasi

SELECT DISTINCT product_name,
    category
FROM allproducts
WHERE category = 'L';

Daftar semua produk yang mengandung L

Pengantar Pemodelan Data di Snowflake

Data ternormalisasi

  • Data ternormalisasi: Data yang diorganisasi menjadi entitas terpisah dan atomik
  • Manfaat:
    • Meningkatkan akurasi dan keandalan data
    • Meningkatkan kinerja kueri
    • Penggunaan sumber daya optimal
    • Skalabilitas
Pengantar Pemodelan Data di Snowflake

Ikhtisar terminologi dan fungsi

  • Data tidak ternormalisasi (UNF): Data yang mungkin tanpa struktur, tidak terorganisasi, atau berisi pengulangan atau anomali
  • Data ternormalisasi: Data yang diorganisasi menjadi entitas terpisah dan atomik
  • SELECT FROM: Klausa SQL untuk mengambil data dari entitas tertentu
  • DISTINCT: Klausa SQL untuk mengembalikan nilai unik dari suatu atribut
  • COUNT: Klausa SQL untuk menghitung baris yang cocok dengan kriteria
  • GROUP BY: Klausa SQL untuk mengelompokkan baris dengan nilai yang sama berdasarkan atribut tertentu
  • HAVING: Klausa SQL bersama GROUP BY untuk memfilter grup berdasarkan kondisi
  • WHERE: Klausa SQL untuk memfilter rekaman berdasarkan kondisi
  • AS: Klausa SQL untuk memberi alias pada kolom atau tabel
Pengantar Pemodelan Data di Snowflake

Ikhtisar fungsi

-- Query nilai unik dengan kondisi tertentu
SELECT DISTINCT column_name
FROM table_name
WHERE column_name  condition  value;
-- Menghitung nilai yang diagregasi oleh kolom tertentu sambil memfilter hasil
SELECT column_name, 
    COUNT(*) AS alias_name
FROM table_name
GROUP BY column_name
HAVING COUNT(*)  condition  value;
Pengantar Pemodelan Data di Snowflake

Ayo berlatih!

Pengantar Pemodelan Data di Snowflake

Preparing Video For Download...