MODEL DATA RELASI Meta Meysawati Model Data Relasi Terdapat beberapa cara untuk menangani atau memodelkan data diantaranya, 1. Model Relational 2. Model Jaringan 3. Model Hirarki Model Data Relasional adalah suatu model basis data yang menggunakan tabel dua dimensi, yang terdiri atas baris dan kolom untuk menggambarkan sebuah berkas data. Ditemukan oleh E.F. Codd. Keuntungan MDR Keuntungan model data entity relationship : 1.Dokumen informasi utk organisasi jelas dengan format yang tepat 2.Menyediakan gambaran informasi yg diperlukan secara jelas 3.Menyediakan kemudahan pemahanman gambar alur untuk desain database. 4.Mudah melakukan berbagai operasi data 5.Menawarkan bingkai kerja yg efektif untuk integrasi banyak aplikasi Aplikasi Model Relasi Contoh DBMS yang mengelola basis data relational : 1) dBase III+ 2) MS.Access 3) Borland-Paradox 4) Oracle 5) DB2 6) SYBASE 7) Informix Kerugian MDR Kerugian model data entity relationship : 1.Gambaran aturan-aturan terbatas 2.Gambaran relasi terbatas 3.Tidak ada bahasa untuk memanipulasi data 4.Kehilangan isi informasi Cara Pembuatan Tabelnya/ strukturnya MATKUL Nama Kolom Tipe Lebar KDMK Char 5 MTKULIAH Char 30 SKS Numerik 1 Karakteristik struktur MATKUL: 1. Nama kolom/ field 2. Tipe data 3. Banyaknya digit yang ditampung Ex tabel & keterhubungannya MHS NPM Nama Alamat 10296832 Nurhayatii Jakarta 10296126 Astuti Jakarta 31296500 Budi Depok 41296525 Prananingrum Bogor 50096487 Pipit Bekasi 21196353 Quraish Bogor MATKUL KDMK KK021 KD132 KU122 MTKULIAH P. Basis Data SIM Pancasila SKS 2 3 2 NILAI NPM 10296832 10296126 31296500 41296525 21196353 50095487 10296832 KDMK KK021 KD132 KK021 KU122 KU122 KD132 KD132 MID 60 70 55 90 75 80 40 FINAL 75 90 40 80 75 0 30 Istilah Basis Data Relasional 1. Relasi: Sebuah tabel yang terdiri dari beberapa kolom dan beberapa baris. 2. Atribut: Kolom pada sebuah relasi (field). 3. Tupel: Baris pada sebuah relasi (record). 4. Domain: Kumpulan nilai yang valid untuk satu atau lebih atribut 5. Derajat (degree): Jumlah atribut dalam sebuah relasi (jumlah field) 6. Cardinality: Jumlah tupel dalam sebuah relasi (jumlah record) Penyelesaian 1. Attribut : NPM, Nama, Alamat. 2. Tupel : 10296832,”Nurhayati”,”J akarta” 3. Domain : 10296832,10296125 dst. “Nurhayati”,”Astuti”, dst. “Jakart”,”Jakarta”, dst. 4. Degree : 18 5. Cardinality : 6 Relational Key 1. 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 (lanjt...) 2. Candidate Key Satu set minimal dari atribut yang menyatakan secara tak langsung & tidak dapat membuang beberapa atribut dalam set tanpa merusak kepemilikan yang unik. Maka, candidate key-nya adalah NPM, NAMA dan ALAMAT (karena hanya terdiri dari 1 field saja) Relational Key (lanjt...) 3. 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). 4. Alternate key Merupakan candidate key yang tidak dipakai sebagai primary key atau Candidate key yang tidak dipilih sebagai primary key. Maka, candidate key-nya NAMA dan ALAMAT Relational Key (lanjt...) 5. Foreign Key Atribut dengan domain yang sama yang menjadi kunci utama pada sebuah relasi tetapi pada relasi lain atribut tersebut hanya sebagai atribut biasa. Petunjuk untuk PK dan FK 1) TIDAK BOLEH ada nilai duplikat dalam Primary key 2) PK secara umum TIDAK dapat diubah 3) Foreign key HARUS berdasar pada nilai data & murni penunjuk logika, bukan fisik 4) Sebuah FK HARUS sesuai dengan nilai PK atau nilai kunci UNIK atau yang lain yakni NULL 5) TIDAK dapat mendefinisikan FK TANPA adanya PK yang unik. Bahasa Pada Model data Relasional Bahasa query terbagi menjadi 2, yaitu : 1) Bahasa Formal Bahasa query yang diterjemahkan dengan menggunakan simbol-simbol matematika. 2) Bahasa Komersial Bahasa Query yang dirancang sendiri oleh programmer menjadi suatu program aplikasi agar pemakai lebih mudah menggunakannya (user friendly). Bahasa Formal 1) Aljabar relasional bahasa prosedural pemakai menspesifikasikan data apa yang dibutuhkan & bagaimana mendpatkannya. 2) Kalkulus relational bahasa non-prosedural pemakai menspesifikasikan data apa yang dibutuhkan TANPA menspesifikasikan bagaimana mendapatkannya.