Model Relasional Part-1
Review Pertemuan 3 Beberapa fitur tambahan dalam diagram ER : Spesialisasi yaitu Pengelompokan Himpunan Entitas Menjadi Suatu Entitas Baru yang bersifat Top Down, Generalisasi yaitu Penyatuan Entitas-entitas menjadi satu entitas baru yang bersifat Bottom Up Agregasi merupakan fitur tambahan yang menunjukkan bahwa suatu relasi terjadi karena secara kronologis didahului terjadinya relasi lain sebelumnya
Pengantar Relational Data Model Merepresentasikan data pada basisdata sebagai kumpulan dari relasi-relasi (relations) Sering kali disebut sebagai relational database
Relations Struktur data dasar yang menyimpan informasi Digunakan untuk menyimpan entitas, attribut maupun relasinya Strukturnya sebagai tabel
Karakteristik Relasi Nama relasi, attribut sebaiknya mengidentifikasi fungsi relasi dan attribut yang bersangkutan Urutan attribut sebaiknya disesuaikan dg kebutuhan (penting untuk dipertimbangkan) Urutan nilai tuple/record disesuaikan dengan keperluan (misalnya untuk pencarian) Type dan ukuran attribut sangat penting untuk dipertimbangkan sesuai dengan kebutuhan
Contoh Relasi Penduduk (NIK, Nama, Alamat, Rt, Rw, KodeKel, JenisKelamin, StatusMarital, TmpLahir, TglLahir, Pekerjaan, Pendidikan) Nama relasi(entity) = Penduduk Attribut ke 1 = Nik Attribut ke 2 = Nama Attribut ke 12 = Pendidikan Jumlah attribut = 12
Nilai dari Tuple Harus Atomic Jika Multivalue attribute hrs direpresentasikan ke dalam relasi lain Jika Composite attribute hrs dinyatakan sebagai simple attribute Null value berarti (tidak diketahui nilainya, tdk ada harga tertentu, tidak bermanfaat pada tuple tersebut)
Tabel Tersusun menurut baris dan kolom Terdiri dari baris-baris yang memuat data yang saling berhubungan satu dengan lainnya Terdiri dari kolom-kolom data-data dengan tipe yang sama
Setiap Baris Disebut Sebagai Tuple/Record Contoh Tabel Attribut Setiap Baris Disebut Sebagai Tuple/Record
Penjelasan Tabel Jumlah tuple = 2 Jumlah attribut = 6 Dalam satu tabel, attribut yang berbeda dapat mempunyai domain yang sama misalnya attribut Rt dan attribut Rw
Attribut Key suatu Relasi Setiap tuple dari suatu relasi akan berbeda dengan tuple lainnya Setiap tuple adalah kombinasi dari nilai semua attribut yang ada Kumpulan attribut disebut sebagai superkey Key adalah superkey minimum
Skema basisdata relasional Himpunan dari skema relasi beserta integrity constrainnya
Integrity Constraint (IC) Didefinisikan pada skema relasi Harus dipenuhi oleh setiap instance dari skema relasi condition that is specied on a database schema, and restricts the data that can be
Integrity Constraint (IC) stored in an instance of the database IC memuat Domain Constraint Key Constraint Entity Integrity Constraint Referential Integrity
Domain Constraint Nilai attribut dari suatu relasi harus atomic dari domain tersebut Misalnya Dom(NIK) dari relasi penduduk hanya memuat nilai 0 sampai dengan 9 dan karakter “.” Dom(TglLahir) dari relasi penduduk untuk bulan hanya boleh memuat 1 sampai 12 saja
Key Constraint Tidak boleh terdapat dua tuple yang sama atau lebih dalam suatu relasi Key dalam suatu relasi dapat berupa satu attribut atau kombinasi attribut (dapat membedakan antara tuple satu dg lainnya) Tuple adalah satu set instance dari kumpulan attribut yang ada pada suatu relasi
Entity Integrity Dalam suatu skema relasi tidak diperkenankan terdapat Primary Key yang bernilai NULL Nilai NULL akan mengakibatkan tuple yang bernilai NULL skema relasi tersebut tidak dapat dihubungkan dengan skema relasi lain
Referential Integrity Constraint yang berkaitan dengan konsep Foreign Key antara dua buah skema relasi yang mempunyai relationship
Foreign Key Pada skema R1 FK attribute mempunyai domain = skema R2 PK attribute Harga tuple pada R1 FK attribute = R2 PK attribute ( t1[FK]=t2[PK] )
Operasi Update pada Relasi Insert Delete Modify
Operasi Insert Menyispkan tuple baru ke dalam relasi Operasi insert dapat melanggar 4 jenis constraint
Pelanggaran Insert Domain, Nilai yg diberikan tdk ada dalam domain yg berkorespondensi Key, Nilai key yang diinsertkan sudah ada dalam relasi Entity, PK dari tuple baru bernilai NULL Reffrential Integrity, t1[FK]<>t2[PK]
Tindakan Pelanggaran Operasi Insert Reject (Menolak), dijelaskan alasan penolakan – NULL – SUDAH ADA – Tidak sesuai DOMAIN – Nilai yang diacu tdk ditemukan Berusaha memperbaiki Kesalahan yang ada
Operasi Delete dan Pelanggarannya Menghapus tuple dari suatu skema relasi Operasi ini akan terjadi pelanggaran, jika tuple yang akan diacu oleh FK digunakan oleh tabel lain. Dapat menyebabkan LOSS INFORMATION, jika salah dalam melakukan tindakan penanganannya
Tindakan Pelanggaran Operasi Delete Reject (Menolak delete yang dilakukan) Cascade (Menghapus sejumlah tuple yang terkait) Melakukan modifikasi nilai attribut yang mengacu pada tuple yg dihapus (Set NULL or Replace with the other valid tuple as new refferences) Kombinasi 2 dan 3
Operasi Modify Digunakan untuk merubah nilai satu atau lebih attribut (Non Key Attribute) Key Atribut sebaiknya tidak dirubah, Melakukan perubahan key attribut akan menimbulkan masalah DBMS mengecek kemabali, apakah perubahan sesuai dg domain untuk setiap Non Key attribute.
Pelanggaran Operasi Modify Referential Integrity, ika yang dirubah adalah FK dan yang diacu tidak ditemukan (t1[FK]<>t2[PK]) Domain, perubahan nilai tidak didasarkan pada domain yang sudah didifinisikan Entity, Jika key=NULL Key, sbl perubahan diacu oleh tabel lain atau perubahan baru menyebabkan key tsb double
Tindakan Pelanggaran Operasi Modify Reject, (DBMS memberikan alasan penolakan) Merubah tuple lain apabila perubahan yng dilakukan merupakan nilai yang acu oleh relasi lain
Summary Model basis data menunjukkan suatu cara/mekanisme yang digunakan untuk mengelola/mengorganisasi data secara fisik dalam memori sekunder yang akan berdampak pula pada bagaimana kita mengelompokkan dan membentuk keseluruhan data yang terkait dalam sistem yang sedang kita tinjau Model basis data relasional merupakan model yang paling banyak digunakan karena kemudahan dalam penerapan dan kemampuannya dalam mengakomodasi berbagai kebutuhan pengelolaan basis data yang ada di dunia nyata
Soal Latihan 1. Diketahui tabel di bawah ini
Soal Latihan Tentukan jumlah tupplenya Tentukan jumlah fieldnya Tentukan primary keynya Lakukan operasi update dan terapkan integrity constraintnya ! (tidak melanggar integrity constraintnya)
REFERENSI Referensi Wajib: Raghu Ramakhrisnan, Johannes Gehrke , “Database Management System” 6th Edition, Mc Graw Hill,2006 (chapter : 3) Referensi Tambahan/dianjurkan: David M.Kroenke, Database Concepts 4th Edition, Prentice Hall 2004