Model Data Relasional

Membahas struktur data relasional, key relasional, integritas data relasional dan basis data relasional

M. Ramadhan
Telematika
8 min readAug 31, 2021

--

Daftar Isi

Pendahuluan
Struktur Data Relasional
Relasi, Tuple, Atribut
Karakteristik Relasi
Atribut dan Domain
Derajat dan Kardinalitas Relasi
Key Relasional
Integritas Data Relasional
Integritas Entitas
Integritas Referensial
Integritas Domain
Keunikan Nilai Atribut
Basis Data Relasional
Penutup
Daftar Pustaka

Pendahuluan

Model data adalah abstraksi objek atau peristiwa di dunia nyata yang lebih rumit. Fungsinya adalah untuk membantu memahami kompleksitas lingkungan dunia nyata. Dalam lingkungan basis data, model data merepresentasikan struktur data dan karakteristiknya, kaitan antar data, batasan dan transformasi data, dengan tujuan untuk mendukung domain masalah tertentu.

Model data relasional — sering disingkat dengan sebutan model relasional — pertama kali diperkenalkan oleh Codd (1970), seorang peneliti di IBM Research Laboratory melalui makalahnya berjudul “A Relational Model of Data for Large Shared Data Banks”. Basis data yang menggunakan model relasional disebut basis data relasional. Jadi, basis data relasional adalah implementasi model relasional. Basis data relasional sangat populer. Sede­mikian populernya sehingga kalau ada yang menyebut atau menulis basis data, maksudnya adalah basis data relasional.

RDBMS (Relational Database Management System ‘sistem pengelolaan basis data relasional) adalah perangkat lunak sistem untuk mengelola basis data relasional. Pada akhir 1970-an, proyek System R di IBM’s San Jose Research Laboratory California, merupakan prototipe RDBMS pertama di dunia. Produk RDBMS komersial dari banyak vendor mulai muncul sekitar tahun 1980-an. Kini RDBMS telah menjadi teknologi dominan untuk pengelolaan basis data, dan ada ratusan produk RDBMS untuk berbagai perangkat, mulai dari smartphone, tablet, komputer mikro (laptop, desktop) sampai ke mainframe.

Dalam praktik, singkatan DBMS banyak digunakan sebagai pengganti RDBMS. Singkatan RDBMS digunakan untuk membedakan dengan OODBMS (Object-Oriented Database Management System) dan ORDBMS (Object-Relational Database Management System).

Struktur Data Relasional

Relasi, Tuple, Atribut

Codd (1970) menyatakan bahwa relasi adalah kasus khusus sebuah tabel. Semua relasi adalah tabel, tetapi tidak semua tabel adalah relasi. Kolom relasi disebut atribut dan baris relasi disebut tuple. Lihat Tabel 1. Namun, sebagian praktisi tidak mengguna­kan istilah formal ini; sebaliknya menggunakan istilah tabel, kolom dan baris yang lebih populer di kalangan masyarakat umum. Bahkan istilah table dan column termasuk kata kunci yang digunakan SQL. Jadi, meskipun sebuah tabel belum tentu sebuah relasi, ketika praktisi menyebut tabel, yang dimaksud adalah relasi.

Tabel ‎1 Istilah formal model relasional

Sebagian pengguna basis data, praktisi, penulis, dosen, dsb. memaknai kata relasi sebagai hubungan. Secara semantik mungkin benar, namun kurang tepat kalau berkaitan dengan istilah dalam basis data.

“A relation is a table with columns and rows.” (Connolly & Begg, 2015:152)
“… the term relation is a synonym for table.” (Coronel et.al., 2020:121)
“… in the relational model the term relation is used to refer to a table.” (Silberschatz et.al., 2020:40).

Di kalangan sebagian pemrogram, istilah file, record, dan field lebih disukai sebagai pengganti istilah relasi, tuple, dan atribut. Istilah file digunakan karena pada awalnya satu relasi basis data disimpan dalam sebuah file. Kini satu file boleh jadi menyimpan banyak relasi. Beberapa DBMS, misalnya Microsoft Access dan Microsoft SQL Server, menyimpan satu basis data utuh ke dalam sebuah file. Penggunaan file sebagai alternatif istilah relasi sudah tidak tepat lagi. Tabel 2 merangkum istilah yang berbeda untuk model relasional (Connolly & Begg, 2015:154).

Tabel ‎2 Istilah alternatif model relasional

Karakteristik Relasi

Codd (1970) meletakkan dasar model relasional dengan mendefini­sikan karakteristik relasi. Menurut Connolly dan Begg (2015), sebagaimana terlihat dalam Tabel 3, ada tujuh karakteristik relasi.

Tabel 3 Karakteristik relasi

Coronel dan Morris (2020) menambahkan karakterisitik ke-8: setiap relasi harus memiliki atribut atau kombinasi atribut yang secara unik meng­identifikasi setiap baris. Hal ini merupakan realisasi dari karakter­istik ke-5.

