Model Data Relasional Dr. Ema Utami, S.Si, M.Kom STMIK AMIKOM Yogyakarta
Model Data Relasional
Kompetensi Dasar: mengetahui konsep model data relasional
Indikator: 1. Mampu mendefinisikan model data
2. Mampu menjelaskan model data relasional
3. Mampu memberikan contoh penerapan pemodelan data relasional
Model Data
Berfungsi untuk menggambarkan:
1. data
2. hubungan antardata
3. semantik / makna data
4. batasan data
dalam BD
Model Relasional
Menggunakan model berupa kumpulan tabel
berdimensi dua utk merepresentasikan data &
relasi antar data-data tsb
Memakai kunci tamu (foreign key) sebagai
penghubung dengan tabel lain
Komponen-Komponen
1. Basis Data Kumpulan data yang disusun secara
logis & disimpan dengan beberapa cara pengorganisasian.
2. Tabel File terstruktur yg dpt menyimpan data
dgn tipe khusus.
Tabel dpt berisi daftar pelanggan, katalog produk, dll
Tabel bisa dikatakan daftar data terstruktur dgn tipe khusus.
Data yang disimpan dalam tabel adalah satu tipe atau satu daftar.
Misal:
kita tidak akan menyimpan daftar pelanggan dan daftar pemesanan pada tabel yang sama.
Setiap tabel dlm BD mempunyai nama yg menunjukkan isi tabel.
Nama tabel selalu unik, tidak ada tabel lain
dlm BD itu yg mempunyai nama sama.
3. Kolom / Field
• Tabel tersusun dari beberapa kolom.
• Kolom berisi bagian dari informasi dalam tabel.
• Kolom adalah field tunggal dalam tabel.
• Semua tabel terdiri dari satu atau lebih kolom.
Contoh dalam tabel Pelanggan
Misalnya berisi kolom-kolom:
1. kode_pelanggan
2. nama_pelanggan
3. nama_jalan
4. kode pos
5. telepon
Sifat-sifat dari kolom/field
3.1. Bersifat sebagai kunci
• Setiap tabel mempunyai kunci
• Kunci adl kolom atau sekumpulan kolom yg nilai-nilainya secara unik mengidentifikasi setiap baris di dalam sebuah tabel.
3.1A. Primary Key (Kunci Primer)
Digunakan untuk mencegah terjadinya pengisian data-
data yang diulang.
Artinya kita hanya bisa mengisi sebuah data saja
untuk field primary key.
Primary key juga berfungsi untuk dihubungkan dgn
tabel lainnya yang memiliki relasi.
Contoh penentuan PK
• Tabel yang berisikan daftar pelanggan dapat menggunakan kolom kode_pelanggan
• Tabel yang berisikan daftar pemesanan dapat menggunakan kolom ID_pemesanan.
• Tabel daftar mahasiswa dapat menggunakan kolom NIM
Syarat Primary Key
1. 2 baris tidak dapat memiiliki nilai kunci primer yang sama.
2. Setiap baris harus memiliki nilai primer (kolom tidak membolehkan nilai kosong (NULL)).
3. Nilai kunci primer tidak dapat digunakan kembali, jika baris tersebut sudah dihapus dari dalam tabel, kunci primernya tidak dapat diberikan kepada baris-baris berikutnya atau baris baru.
• Setiap baris di dalam tabel dapat memiliki beberapa kolom / sekumpulan kolom yg mengidentifikasikan secara unik baris tersebut.
• Disebut KUNCI KOMPOSIT
3.1B. Foreign Key
Foreign key dari sebuah tabel akan mereferensi / mengacu ke tabel yang lain sehingga kedua tabel tersebut saling berhubungan satu sama lain.
Foreign key sering digunakan untuk menghindari adanya kesalahan dalam menginputkan data.
Misalnya jika seorang user menginputkan kode jurusan 10, padahal dalam database tidak ada kode tersebut maka kode tersebut akan ditolak.
Foreign key juga berfungsi untuk mencegah terjadinya manipulasi data oleh pihak yang tidak bertanggung jawab.
Integritas Referensial
• Opsi ketika suatu record pada tabel yg direferensi oleh suatu foreign key dihapus atau diganti.
[ ON DELETE { CASCADE | NO ACTION } ]
[ ON UPDATE { CASCADE | NO ACTION } ]
ON UPDATE Cascade
• merupakan tindakan apabila nilai primary key pada tabel yg direferensi diganti maka foreign key pada tabel yg mereferensi akan disamakan nilainya dengan primary key pada tabel yang direferensi,
ON DELETE Cascade
• sedangkan apabila nilai primary key pada tabel yg direferensi dihapus maka semua record yg nilai foreign key-nya = primary key pada tabel yg direferensi dimana recordnya yg dihapus akan turut terhapus.
ON UPDATE /ON DELETE NO ACTION
• merupakan tindakan bahwa apabila nilai primary key pada tabel yg direferensi = nilai foreign key pada tabel yg mereferensi maka perubahan atau penghapusan primary key pada tabel yg direferensi tidak dapat dilakukan,
• tetapi apabila nilai primary key pada tabel yg direferensi tidak dijadikan nilai foreign key tabel yg mereferensi maka perubahan atau penghapusan primary key pada tabel yg direferensi dapat dilakukan.
3.2. Unik
3.3. AutoIncrement
Ada field-field tertentu yg tidak perlu kita isi ttp
sistem akan mengisi data ke field tsb, misalnya
nomor_urut.
3.4. Memiliki nilai default
Jika kita tidak mengisikan data ke field dalam tabel maka kita bisa memberikan nilai default kepada field tersebut.
3.5. AutoCompute Ada kalanya kita memerlukan perhitungan misalnya kita memasukkan jumlah pembelian barang 9 sedangkan harga sebuah barang @ 2000 maka pada field total, misalnya, dapat terisi otomatis dengan menghitung total perkalian antara jumlah_pembelian dengan harga_pembelian tiap unitnya.
3.6. NullAble
Data dlm sebuah field boleh dikosongkan.
Istilah dlm BD adalah NULL.
NULL tidak sama dengan nol.
Lawan dari NULL adalah NOT NULL.
4. Tipe Data
Setiap kolom dlm tabel mempunyai tipe data terkait yg membatasi atau membolehkan data khusus di dalam kolom tersebut.
5. Baris/Record/Row
• Kolom-kolom vertikal dalam tabel adalah atribut tabel
• Baris-baris horisontal dalam tabel adalah nilai data yg tersimpan pada setiap kolom tabel tsb
A DB002 112
A DB001 112
B DB001 111
B PI001 110
A DB001 110
NILAI KODE_MK NO_MHS
Relasi atau
tabel
Sebuah baris
atau tuple
Atribut atau kolom
Kardinalitas
Domain
NILAI (A, B,
C, D, E)
Beberapa sifat yg melekat dlm relasi
1. Tidak ada baris yang kembar
2. Urutan tupel tidak penting
3. Setiap atribut memiliki nama yg unik
4. Letak atribut bebas
5. Setiap atribut memiliki nilai tunggal & jenisnya
sama untuk semua baris
Latihan
Sebuah perusahaan memiliki domain usaha jual beli barang.
Barang-barang yang diperjualbelikan dikelompokkan menjadi 2
yaitu buku dan majalah.
Setiap pelanggan dimungkinkan utk melakukan pembelian
beberapa barang.
Setiap barang mungkin dibeli oleh beberapa pelanggan.
Setiap barang hanya dibeli dari seorang distributor (penerbit).
Seorang distributor dimungkinkan menjual beberapa jenis barang
sekaligus.
Gambarkan kasus tsb dgn Model Relasional