Database Design Theory & Normalization
Terkait semantik atribut-atribut relasi
<aside> 💡 hanya foreign key yg digunakan untuk mengacu ke relasi lain
</aside>
Terkait data berulang dan update anomaly
insertion anomaly
kalo dua entity digabung dalam satu relationship, insertion salah satu entity saja artinya akan membuat entitiy yang lainnya harus ikut ditambahkan atau bernilai null.
contoh: relasi emp_dept, kalo mau insert employee aja, dept nya harus ikutan ada atau harus nilai null.
deletion anomaly
kalo ada anomaly, entity yang satu mau dihapus, entity yang lainnya ikutan kehapus.
contoh: relasi emp_dept, kalo mau delete employee satu, maka department employee tersebut ikutan kehapus.
modification anomaly
modification tuple jadi harus diikuti tuple yang lain yang menyimpan informasi yang sama supaya database konsisten
contoh: relasi emp_dept, kalo departement research mau diupdate, semua tuple yang departement nya research juga harus ikut diupdate.
<aside> 💡 rancanglah skema yang bebas dari anomali. kalau ada, perlu dicatat dan ditangani oleh aplikasi
</aside>
Terkait nilai null
<aside> 💡 relations harus dirancang agar nilai null pada baris2nya sesedikit mungkin
</aside>
Terkait spurious tuples
Akibat yang ditimbulkan karena kesalahan mendefiniskan relasi:
<aside> 🔺 Let A,B be sets of attributes we write A→B or say A functionally determines B if for any tuples $t_1$ and $t_2$: $t_1[A]=t_2[A]$ implies $t_1[B]=t_2[B]$ and we call A→B a functional dependency
</aside>