Apa itu Ketergantungan Transitif dalam suatu Basis Data

Hindari Ketergantungan Transitif untuk Membantu Memastikan Normalisasi

Ketergantungan transitif dalam database adalah hubungan tidak langsung antara nilai-nilai dalam tabel yang sama yang menyebabkan ketergantungan fungsional . Untuk mencapai standar normalisasi Third Normal Form (3NF), Anda harus menghilangkan ketergantungan transitif.

Berdasarkan sifatnya, ketergantungan transitif membutuhkan tiga atau lebih atribut (atau kolom basis data) yang memiliki ketergantungan fungsional di antara mereka, yang berarti bahwa Kolom A dalam tabel bergantung pada Kolom B melalui Kolom menengah C.

Mari kita lihat bagaimana ini bisa berhasil.

Contoh Ketergantungan Transitif

PENULIS

Author_ID Penulis Book Author_Nationality
Auth_001 Orson Scott Card Game Ender Amerika Serikat
Auth_001 Orson Scott Card Game Ender Amerika Serikat
Auth_002 Margaret Atwood The Handmaid's Tale Kanada

Dalam contoh AUTHORS di atas:

Tetapi tabel ini memperkenalkan ketergantungan transitif:

Menghindari Ketergantungan Transitif

Untuk memastikan Bentuk Normal Ketiga, mari kita hapus ketergantungan transitif.

Kita bisa mulai dengan menghapus kolom Buku dari tabel Penulis dan membuat tabel Buku terpisah:

BUKU

Book_ID Book Author_ID
Book_001 Game Ender Auth_001
Book_001 Anak-anak Pikiran Auth_001
Book_002 The Handmaid's Tale Auth_002

PENULIS

Author_ID Penulis Author_Nationality
Auth_001 Orson Scott Card Amerika Serikat
Auth_002 Margaret Atwood Kanada

Apakah ini memperbaikinya? Mari kita periksa dependensi kita sekarang:

Tabel BUKU :

AUTHORS table :

Kita perlu menambahkan tabel ketiga untuk menormalkan data ini:

NEGARA

Country_ID Negara
Coun_001 Amerika Serikat
Coun_002 Kanada

PENULIS

Author_ID Penulis Country_ID
Auth_001 Orson Scott Card Coun_001
Auth_002 Margaret Atwood Coun_002

Sekarang kami memiliki tiga tabel, menggunakan kunci asing untuk menghubungkan antar tabel:

Mengapa Ketergantungan Transitif Apakah Desain Database Buruk

Berapakah nilai menghindari ketergantungan transitif untuk membantu memastikan 3NF? Mari pertimbangkan tabel pertama kami lagi dan lihat masalah yang dibuatnya:

PENULIS

Author_ID Penulis Book Author_Nationality
Auth_001 Orson Scott Card Game Ender Amerika Serikat
Auth_001 Orson Scott Card Anak-anak Pikiran Amerika Serikat
Auth_002 Margaret Atwood The Handmaid's Tale Kanada

Desain semacam ini dapat berkontribusi pada anomali data dan inkonsistensi, misalnya:

Ini hanyalah beberapa alasan mengapa normalisasi , dan menghindari ketergantungan transitif, melindungi data dan memastikan konsistensi.