Materi
Banyak basis data lahir dari satu lembar kerja: setiap transaksi satu baris, dan semua yang diketahui tentang transaksi itu ditulis di kolom sebelahnya. Panduan desain Microsoft Access menyebut prinsip pertama desain basis data adalah menghindari informasi ganda, karena informasi ganda memboroskan ruang dan memperbesar peluang kesalahan dan data yang tidak konsisten. Masalahnya muncul dalam tiga bentuk yang disebut anomali.
| no_pinjam | anggota | alamat_anggota | judul_buku | penerbit |
|---|---|---|---|---|
| 1 | Wati | Jl. Kenari 3 | Laskar Senja | Pena Raya |
| 2 | Wati | Jl. Kenari 3 | Kota Kabut | Pena Raya |
| 3 | Yogi | Jl. Cemara 8 | Laskar Senja | Pena Raya |
Anomali ubah: alamat Wati tersimpan di dua baris. Bila Wati pindah dan hanya satu baris disunting, tabel menyimpan dua alamat untuk orang yang sama. Anomali hapus: Microsoft mencontohkan pemasok yang hanya memasok satu produk; menghapus baris produk itu ikut menghapus satu-satunya catatan pemasoknya, karena setiap baris memuat fakta tentang keduanya. Pada tabel di atas, menghapus peminjaman nomor 3 menghapus semua yang diketahui tentang Yogi.
Anomali sisip adalah sisi lain dari hal yang sama. Setiap baris tabel peminjaman berarti satu peminjaman, jadi buku baru yang belum pernah dipinjam tidak punya tempat kecuali dengan membuat baris peminjaman palsu. Obatnya, menurut Microsoft dan OpenStax, sama untuk ketiganya: catat setiap fakta sekali saja, di tabel yang membahas subjek fakta itu, lalu hubungkan tabel-tabelnya. Proses itu disebut normalisasi dan dibahas di modul 3.