Atribut dan Domain

Nilai sebuah atribut berasal dari domain yang sama. Domain adalah sekumpulan nilai yang valid untuk sebuah atau beberapa atribut. Dengan demikian, tipe data sebuah atribut juga sama. Misalnya, domain atribut golongan darah adalah A, B, O, AB, dengan tipe data string dan panjang maksimum 2 karakter; domain atribut IPK (indeks prestasi kumulatif) mahasiswa adalah 0.0 ≤ IPK ≤ 4.0 dengan tipe data bilangan real.

Derajat dan Kardinalitas Relasi

Derajat relasi adalah jumlah atribut dalam relasi, sedangkan kardinalitas adalah jumlah tuple dalam relasi. Suatu relasi dengan M kolom dan N baris dikatakan berderajat M dan kardinalitas N. Lihat Gambar 1. Relasi Mahasiswa memiliki derajat relasi 5 dan kardinalitas 4, relasi Dosen mempunyai derajat relasi 2 dan kardinalitas 3, relasi Telepon mempunyai derajat relasi 3 dan kardinalitas 4.

Key Relasional

Dalam model relasional, key penting karena digunakan untuk memastikan bahwa setiap baris dalam relasi dapat diidentifikasi secara unik. Key juga digunakan untuk membangun hubungan antar relasi dan untuk memastikan integritas data. Key terdiri atas satu atau beberapa atribut yang menentukan atribut lainnya. Misalnya, nomor faktur mengidentifikasi semua atribut faktur, seperti tanggal faktur dan nama pelanggan; ISBN mengidentifikasi semua atribut buku, seperti judul dan tahun terbit. Pada bagian ini akan dibahas candidate key, primary key, secondary key, alternate key, dan foreign key.

Candidate key adalah sebuah atribut atau sekumpulan atribut minimum yang nilainya unik sehingga dapat digunakan untuk mengidentifikasi setiap tuple dalam sebuah relasi. Dalam sebuah relasi boleh jadi ada beberapa candidate key. Candidate key yang dipilih untuk mengidentifikasi tuple dalam relasi disebut primary key. Candidate key yang tidak dipilih sebagai primary key disebut secondary key atau alternate key. Lihat relasi Mahasiswa pada Gambar 1. Atribut NIM dan eMail bernilai unik, sehingga dapat dipilih sebagai candidate key. Dari kedua candidate key tersebut, karena basis data akan digunakan di perguruan tinggi, NIM adalah yang paling tepat untuk dipilih sebagai primary key, sehingga eMail menjadi secondary key atau disebut juga alternate key.

Hubungan antar relasi ditentukan melalui foreign key dan primary key. Foreign key adalah sebuah atau sekumpulan atribut dalam sebuah relasi yang mengacu ke primary key relasi lain atau relasi yang sama. Dengan demikian, nilai foreign key harus ada dalam primary key yang diacu. Lihat relasi Mahasiswa dan Dosen pada Gambar 1. Kedua relasi terhubung melalui foreign key NidnPA relasi Mahasiswa dan primary key NIDN relasi Dosen.

Gambar 1 Contoh model data relasional

Key yang terdiri atas sekumpulan atribut (kombinasi beberapa atribut) disebut key komposit. Dengan demikian, ada candidate key komposit, primary key komposit, dan foreign key komposit. Lihat relasi Telepon pada Gambar 1. Tidak satu pun dari atribut NIM, NoTelepon, atau Keterangan yang memenuhi syarat sebagai primary key karena nilainya tidak unik. Oleh karena itu, digunakan kombinasi dua atribut. Gabungan atribut NIM dan NoTelepon, memenuhi syarat sebagai composite primary key.

Integritas Data Relasional

Model data relasional mencakup beberapa jenis kendala atau aturan yang membatasi nilai dan tindakan yang dapat diterima. Tujuannya adalah untuk menjamin keakuratan dan integritas data. Kendala integritas mencakup integritas entitas, integritas referensial, integritas domain, dan keunikan nilai atribut.

Integritas Entitas

Aturan integritas entitas dirancang untuk memastikan bahwa setiap relasi memiliki primary key dan semua nilai datanya valid. Dengan demikian, atribut primary key tidak boleh null (kosong). Null merepresentasikan nilai yang belum diketahui. Null tidak sama dengan nol atau spasi.

Integritas Referensial

Dalam model data relasional, asosiasi antar relasi didefinisi­kan melalui foreign key. Kendala integritas referensial adalah aturan yang menjamin konsistensi di antara baris dua relasi. Aturannya menyatakan bahwa jika foreign key ada dalam sebuah relasi, maka nilainya harus cocok dengan nilai primary key dalam relasi lain atau relasi yang sama yang terhubung, atau nilainya boleh null (kosong).

