• Tidak ada hasil yang ditemukan

Pendahuluan. Tujuan MODUL

N/A
N/A
Protected

Academic year: 2021

Membagikan "Pendahuluan. Tujuan MODUL"

Copied!
5
0
0

Teks penuh

(1)

DATABASE

Model Relasional

Satrio Agung W, Ari Kusyanti dan Mahendra Data Teknik Informatika, Fakultas Teknik,

Universitas Brawijaya, Email : informatika@ub.ac.id

Pendahuluan

Tujuan

Setelah membaca modul ini, mahasiswa diharapkan dapat memahami :  Model Relasional

 Cara membuat model relasional dengan benar

Model relasional berdasar pada konsep relasi dalam matematika. Model relasional menjadi kokoh karena dukungan fondasi formal tentang teori relasi. Model relasional pertama diajukan oleh Dr. E.F. Codd, peneliti IBM, pada tahun 1970 pada paper : “A Relational Model for Large Shared Data Banks”, Communication of ACM, Juni 1970. Paper ini menyebabkan revolusi besar pada bidang manajemen basis data yang pada akhirnya

membuat Dr. Codd memenangkan ACM Turing Award

4

MODUL

MODEL

RELA

SION

(2)

Model Relasional

Model relasional berdasar pada konsep relasi dalam matematika. Model relasional menjadi kokoh karena dukungan fondasi formal tentang teori relasi. Model relasional pertama diajukan oleh Dr. E.F. Codd, peneliti IBM, pada tahun 1970 pada paper : “A Relational Model for Large Shared Data Banks”, Communication of ACM, Juni 1970. Paper ini menyebabkan revolusi besar pada bidang manajemen basis data yang pada akhirnya membuat Dr. Codd memenangkan ACM Turing Award.

Model Relasional dapat disajikan dalam ERD atau tabel relasi

Gambar 4.1 Contoh ERD Mahasiswa

NIM Nama Alamat Kota Propinsi Gambar 4.2 Contoh ERD

Suatu relasi adalah tabel dengan kolom dan baris tempat data disimpan. Atribut adalah judul kolom dari suatu relasi. Domain adalah himpunan nilai yang mungkin untuk suatu atribut. Tuple adalah baris dari suatu relasi. Degree adalah jumlah atribut dari suatu relasi. Cardinality adalah jumlah tuples dari suatu relasi. Basis data relasional adalah sekumpulan relasi yang mempunyai nama berbeda dan ternormalisasi.

Mahasiswa

NIM Nama Alamat Kota Propinsi M1 Ali Jl. Veteran Malang Jawa Timur M2 Budi Jl. Pahlawan Surabaya Jawa Timur M3 Cici Jl. Pemuda Medan Sumatra Utara

Domain (NIM) = char(2) Domain (Nama) = char(50) Degree (Mahasiswa) = 6 Cardinality (Mahasiswa) = 3

Gambar 4.3 Terminologi dalam model relasional

Berikut ini adalah karakteristik dari model relasional:  Tiap baris berisi data tentang sebuah entity

 Kolom-kolom berisi data tentang attribute dari suatu entity  Satu sel pada tabel berisi satu data tunggal

 Seluruh entry pada satu kolom memiliki domain yang sama  Tiap kolom memiliki nama yang unik

 Urutan kolom tidak penting  Urutan baris tidak penting  Tidak ada 2 baris yang identik

Mahasiswa NIM Nama Alamat Kota Propinsi Relation name Attribute Tupple

(3)

Definisi Formal Relasi

Skema relasi (relation schema) adalah relasi yang memiliki nama, didefinisikan oleh himpunan pasangan attribute dan domainnya.

Notasi:

R(A1, A2, … An)

R menyatakan nama relasi,

A1, A2, … An menyatakan nama attribute Contoh:

EMPLOYEE (SSN, FName, LName, Sex, Salary)

menyatakan bahwa relasi bernama EMPLOYEE didefinisikan pada 5 attribute: SSN, FName, LName, Sex, Salary) dengan

Domain(SSN) = Number(9), Domain(FName) = Char(10), Domain(LName) = Char(10), Domain(Sex) = Char(1), Domain(Salary) = Currency

Definisi Formal Tuple

Tuple adalah barisan (himpunan terurut) dari nilai-nilai yang masing-masing berada dalam domain tertentu. Definisi Formail Tuple dinyatakan dalam ‘< … >’

Contoh tuple dari EMPLOYEE:

<0606007800, “Ahmad”, “Zakky”, 10-4-87, ‘M’, “Jakarta”> Disebut sebagai 6-tuple karena punya enam nilai

Definisi Formal Domain

Suatu domain memiliki definisi lojikal tertentu. Contoh: “Nomor Telepon di Indonesia” adalah 12 digit nomor telepon yang sah di Indonesia. Domain juga merupakan tipe data atau format yang didefinisikan untuk suatu attribute. Nomor telepon di Indonesia memiliki formal xxxx-yyyyyyyy dimana x dan y berupa bilangan bulat, xxxx menyatakan kode area dan yyyyyyyy menyatakan nomor telepon.

Domain tanggal (date) memiliki beberapa format. Misal ddmm-yyyy, mm-dd-yyyy, dd-mm-yy, dan sebagainya Nama attribute menyatakan peran yang diperankan oleh domain pada sebuah relasi

Contoh: domain date digunakan untuk mendefinisikan 2 attribute bernama invoice-date dan payment-date dengan makna yang berbeda.

Definisi Formal State

Relation state adalah subset dari cartesian product dari domain attribute-attributenya. Setiap domain berisi himpunan semua nilai yang mungkin yang dapat diambil oleh attribute. Misal: attribute nama didefinisikan pada domain string (barisan karakter) sepanjang maksimal 20 karakter

