Belajar Mysql Part 4 : Pengertian Database Relation Database
Pengertian Database Dalam Relation Databases
Dalam relational database model, sebuah database adalah kumpulan relasi yang
saling terhubung satu sama lainnya. Relasi adalah istilah dalam relational
database, tapi kita lebih familiar jika menyebutnya sebagai tabel. Selayaknya
tabel yang memiliki kolom dan baris, dalam relational database, kolom (column)
disebut attribute, sedangkan baris (row) disebut tuple. Hal ini hanya sekedar
penamaan, dan agar lebih gampang, kita hanya akan menggunakan istilah tabel,
kolom dan baris dalam tutorial ini, namun jika anda menemui istilah relation,
attribut dan tuple, itu hanya penamaan lain dari tabel, kolom, dan baris.
saling terhubung satu sama lainnya. Relasi adalah istilah dalam relational
database, tapi kita lebih familiar jika menyebutnya sebagai tabel. Selayaknya
tabel yang memiliki kolom dan baris, dalam relational database, kolom (column)
disebut attribute, sedangkan baris (row) disebut tuple. Hal ini hanya sekedar
penamaan, dan agar lebih gampang, kita hanya akan menggunakan istilah tabel,
kolom dan baris dalam tutorial ini, namun jika anda menemui istilah relation,
attribut dan tuple, itu hanya penamaan lain dari tabel, kolom, dan baris.
Candidate Key (Kunci Kandidat)
Database dalam relational database dapat diserhanakan sebagai sekumpulan
tabel yang saling terhubung. Setiap baris dari dalam tabel setidaknya harus
memiliki sebuah kolom yang unik. Unik disini maksudnya tidak boleh sama.
Contohnya, dalam tabel 4.1 : tabel data_mahasiswa, kolom NIM (Nomor Induk
Mahasiswa) akan menjadi kandidat yang bagus, karena tidak mungkin ada 2
mahasiswa yang memiliki NIM yang sama. NIM disini disebut juga dengan
Candidate Key (Kunci Kandidat). Candidate Key adalah satu atau beberapa
kolom dalam tabel yang bisa mengidentifikasi tiap baris dari tabel tersebut.
tabel yang saling terhubung. Setiap baris dari dalam tabel setidaknya harus
memiliki sebuah kolom yang unik. Unik disini maksudnya tidak boleh sama.
Contohnya, dalam tabel 4.1 : tabel data_mahasiswa, kolom NIM (Nomor Induk
Mahasiswa) akan menjadi kandidat yang bagus, karena tidak mungkin ada 2
mahasiswa yang memiliki NIM yang sama. NIM disini disebut juga dengan
Candidate Key (Kunci Kandidat). Candidate Key adalah satu atau beberapa
kolom dalam tabel yang bisa mengidentifikasi tiap baris dari tabel tersebut.
Nomor KTP juga merupakan candidate key yang bagus, setidaknya setiap orang
akan memiliki Nomor KTP yang berbeda-beda. Namun dalam beberapa kasus,
nomor KTP tidak selalu ada, karena bisa saja seseorang belum memiliki KTP
karena sesuatu dan lain hal. Beberapa karakteristik Candidate key : unik (tidak
boleh berulang), tidak boleh memiliki nilai null (kosong), nilai dari candidate key
akan sangat jarang berubah.
akan memiliki Nomor KTP yang berbeda-beda. Namun dalam beberapa kasus,
nomor KTP tidak selalu ada, karena bisa saja seseorang belum memiliki KTP
karena sesuatu dan lain hal. Beberapa karakteristik Candidate key : unik (tidak
boleh berulang), tidak boleh memiliki nilai null (kosong), nilai dari candidate key
akan sangat jarang berubah.
Primary Key (Kunci Utama)
Primary key (kunci utama). Primary key adalah salah satu candidate key yang
kita nobatkan sebagai kolom unik untuk identifikasi baris dalam tabel. Kolom ini
tidak boleh berulang, dan tidak boleh kosong (null). Dari tabel data_mahasiswa,
NIM dapat kita tetapkan sebagai primary key.
kita nobatkan sebagai kolom unik untuk identifikasi baris dalam tabel. Kolom ini
tidak boleh berulang, dan tidak boleh kosong (null). Dari tabel data_mahasiswa,
NIM dapat kita tetapkan sebagai primary key.
Foreign Key (Kunci Tamu)
Foreign Key (Kunci Tamu) adalah Primary key dari tabel lainnya yang
terdapat di tabel saat ini. Di dalam contoh tabel gambar di bawah : Tabel
data_mahasiswa dapat terlihat bahwa NIM adalah primary key dari tabel
data_mahasiswa, dan kode_jurusan adalah primary key pada tabel_jurusan.
Kedua tabel tersebut dihubungkan oleh kolom kode jurusan.
terdapat di tabel saat ini. Di dalam contoh tabel gambar di bawah : Tabel
data_mahasiswa dapat terlihat bahwa NIM adalah primary key dari tabel
data_mahasiswa, dan kode_jurusan adalah primary key pada tabel_jurusan.
Kedua tabel tersebut dihubungkan oleh kolom kode jurusan.
Table data_mahasiswa
Tabel kode_jurusan
Dalam tabel_mahasiswa, kolom NIM adalah primary key, dan kolom kode
jurusan adalah foreign key. Kenapa tabel tersebut harus dipisah? Jawabanya
adalah agar tidak ada data yang redundan (ganda). Redundansi data adalah
salah satu kelemahan dari desain database yang kita buat. Seandainya dari
contoh tabel, nama Jurusan Ilmu Komputer berubah menjadi Teknik Informatika,
kita hanya tinggal merubah tabel_jurusan.
jurusan adalah foreign key. Kenapa tabel tersebut harus dipisah? Jawabanya
adalah agar tidak ada data yang redundan (ganda). Redundansi data adalah
salah satu kelemahan dari desain database yang kita buat. Seandainya dari
contoh tabel, nama Jurusan Ilmu Komputer berubah menjadi Teknik Informatika,
kita hanya tinggal merubah tabel_jurusan.
Sumber:
1. http://en.wikipedia.org/wiki/Relational_database
2. http://en.wikipedia.org/wiki/Database_normalization
No comments