Lihat kembali Gambar 1. Nilai foreign key NIM pada relasi Telepon harus ada di primary key NIM pada relasi Mahasiswa. Begitu pula nilai foreign key NidnPA pada relasi Mahasiswa harus cocok dengan nilai primary key NIDN pada relasi Dosen. Nilai foreign key boleh kosong sebagaimana terlihat pada NidnPA di baris ketiga pada relasi Mahasiswa. Ini berarti bahwa bagi mahasiswa tersebut belum ditetapkan siapa dosen pembimbing akademiknya. Tidak setiap relasi memiliki foreign key, misalnya relasi Dosen tidak memiliki foreign key.

Integritas Domain

Semua nilai yang muncul di suatu atribut relasi harus berasal dari domain yang sama. Domain adalah kumpulan nilai yang valid untuk sebuah atau beberapa atribut. Domain didefini­si­kan pada waktu pendefinisian relasi. Kode pos misalnya, nilainya harus angka tetapi bertipe string dengan panjang tetap lima digit; golongan darah A, B, O atau AB dengan tipe data string dan panjang maksimum 2 karakter; IPK (indeks prestasi kumulatif) mahasiswa paling rendah bernilai 0,0 dan paling tinggi 4,0 dengan tipe data bilangan real. Dengan pendefinisian domain, DBMS memastikan basis data hanya akan memerima data yang benar yaitu data yang ada di dalam domain.

Keunikan Nilai Atribut

Adakalanya nilai sebuah atau sekumpulan atribut tidak boleh ada yang sama (harus unik), misalnya, candidate key yang tidak dipilih sebagai primary key. Sebagai contoh, atribut eMail pada relasi Mahasiswa adalah secondary key atau disebut juga alternate key. Atribut yang demikian harus didefi­nisikan sebagai atribut unik ketika mendefinisikan relasi sehingga duplikasi data dapat dicegah.

Basis Data Relasional

Sebuah basis data relasional terdiri atas sejumlah relasi. Skema relasi adalah nama relasi diikuti sekumpulan atribut. Dengan demikian, skema basis data relasional adalah kumpulan skema relasi dalam basis data tersebut.

Sebagai contoh, berikut adalah skema basis data buku yang terdiri atas empat skema relasi sebagai berikut:

Keterkaitan antar relasi dapat dilihat dari atribut foreign key yang digarisbawahi dengan garis terputus-putus yang terhubung ke atribut primary key yang digarisbawahi dengan garis menerus.

Basis data relasional adalah implementasi model relasional. Implementasinya menggunakan tools atau SQL (Structured Query Language) yang ada di RDBMS (Relational Database Management System). Berikut adalah contohnya.

Gambar 2 Contoh model relasional

Model relasional pada Gambar 2 diimplementasikan dengan menggunakan RDBMS SQL Server dengan skrip SQL sebagai berikut.

CREATE DATABASE PA_Mahasiswa
GO
USE PA_Mahasiswa
GO
CREATE TABLE Dosen (
NIDN CHAR(6) PRIMARY KEY,
Nama VARCHAR(20)
)
GO
CREATE TABLE Mahasiswa (
NIM CHAR(4) PRIMARY KEY,
Nama VARCHAR(15),
Email VARCHAR(24),
IPK DECIMAL(3,2),
NidnPA CHAR(3),
CHECK (IPK BETWEEN 0.0 AND 4.0),
UNIQUE (Email),
FOREIGN KEY(NidnPA) REFERENCES Dosen(NIDN)
)
GO
CREATE TABLE Telepon (
NIM CHAR(4),
NoTelepon VARCHAR(14),
Keterangan VARCHAR(10),
PRIMARY KEY (NIM,NoTelepon),
FOREIGN KEY (NIM) REFERENCES Mahasiswa(NIM)
)

Tabel yang menjadi acuan foreign key harus dibuat terlebih dahulu. Dengan demikian, urutan pembuatan tabel: (1) Dosen, (2) Mahasiswa, (3) Telepon. Yang dicetak tebal adalah contoh penerapan integritas data relasional:
• integritas entitas menggunakan kata kunci PRIMARY KEY
• integritas referensial menggunakan kata kunci FOREIGN KEY
• domain menggunakan kata kunci CHECK
• keunikan nilai atribut (alternate key) menggunakan kata kunci UNIQUE.

Penutup

Beragam istilah digunakan untuk menggambarkan model relasional, salah satunya relasi. Setiap relasi adalah tabel, tetapi tidak setiap tabel adalah relasi karena relasi memiliki karakteristik tersendiri. Untuk menjamin keakuratan dan integritas data, ada aturan integritas mencakup integritas entitas, integritas referensial, domain, dan keunikan nilai atribut.

Basis data yang menggunakan model relasional disebut basis data relasional. Jadi, basis data relasional adalah implementasi model relasional. Basis data relasional sangat populer. Sede­mikian populernya sehingga kalau ada yang menyebut atau menulis basis data, maksudnya adalah basis data relasional.

--

--

M. Ramadhan
Telematika

I’m a database designer and developer, childhood in Menggala, living in Palembang.