Modul 03 Relational Model Basis Data Modul 03 Relational Model
Relational Model Terminology Relasi direpresentasikan sebagai table yang terdiri dari baris dan kolom. Diaplikasikan hanya pada struktur logical bukan fisikal. Atribut adalah nama kolom pada table. Tuple adalah baris pada table (record). Domain adalah himpunan nilai dari satu atau lebih atribut. Degree adalah banyaknya atribut/kolom pada tabel. Cardinality adalah banyaknya tuple/baris pada tabel. Relational Database adalah kumpulan relasi ternormalisasi dengan nama relasi yang jelas dan dapat dibedakan.
Instances of Branch and Staff (part) Relations
Contoh Domain Atribut
Terminologi Alternatif untuk Model Relasional
Definisi matematis untuk relasi Misalkan terdapat himpunan D1 & D2, dimana D1 = {2, 4} dan D2 = {1, 3, 5}. Cartesian product, D1 X D2, adalah himpunan pasangan dimana elemen pertama merupakan anggota dari D1 dan elemen ke dua, anggota dari D2. D1 X D2 = {(2, 1), (2, 3), (2, 5), (4, 1), (4, 3), (4, 5)}
Definisi matematis untuk relasi Himpunan bagian dari Cartesian product merupakan relasi, contoh : R = {(2, 1), (4, 1)} Dapat pula dituliskan dalam pasangan dengan kondisi, contoh: elemen kedua = 1 : R = {(x, y) | x X D1, y X D2, and y = 1} elemen pertama = 2 kali elemen kedua : S = {(x, y) | x X D1, y X D2, and x = 2y}
Definisi matematis untuk relasi Jika terdapat 3 buah himpunan, D1, D2, D3 dengan Cartesian Product D1 X D2 X D3. Contoh : D1 = {1, 3} D2 = {2, 4} D3 = {5, 6} D1 X D2 X D3 = {(1,2,5), (1,2,6), (1,4,5), (1,4,6), (3,2,5), (3,2,6), (3,4,5), (3,4,6)} Cartesian product dari himpunan n (D1, D2, . . ., Dn) adalah : D1 X D2 X. . .XDn = {(d1, d2, . . . , dn) | d1 Є D1, d2 Є D2, . . . , dn Є Dn} atau dapat ditulis : n XDi i = 1
Relasi Database Skema Relasi Nama relasi yang didefinisikan oleh himpunan pasangan atribut dan nama domain. Misal : A1, A2, …, An adalah atribut dengan domain D1, D2, …, Dn, maka pasangan { a1:D1, A2:D2, …, An:Dn} adalah skema relasi.
Relasi Database Skema Database Realtional Himpunan skema relasi, dengan nama yang berbeda. Misal : Jika R1, R2, ..., Rn adalah himpunan skema relasi, maka dapat dituliskan skema database relasional dalam R, sehingga R = {R1, R2, ..., Rn}
Sifat-sifat Relasi Nama Relasi berbeda satu sama lain dalam skema relasional. Setiap sel (baris, kolom) dari relasi berisi satu nilai atomik. Setiap atribut memiliki nama yang berbeda. Nilai suatu atribut berasal dari domain yang sama. Setiap tuple berbeda, dan tidak ada duplikasi tuple.
Kunci-kunci Relasional (Relational Keys) Superkey Sebuah atribut atau himpunan atribut yang mengidentifikasi secara unik tuple-tuple yang ada dalam relasi. Candidate Key Superkey (K) dalam relasi Untuk setiap relasi R, nilai K akan mengidentifikasi secara unik tuplenya. Jika Candidate key terdiri dari beberapa atribut, disebut composite key.
Kunci-kunci Relasional (Relational Keys) Primary Key Candidate key yang dipilih untuk identifikasi tuple secara unik dalam suatu relasi. Alternate Keys Candidate key yang tidak terpilih sebagai primary key. Foreign Key Atribut atau himpunan atribut dalam relasi yang disesuaikan (matching) dengan candidate key pada beberapa relasi.
Relational Integrity Null Entity Integrity Merepresentasikan nilai untuk atribut yang tidak diketahui/tidak digunakan/tidak tersedia untuk suatu tuple. Berkaitan dengan ketidaklengkapan/pengecualian data Representasi tidak adanya suatu nilai dan tidak sama nilainya dengan Nol atau Spasi Entity Integrity Pada relasi dasar, tidak ada atribut ataupun primary key yang bernilai NULL.
Relational Integrity Referential Integrity Jika terdapat foreign key dalam suatu relasi, maka nilai foreign key tersebut harus sesuai (match) dengan nilai candidate key dari beberapa tuple pada database atau nilai foreign key harus NULL seluruhnya. Enterprise Constraints Aturan tambahan yang dispesifikasikan oleh user atau DBA.
Views Relasi Dasar (Base Relation) Nama relasi mengacu kepada entitas dalam skema konseptual, dimana tuple-tuple disimpan dalam database secara fisik. View Hasil dinamik dari satu atau lebih operasi relasional yang dilakukan pada relasi dasar untuk menghasilkan relasi yang lain. Merupakan relasi virtual yang tidak harus ada dalam database, tetapi dihasilkan pada saat dilakukan permintaan (request). Isi dari view didefinisikan sebagai query dari satu atau lebih relasi dasar. View bersifat dinamis, artinya perubahan yang dilakukan pada relasi dasar yang mempengaruhi atribut pada view langsung terlihat.
Kegunaan View Menyediakan mekanisme keamanan yang fleksible dan baik dengan menyembunyikan bagian database dari user tertentu. Mengijinkan user untuk meng-akses data dengan berbagai cara, sehingga data yang sama dapat dilihat oleh user yang berbeda dengan cara yang berbeda pada saat yang sama. Menyederhanakan operasi yang rumit pada relasi dasar.
Merubah view (Updating View) Seluruh update yang dilakukan pada relasi dasar harus secepatnya terlihat dalam seluruh view yang terkait dengan relasi dasar tersebut. Jika view di-update, perubahan harus terlihat pada relasi dasar yang digunakan. Terdapat beberapa batasan pada tipe modifikasi yang dilakukan terhadap view, diantaranya: Update diperbolehkan jika query melibatkan relasi dasar tunggal dan berisikan candidate key dari relasi dasar. Update dilarang jika melibatkan banyak relasi dasar. Update tidak diperkenankan melibatkan penggabungan atau pengelompokan operasi.