Desain Database, Normalisasi, dan SQL JOIN

Desain database, normalisasi, dan JOIN SQL adalah konsep fundamental dalam mengelola dan memanipulasi data secara efektif dalam database relasional. Kita akan menjelajahi konsep-konsep ini dan hubungan mereka satu sama lain.

Desain Database

Desain database adalah menghasilkan model data terperinci dari database. Model ini berisi semua pilihan desain logis dan fisik dan parameter penyimpanan fisik yang diperlukan untuk menghasilkan desain. Desain yang baik dapat memfasilitasi integritas dan konsistensi data dan membuka jalan bagi operasi manipulasi data yang efisien.

Contoh

Pertimbangkan sistem manajemen perpustakaan yang disederhanakan. Awalnya, kita mungkin memiliki satu tabel yang berisi semua informasi sebagai berikut:

Tabel: library

idbook_titleauthor_nameborrower_name
1Book AAuthor 1Borrower 1
2Book BAuthor 2Borrower 2
3Book CAuthor 1Borrower 3
4Book DAuthor 3Borrower 1

Normalisasi

Normalisasi adalah metode mengorganisir data dalam database untuk menghindari redundansi data, anomali penambahan, anomali pembaruan, dan anomali penghapusan. Proses ini melibatkan mendapatkan data ke ’normal form’ untuk mengurangi redundansi dan ketergantungan dengan merancang skema atau struktur database dengan baik.

Ada beberapa bentuk Normal dalam teori normalisasi:

  • Normal Form Pertama (1NF): Tabel memiliki kunci utama, dan semua kolom bersifat atom, yaitu tidak ada kelompok atau larik yang berulang.
  • Normal Form Kedua (2NF): Sudah berada dalam 1NF, dan semua atribut non-kunci adalah fungsional dan bergantung pada kunci utama.
  • Normal Form Ketiga (3NF): Sudah berada dalam 2NF, tanpa ketergantungan transitif.

Contoh

Untuk menghilangkan redundansi dan inkonsistensi dalam sistem perpustakaan kita, kita dapat menormalisasi data dan membaginya menjadi beberapa tabel:

Tabel: book

idtitleauthor_id
1Book A1
2Book B2
3Book C1
4Book D3

Tabel: author

idname
1Author 1
2Author 2
3Author 3

Tabel: borrower

idname
1Borrower 1
2Borrower 2
3Borrower 3

Tabel: transaction

idbook_idborrower_id
111
222
333
441

Kita menghindari redundansi dan memastikan konsistensi data dengan membagi data menjadi beberapa tabel.

JOIN SQL

JOIN dalam SQL menggabungkan baris dari dua atau lebih tabel berdasarkan kolom terkait. Ada beberapa jenis JOIN SQL:

  • INNER JOIN: Mengembalikan catatan yang memiliki nilai yang cocok di kedua tabel.
  • LEFT (OUTER) JOIN: Mengembalikan semua catatan dari tabel kiri dan catatan yang cocok dari tabel kanan.
  • RIGHT (OUTER) JOIN: Mengembalikan semua catatan dari tabel kanan dan catatan yang cocok dari tabel kiri.
  • FULL (OUTER) JOIN: Mengembalikan semua catatan ketika ada kecocokan di tabel kiri atau kanan.

Contoh

Jika kita ingin mencari tahu buku apa yang dipinjam oleh ‘Borrower 1’, kita bisa menggunakan SQL JOIN untuk menggabungkan data dari tabel ‘book’ dan ’transaction’ berdasarkan ‘book_id’ yang cocok:

SELECT borrower.name, book.title
FROM borrower
JOIN transaction ON borrower.id = transaction.borrower_id
JOIN book ON transaction.book_id = book.id
WHERE borrower.name = 'Borrower 1';

Pernyataan SQL mengembalikan hasil gabungan dari tabel ‘book’ dan ’transaction’ di mana ‘book_id’ cocok.

  1. Desain Database - W3Schools
  2. Normalisasi - GeeksforGeeks
  3. JOIN SQL - Tutorialspoint
  4. Sistem Database: Buku Lengkap oleh Hector Garcia-Molina, Jeffrey D. Ullman, dan Jennifer Widom
  5. SQL dan Teori Relasional: Cara Menulis Kode SQL yang Akurat oleh C.J. Date
Last updated on