(4)

Skema Basis Data

Skema basis data (database schema) adalah kumpulan skema relasi, masing-masing memiliki nama berbeda. Dinotasikan dengan:

S = {R1, R2, … Rn}

R1, R2, … Rn adalah nama-nama skema relasi dalam basis data S.

Employee

FName MName LName ID BDate Address Sex Salary Super_ID DName Departement

DName Mng_ID

Gambar 4.4 Contoh Skema Basis Data Kepegawaian

Relational Integrity Constrain

Integrity Contraints adalah kondisi-kondisi yang harus dipenuhi pada semua relation state yang valid. Setiap relasi harus memiliki primary key dan attribute-attribute yang merupakan primary key tidak boleh bernilai NULL.

Catatan: attribute lain kadang-kadang juga dibatasi agar tidak bernilai NULL, meskipun bukan primary key (sesuai requirement-nya)

Referensial Integrity Constrain

Merupakan constraints yang melibatkan foreign key / melibatkan 2 buah relasi. Terbagi ke dalam 2 jenis, yaitu:  Referencing relation (yang memiliki foreign key)

 Referenced relation

Nilai dari foreign key pada referencing relation R1 berupa salah satu dari 2 nilai berikut:  nilai dari primary key yang berkaitan pada referenced relation R2 atau

 null.

(5)

Ada 3 macam operasi yang dapat mengubah relation state, yaitu:  INSERT a tuple

 DELETE a tuple  UPDATE a tuple

Proses modifikasi tidak boleh melanggar integrity constraints. Suatu update kadang-kadang menyebabkan update yang lain secara otomatis, untuk menjaga integrity constraints.

Jika terjadi pelanggaran integrity pada saat relasi akan dimodifikasi, dapat dilakukan beberapa hal:  Membatalkan operasi yang menyebabkan pelanggaran integrity (opsi RESTRICT atau REJECT)  Melakukan operasi, namun memberi tahu pengguna tentang pelanggaran yang terjadi

 Men-trigger update yang lain sehingga pelanggaran integrity dapat dikoreksi (opsi CASCADE atau opsi SET NULL)

 Mengeksekusi error-correction routine yang ditetapkan oleh pengguna Kemungkinan pelanggaran integrity constraints pada operasi insert antara lain:

 Domain constraint: jika ada nilai attribute dalam tuple baru yang tidak sesuai domainnya.

 Key constraint: jika nilai salah satu key attribute pada tuple baru telah ada pada tuple lain dalam relasi .  Referential integrity: jika nilai foreign key pada tuple baru tidak ada pada referenced relation.

 Entity integrity: jika primary key bernilai null.

Kemungkinan pelanggaran integrity constraints pada operasi delete antara lain:

 Pelanggaran terjadi jika akan menghapus nilai primary key yang direfer relasi lain Opsi yang dapat dipilih

o RESTRICT: menolak penghapusan

o CASCADE: memberi primary key baru ke foreign key dari referencing tuple atau menghapus referencing tuple

o SET NULL: memberi nilai NULL foreign key dari referencing tuple

Salah satu dari opsi ini harus ditetapkan pada saat merancang basis data untuk setiap foreign key Kemungkinan pelanggaran integrity constraints pada operasi update antara lain:

 Operasi update dapat melanggar domain constraint dan NOT NULL constraint pada attribute yang akan dimodifikasi.

 Contraints lain dapat dilanggar, sesuai jenis attribute yang akan diupdate: o Meng-update primary key (PK):

 Mirip dengan operasi DELETE diikuti INSERT  Perlu memilih opsi seperti pada operasi DELETE o Meng-update foreign key (FK):

 Dapat melanggar referential constraints o Meng-update attribute lain (selain PK / FK):

 Hanya dapat melanggar domain constraints PUSTAKA

http://www.db-class.org/

http://infolab.stanford.edu/~ullman/dscb/gslides.html http://infolab.stanford.edu/~ullman/fcdb.html

Gambar

Gambar 4.2 Contoh ERD
Gambar 4.4 Contoh Skema Basis Data Kepegawaian  Relational Integrity Constrain

Referensi

Dokumen terkait

Untuk mengekstrak data digunakan atribut yang unik yang akan menjadi primary key atau foreign key yang terhubung dari satu tabel ke tabel lain sehingga setiap nilai dari

Tujuan penelitian ini adalah untuk mengetahui pengaruh lokasi, keragaman barang dan lingkungan fisik serta untuk mengetahui dimensi yang paling dominan yang

Berdasarkan Gambar 45, alternatif strategi pengembangan pengelolaan dilakukan oleh lembaga khusus yang dibentuk bersama oleh PEMDA (PPLKB) mempunyai rasio kepentingan paling

yang baik. Si A berpandangan bahwa untuk mendapatkan nilai yang baik, menyontek adalah hal yang wajar. Sebaliknya si B berpandangan bahwa untuk mendapatkan nilai yang

Tujuan dari penelitian ini adalah untuk mengetahui pengaruh penggunaan krioprotektan Etilen Glikol selama pembekuan terhadap tingkat pemulihan setelah

Hasil pengujian nilai-nilai ―b‖ yang diperoleh terhadap nilai tiga menunjukkan bahwa tampilan pertumbuhan populasi ikan bilih Danau Singkarak menunjukkan pola

Sesuai Peraturan Menteri BUMN No.PER-04/ MBU/2014 tanggal 10 Maret 2014 tentang Pedoman Penetapan Penghasilan Direksi, Dewan komisaris dan Dewan Pengawas Badan Usaha milik

Foreign key merupakan satu atau lebih atribut di dalam sebuah relasi yang juga merupakan primary key pada relasi atau tabel lain, sehingga dapat digunakan untuk menghubungkan