13 hukum codds adalah sebuah kumpulan 13 aturan yang diajukan
oleh Edgar F. "Ted"
Codd, pionir
di bidang model relasional untuk sistem basisdata, yang di desain untuk
menetapkan kriteria-kriteria yang di butuhkan dari sebuah manajemen sistem
basisdata agar dapat dikatakan sebagai relasional. Misalnya RDBMS.
Codds mengajukan hukum-hukum ini sebagai bagian dari kampanye
personal yang dilakukan untuk menjaga visinya atas konsep basisdata relasional
agar tidak hanya menjadi bias, sebagaimana banyak vendor-vendor database yang
berseteru pada awal tahun 1980-an dalam mempaketkan produk-produk basisdata
dengan kata-kata relasional. Dalam kenyataannya ke 13 hukum tersebut sangat
ketat, bahkan sebuah sistem yang hanya memiliki antarmuka dengan menggunakan
bahasa SQL pun gagal memenuhi kriteria-kriteria yang ditetapkan.
Hukum-hukum Codds
1. Hukum 0, suatu sistem harus memenuhi kualifikasi
sebagai relasional, sebagai basisdata, dan sebagai sebuah sistem manajemen.
Agar sebuah sistem dapat dikatakan sebagai sebuah sistem
manajemen berbasis relasional (RDBMS), sistem tersebut harus menggunakan
fasilitas relasionalnya secara penuh untuk memanajemen sistem berbasisdata.
2. Hukum 1, hukum informasi
Seluruh informasi yang terdapat dalam basisdata harus bisa
direpresentasikan hanya dalam satu cara, yaitu dalam bentuk nilai-nilai yang
terisi dalam bentuk tabular baris dan kolom.
3. Hukum 2, hukum jaminan akses
Seluruh data harus bisa diakses tanpa ada kerancuan, hukum ini
merupakan sebuah penegasan dari kebutuhan mendasar atas senuah kunci primer.
Hukum tersebut menjelaskan bahwa setiap nilai skalar dalam basisdata haruslah
memiliki alamat secara loikal dengan cara menspesifikasikan nama dari tabel,
nama dari kolom, dan nilai kunci priemer dari baris data dalam tabel tersebut.
4. Hukum 3, Perlakuan sistematik terhadap nilai null
Sebuah sistem manajemen basisdata harus mengijinkan setiap
field terisi dengan nilai null (kosong). Secara spesifik, ia harus mendukung
representasi dari “hilangnya informasi atau tidak kebergunaannya suatu
informasi” secara sistematis, membedakan dengan jelas dari nilai-nilai yang
lain.
5. Hukum 4, Katalog online yang aktif haruslah berbasis
relasional
Hukum harus mendukung sebuah katalog relasional yang bersifat
online, inline yang bisa di akses oleh pengguna yang sah dalam arti melalui
bahasa query reguler. Lebih jelas lagi, pengguna harus dapat mengakses struktur
data tersebut dengan cara yang sama menggunakan bahasa query yang digunakan pula
untuk mengakses data.
6. Hukum 5, Hukum sub-bahasa data yang komprehensif
Sistem setidaknya harus mendukung satu bahasa relasional yang
memiliki sintaksis linear, dapat digunakan baik secara interaktif maupun melalui
program aplikasi, dan mendukung pendefinisian data (termasuk pendefinisan view),
operasi manipulasi data, aspek kemanan dan pembatasan integritas,
operasi-operasi manajemen transaksi (begin, commit, dan rollback).
7. Hukum 6, hukum pembaruan/update view
Semua view yang secara teoritis dapat di update dalam
implementasinya juga harus dapat di update oleh sistemnya.
8. Hukum 7, level tingkat tinggi dalam operasi insert,
update, dan delete.
Sistem harus mendukung serangkaian operasi-operasi insert,
update, dan delete dalam satu waktu masa yang sama.
9. Hukum 8, data secara fisik bersifat independent
Perubahan pada level fisik (bagaimana suatu data disimpan
menggunakan larik atau senarai berantai) harus tidak mengakibatkan perubahan
pada struktur aplikasi pada level yang lebih tinggi.
10. Hukum 9, data secara logikal bersifat independent
Perubahan pada level logikal (tabel, kolom, dan baris) harus
tidak mengakibatkan perubahan pada struktur di sisi aplikasi pada level yang
lebih tinggi. Hukum ini relatif lebih sulit dicapai dibandingkankan dengan hukum
nomer 8.
11. Hukum 10, integritas data bersifat independen
Integritas data harus dispesifikasikan secara terpisah dari
program aplikasi dan disimpan dalam katalog/struktur dan harus memungkinkan
untuk melakukan perubahan terhadap struktur tersebut ketika dibutuhkan tanpa
memengaruhi aplikasi yang telah ada.
12. Hukum 11, Distribusi yang bersifat independen
Distribusi atas sebagian dari basisdata ke berbagai lokasi
harus dapat diatur sedemikian rupa sehingga tidak terlihat oleh pengguna dari
basisdata tersebut. Begitu pula aplikasi-aplikasi yang ada harus tetap dapat
beroperasi secara normal seperti biasanya ketika:
(a) saat versi dari DBMS yang terdistribusi pertamakali
diperkenalkan; dan/ataupun
(a) ketika data-data yang terdistribusi tersebut
diredistribusikan ke seluruh sistem.
13. Hukum 12, Hukum nonsubversion
Jika sebuah sistem menyediakan antarmuka tingkat rendah, maka
antarmuka tersebut tidak dapat digunakan untuk menggagalkan sistem, sebagai
contoh, membypass aturan-aturan yang terkait dengan keamanan data, ataupun
integritasnya.
0Awesome Comments!