220 likes | 452 Views
BASIS DATA I/2011-GANJIL. MODEL RELASIONAL. Oleh Satrio Agung Wicaksono, S.Kom., M.Kom. MODEL RELASIONAL. Konsep-Konsep Model Relasional. Model relasional berdasarkan pada konsep relasi dalam matematika Model relasional menjadi kokoh karena dukungan fondasi formal tentang teori relasi
E N D
BASIS DATA I/2011-GANJIL MODEL RELASIONAL Oleh Satrio Agung Wicaksono, S.Kom., M.Kom BASIS DATA I/2011-GANJIL
MODEL RELASIONAL Konsep-Konsep Model Relasional • Model relasionalberdasarkanpadakonseprelasidalammatematika • Model relasional menjadi kokoh karena dukungan fondasi formal tentang teori relasi • Model relasionalpertamadiajukanoleh Dr. E.F. Codd, peneliti IBM, pada tahun 1970 pada paper: • “A Relational Model for Large Shared Data • Banks”, Communication of ACM, June 1970 • Paper inimenyebabkanrevolusibesarpadabidangmanajemen basis data; Dr. Coddmemenangkan ACM Turing Award BASIS DATA I/2011-GANJIL
MODEL RELASIONAL Representasi Entity Type BASIS DATA I/2011-GANJIL
MODEL RELASIONAL Terminologi • 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 BASIS DATA I/2011-GANJIL
MODEL RELASIONAL Terminologi, Cont’d…. BASIS DATA I/2011-GANJIL
MODEL RELASIONAL Karakteristik Relation • 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 BASIS DATA I/2011-GANJIL
MODEL RELASIONAL Definisi Formal Relasi • Skemarelasi (relation schema)adalahrelasi yang memilikinama, didefinisikan oleh himpunan pasangan attribute dan domainnya. • Notasi: • R(A1, A2, … An) • R menyatakannamarelasi, • A1, A2, … An menyatakannama attribute • Contoh: • EMPLOYEE (SSN, FName, LName, Sex, Salary) • menyatakanbahwarelasibernama EMPLOYEE didefinisikan • pada 5 attribute: SSN, FName, LName, Sex, Salary) • Domain(SSN) = Number(9), Domain(FName) = Char(10), • Domain(LName) = Char(10), Domain(Sex) = Char(1), • Domain(Salary) = Currency BASIS DATA I/2011-GANJIL
MODEL RELASIONAL Definisi Formal Tuple • Tuple adalahbarisan (himpunanterurut) darinilai-nilaiyang masing-masing berada dalam domain tertentu • Dinyatakandalam ‘< … >’ • Contoh tuple dari EMPLOYEE: • <0606007800, “Ahmad”, “Zakky”, 10-4-87, ‘M’, “Jakarta”> • Disebutsebagai 6-tuple karenapunyaenamnilai • Relasiadalahhimpunandari tuple BASIS DATA I/2011-GANJIL
MODEL RELASIONAL Definisi Formal Domain • Suatu domain memilikidefinisilojikaltertentu. • Contoh: “NomorTelepon di Indonesia” adalah 12 digit nomor • telepon yang sah di Indonesia • Domain jugamerupakantipe data atau format yang didefinisikanuntuksuatu attribute. • Nomortelepon di Indonesia memiliki formal xxxx-yyyyyyyydimana x dan y berupabilanganbulat, xxxxmenyatakankode area danyyyyyyyymenyatakannomortelepon. • Domain tanggal (date) memilikibeberapa format. Misalddmm-yyyy, mm-dd-yyyy, dd-mm-yy, dansebagainya • Nama attribute menyatakanperan yang diperankanoleh domain pada sebuah relasi • Contoh: domain date digunakanuntukmendefinisikan 2 attribute bernama invoice-date dan payment-date denganmakna yang berbeda. BASIS DATA I/2011-GANJIL
MODEL RELASIONAL 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 BASIS DATA I/2011-GANJIL
MODEL RELASIONAL Skema Basisdata • Skema basis data (database schema) adalah kumpulan skema relasi, masing-masing memiliki nama berbeda. • Notasi • S = {R1, R2, … Rn} • R1, R2, … Rn adalah nama-nama skema relasi dalam basis data S BASIS DATA I/2011-GANJIL
MODEL RELASIONAL Skema BasisData COMPANY BASIS DATA I/2011-GANJIL
MODEL RELASIONAL Relational Integrity Constraint • Integrity Contraints: kondisi-kondisi yang harus dipenuhi pada semua relation state yang valid • DNo menyatakan nomor departemen tempat seorang pegawai bekerja. Apa yang terjadi jika user diperbolehkan menghapus sebuah departemen? BASIS DATA I/2011-GANJIL
MODEL RELASIONAL Entity Integrity Constraints • Setiap relasi harus memiliki primary key • 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) BASIS DATA I/2011-GANJIL
MODEL RELASIONAL Contoh Referential Integrity BASIS DATA I/2011-GANJIL
MODEL RELASIONAL Referential Integrity Constraints • Merupakan constraints yang melibatkan foreign key / melibatkan 2 buahrelasi: • Referencing relation (yang memiliki foreign key) • Referenced relation • Nilaidari foreign key pada referencing relation R1 berupa salah satu dari 2 nilai berikut: • nilaidari primary key yang berkaitanpada referenced relation R2 atau • null. BASIS DATA I/2011-GANJIL
MODEL RELASIONAL Operasi-Operasi untuk Memodifikasi Relasi • Ada 3 macam operasi yang dapat mengubah relation state: • INSERT a tuple • DELETE a tuple • UPDATE a tuple • Proses modifikasitidakbolehmelanggar integrity constraints. • Suatu update kadang-kadangmenyebabkan update yang lain secaraotomatis, untukmenjaga integrity constraints BASIS DATA I/2011-GANJIL
MODEL RELASIONAL Pelanggaran Integrity • Jikaterjadipelanggaranintegrity padasaatrelasiakandimodifikasi, dapatdilakukanbeberapahal: • Membatalkanoperasi yang menyebabkanpelanggaranintegrity (opsi RESTRICT atau REJECT) • Melakukan operasi, namun memberi tahu penggunatentangpelanggaran yang terjadi • Men-trigger update yang lain sehinggapelanggaranintegrity dapatdikoreksi (opsi CASCADE atauopsi SET NULL) • Mengeksekusierror-correction routine yang ditetapkanolehpengguna BASIS DATA I/2011-GANJIL
MODEL RELASIONAL Kemungkinan Pelanggaran Integrity Constraints Pada Operasi Insert • 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. BASIS DATA I/2011-GANJIL
MODEL RELASIONAL Kemungkinan Pelanggaran Integrity Constraints Pada Operasi Delete • Pelanggaranterjadijikaakanmenghapusnilai primary key yang direferrelasi lain • Opsi yang dapatdipilih • RESTRICT: menolakpenghapusan • CASCADE: memberi primary key baruke foreign key dari referencing tuple ataumenghapus referencing tuple • SET NULL: memberinilai NULL foreign key dari referencing tuple • Salah satu dari opsi ini harus ditetapkan pada saat merancang basis data untuksetiap foreign key BASIS DATA I/2011-GANJIL
MODEL RELASIONAL Kemungkinan Pelanggaran Integrity Constraints Pada Operasi Update • Operasi update dapatmelanggar domain constraint dan NOT NULL constraint pada attribute yang akandimodifikasi • Contraints laindapatdilanggar, sesuaijenisattribute yang akandiupdate: • Meng-update primary key (PK): • Miripdenganoperasi DELETE diikuti INSERT • Perlu memilih opsi seperti pada operasi DELETE • Meng-update foreign key (FK): • Dapatmelanggar referential constraints • Meng-update attributelain (selain PK / FK): • Hanyadapatmelanggardomainconstraints BASIS DATA I/2011-GANJIL
P E N U T U P Terimakasih BASIS DATA I/2011-GANJIL