MODEL DATA RELASIONAL Anggit Dwi Hartanto, S.Kom Definisi Model Data • Model Data Relasional adalah suatu model basis data yang menggunakan tabel dua dimensi, yang terdiri atas baris dan kolom untuk menggambarkan sebuah berkas data. • model yang menyajikan database sebagai satu kumpulan “relasi” atau tabel • Nama tabel dan nama-nama kolom digunakan untuk membantu dalam melakukan interpretasi arti dari nilai-nilai dalam setiap baris dari tabel Keuntungan Model Data Relasional • Bentuknya sederhana • Mudah melakukan berbagai operasi data (query, update/edit, delete). Beberapa model basis data: • Model basis data hirarki • Model basis data network/jaringan • Model basis data relational (paling banyak digunakan) Struktur Hirarki Model Basis Data Jaringan Model Relasional • Merupakan model data yang paling populer saat ini • Menggunakan model berupa tabel berdimensi dua (yang disebut relasi atau tabel) • Memakai kunci tamu (foreign key) sebagai penghubung dengan tabel lain Nama Dosen Kelas Mahasiswa Siti Nurbaya Pengantar Basis Data Rudi Siti Nurbaya Pengantar Basis Data Asti Siti Nurbaya Pengantar Basis Data Dina Siti Nurbaya Pemrograma nC Dina Siti Nurbaya Pemrograma nC Edi Ashadi Matematika I Ita Ashadi Matematika I Edi Contoh DBMS yang Mengelola Basis Data Relational : • • • • • • • dBase III+ MS.Access Borland-Paradox Oracle DB2 SYBASE Informix. Istilah dalam Model Data Relasional • Relasi: Sebuah tabel yang terdiri dari beberapa kolom dan beberapa baris. • Atribut: Kolom pada sebuah relasi (field). • Tupel Baris pada sebuah relasi (record). Istilah dalam Model Data Relasional • Domain Kumpulan nilai yang valid untuk satu atau lebih atribut • Derajat (degree) Jumlah atribut dalam sebuah relasi (jumlah field) • Cardinality Jumlah tupel dalam sebuah relasi (jumlah record) Constraints • Dalam Basis Data terdapat batasan atau aturan yang berlaku tiap-tiap recordnya. • Constraint juga dapat menjamin kualitas data dalam database. kualitas pada contohnya mengurangi kemungkinan data yang inkonsisten atau redudansi data. Constraints • Konstraint Umumnya dikelompokan menjadi dua bagian. • Domain Constraint dan Key Constraint. Domain Constraint • Konstraint ini digunakan untuk melakukan pengecekan terhadap sebuah kolom atau tipe data. yang tergolong constraint disini antara lain – NULL / NOT NULL, digunakan untuk membiarkan field kolom dalam keadaan kosong (NULL). NOT NULL akan membatasi sebuah field kolom harus diisi Domain Constraint • jika sebuah kolom bersifat NULL maka dianjurkan untuk menggunakan konstraint DEFAULT. • Dalam pengisian nilai, jika sebuah field kolom kosong. maka kolom tersebut akan secara otomatis terisi nilai DEFAULT. • CHECK, Konstraint ini akan memaksa sistem untuk memilih range dari sebuah nilai yang sudah disediakan oleh pengembang Relational Key • Super key Satu atribut/kumpulan atribut yang secara unik mengidentifikasi sebuah tupel di dalam relasi (satu atau lebih field yang dapat dipilih untuk membedakan antara 1 record dengan record lainnya). Contoh: Untuk tabel MHS di atas, super key-nya: – NPM – NAMA (dengan syarat tidak ada nama yang sama) – ALAMAT (dengan syarat tidak ada alamat yang sama) – NPM + NAMA – NPM + ALAMAT – NAMA + ALAMAT – NPM + NAMA + ALAMAT Relational Key • Candidate key Atribut di dalam relasi yang biasanya mempunyai nilai unik (super key dengan jumlah field yang paling sedikit) Maka, candidate key-nya adalah NPM, NAMA dan ALAMAT (karena hanya terdiri dari 1 field saja) Relational Key • Primary key Candidate key yang dipilih untuk mengidentifikasikan tupel secara unik dalam relasi Maka, primary key yang dipilih adalah NPM (unik, tidak ada NPM yang sama). Relational Key • Alternate key Candidate key yang tidak dipilih sebagai primary key Maka, candidate key-nya NAMA dan ALAMAT Relational Key • Foreign key Atribut dengan domain yang sama yang menjadi kunci utama pada sebuah relasi tetapi pada relasi lain atribut tersebut hanya sebagai atribut biasa Relational Integrity Rules • Null Nilai suatu atribut yang tidak diketahui dan tidak cocok untuk baris (tuple) tersebut • Entity Integrity Tidak ada satu komponen primary key yang bernilai null. • Referential Integrity Suatu domain dapat dipakai sebagai kunci primer bila merupakan atribut tunggal pada domain yang bersangkutan. Bahasa Pada Model data Relasional • Bahasa Query Formal Bahasa query yang diterjemahkan dengan menggunakan simbol-simbol matematis. • Terbagi 2, yaitu: a. Prosedural, yaitu pemakai memberi spesifikasi data apa yang dibutuhkan dan bagaimana cara mendapatkannya. Contoh: Aljabar Relasional , yaitu dimana query diekspresikan dengan cara menerapkan operator tertentu terhadap suatu tabel / relasi. b. Non Prosedural, yaitu pemakai menspesifikasikan data apa yang dibutuhkan tanpa menspesifikasikan bagaimana untuk mendapatkannya. Contoh: Kalkulus Relasional, dimana query menjelaskan set tuple yang diinginkan dengan cara menjelaskan predikat tuple yang diharapkan. Terbagi 2 : • Kalkulus Relasional Tupel • Kalkulus Relasional Domain • Bahasa Query Komersial Bahasa Query yang dirancang sendiri oleh programmer menjadi suatu program aplikasi agar pemakai lebih mudah menggunakannya (user friendly). Contoh : • QUEL Berbasis pada bahasa kalkulus relasional • QBE Berbasis pada bahasa kalkulus relasional • SQL Berbasis pada bahasa kalkulus relasional dan aljabar relasional