MODEL BASIS DATA dan RELASIONAL 1.3 MODEL BASIS DATA Model basis data adalah kumpulan dari konsepsi basisdata yang biasanya mewakili struktur dan relasi data yang terdapat pada suatu basis data. Esensi sebuah model basisdata adalah tempat dimana data atau suatu metodologi untuk menyimpan data. Kita tidak dapat melihat model basisdata tetapi kita dapat melihat algoritma yang digunakan oleh model basisdata tersebut. Ada 2 macam model basis data : 1. Model konseptual Model konseptual terfokus kepada representasi basis data secara alam logika. Model ini lebih memperhatikan tentang apa yang disajikan dibanding dengan bagaimana cara menyajikannya. 2. Model Implementasi Ditekankan pada bagaimanacara data disajikan pada basis data atau bagaimana struktur data diimplementasikan Dari konsep Model basisdata implementasi terdapat beberapa konsep basisdata yang berkembang antara lain : Model basis data hierarki (hierarchical database) Sistem basisdata hierarki merupakan konsep model basisdata yang tertua, tidak ada kepastian kapan konsep ini mulai digunakan. Model ini berupa suaty tree dengan relasi Parent Child Relationships dengan hubungan satu-banyak(1-N). Struktur dasar basisdata hierarki : · Kumpulan record-record yang secara logika terorganisir seperti struktur pohon dari atas ke bawah (berbentuk hirarki). Model ini banyak digunakan pada saat awal komputer database mainframe. Sistem ini banyak digunakan pada tahun 50-an dan 60-an, yang banyak digunakan oleh bank dan lembaga asuransi pada masa itu. · Lapisan paling atas bertindak sebagai induk/root dari segmen yang tepat berada di bawahnya dan lapisan bawah tidak bisa memiliki lebih dari satu root. · Segmen yang berada di bawah dari suatu segmen lainnya merupakan anak dari segmen yang ada di atasnya. · Struktur pohon mewakili urutan hierarki dari media penyimpan pada komputer. Keuntungan : Secara konseptual model basisdata ini sederhana. Keamanan basisdata lebih baik Kebebasan data Integritas data dalam satu tree lebih baik Basisdata skala besar lebih efisien Kerugian : Sistem lebih rumit Kekurangan pada kebebasan struktural Model basisdata jaringan (Network database) Model Basisdata Jaringan Model basisdata ini dikemukakan pada tahun 1969 oleh CODASYL consorsium. Pada prinsipnya model basisdata jaringan hampir sama dengan basisdata hierarki yaitu berupa model tree, akan tetapi pada model basisdata jaringan child dapat memiliki lebih dari satu parent. Struktur data basisdata jaringan : a. Set - Sebuah hubungan disebut set. Setiap set terdiri dari paling tidak dua macam record : satu record pemilik (induk) dan satu record anggota (anak). b. Satu set mewakili satu hubungan 1:M antara pemilik dan anggota. 1.4 MODEL BASIS DATA RELASIONAL Model basisdata relasional merupakan model basisdata yang dirancang agar memiliki konsistensi informasi dalam bentuk normalisasi database. Yang secara implementatif dan operasional dikendalikan oleh mesin Database Managemen System (DBMS). Struktur dasar basisdata relasional : Relasional Database Management System beroperasi pada lingkungan logika manusia. Basisdata relasional diasumsikan sebagai sekumpulan tabel-tabel. Setiap tabel terdiri dari serangkaian per-potongan baris/kolom Tabel-tabel (atau relasi) terhubung satu dengan lainnya menggunakan entitas tertentu yang digunakan secara bersama Tipe hubungan seringkali ditunjukkan dalam suatu skema Setiap tabel menghasilkan data yang lengkap dan kebebasan struktural Keuntungan model data entity relationship : Secara konseptual sangat sederhana Gambaran secara visual Alat bantu komunikasi lebih efektif Terintegrasi dengan model basis data relasional Kerugian model entity relationship : Gambaran aturan-aturan terbatas Gambaran relasi terbatas Tidak ada bahasa untuk memanipulasi data Kehilangan isi informasi Istilah-Istilah dalam Model Data Relasional 1. Entitas (Entity) : merupakan suatu objek yang dapat dibedakan dari yang lainnya dan dapat diwujudkan dalam basis data. Objek tersebut dapat berupa orang, benda, ataupun peristiwa. Contoh entitas dalam lingkungan universitas, terdiri dari : mahasiswa, mata kuliah dsb. Kumpulan dari entitas disebut himpunan entitas, contoh : semua mahasiswa. 2. Relasi (Relation) : merupakan suatu tabel yang terdiri dari beberapa kolom dan baris. Relasi menunjukkan adanya korelasi di antara sejumlah entitas yang asalnya dari himpunan entitas yang berbeda. Contoh : tabel nilai mahasiswa, tabel mata kuliah dsb. 3. Atribut (Attribute) : merupakan kolom yang terdapat dalam sebuah relasi (field). Atribut mendeskripsikan setiap karakter yang menjadi ciri suatu entitas. 4. Tuple : merupakan baris yang terdapat dalam sebuah relasi (record) atau kumpulan elemen-elemen yang saling terkait menginformasikan suatu entitas secara lengkap. 5. Domain : merupakan kumpulan nilai yang valid dari satu atau lebih atribut (field). 6. Derajat (Degree) : merupakan banyaknya atribut / kolom yang terdapat dalam suatu relasi (tabel). 7. Kardinalitas (Cardinality) : merupakan banyaknya tuple / baris yang terdapat dalam sebuah relasi (tabel). Relational Keys Merupakan jenis-jenis kunci yang digunakan dalam model data relasional. Jenis-jenis kunci tersebut antara lain sebagai berikut : 1. Super Key merupakan satu atau lebih atribut (kolom) yang mengidentifikasikan sebuah tuple (baris) secara unik dalam sebuah relasi (satu atau lebih kolom yang dipilih untuk membedakan suatu record dengan record lainnya). 2. Candidate Key Merupakan atribut dalam suatu relasi yang biasanya memiliki nilai unik (super key dengan field paling sedikit) 3. Primary Key Merupakan Candidate Key yang dipilih untuk mengidentifikasikan tuple secara unik dalam suatu relasi. 4. Alternate Key Merupakan Candidate Key yang tidak dipilih sebagai Primary Key. 5. Foreign Key Merupakan atribut yang memiliki kesamaan domain yang menjadi kunci utama dalam sebuah relasi tetapi pada relasi lain atribut tersebut hanya berperan sebagai atribut biasa. Relational Integrity Rules Merupakan aturan-aturan yang sering digunakan dalam model data relasional, aturan-aturan tersebut yaitu : 1. Null adalah nilai suatu atribut yang tidak diketahui dan tidak sesuai dengan tuple (baris) tersebut. 2. Entity Integrity berarti tidak ada satupun komponen primary key yang nilainya sama dengan null. 3. Referential Integrity adalah suatu domain yang dapat digunakan sebagai primary key jika merupakan suatu atribut tunggal pada domain yang bersangkutan. Bahasa pada Model Data Relasional Model Data Relasional menggunakan bahasa Query, yaitu pernyataan yang diajukan untuk mengambil informasi. Bahasa query menekankan pada aspek pencarian data dari dalam tabel. Aspek pencarian ini krusial sekali karena merupakan inti dari usaha pengelolaan data. Bahasa query terbagi menjadi 2, yaitu : 1. Bahasa Formal Bahasa query yang diterjemahkan menggunakan simbol-simbol matematis. Bahasa query formal terbagi menjadi dua, yaitu : Prosedural : pemakai (user) menspesifikasikan data yang dibutuhkan dan cara untuk mendapatkannya. Contoh : Aljabar Relasional Mendeskripsikan query dengan cara menetapkan operator tertentu terhadap suatu tabel / relasi. Non-Prosedural : pemakai (user) menspesifikasikan data yang dibutuhkan tanpa menspesifikasikan cara untuk mendapatkan data tersebut. Contoh : Kalkulus Relasional Query menjelaskan set tuple yang dikehendaki dengan cara menjelaskan predikat tuple yang diharapkan. Kalkulus Relasional terbagi menjadi dua, yaitu Kalkulus Relasional Tuple dan Kalkulus Relasional Domain. 2. Bahasa Komersial Bahasa query yang dirancang oleh programmer menjadi suatu program aplikasi untuk memudahkan para penggunanya (user friendly). Contoh : 1. QUEL : Berbasis pada bahasa kalkulus relasional. 2. QBE : Berbasis pada bahasa kalkulus relasional. 3. SQL : Berbasis pada bahasa kalkulus relasional dan aljabar relasional. Contoh-Contoh DBMS yang Mengelola Basis Data Relasional : 1. DB2 –> IBM 2. ORACLE –> Oracle 3. SYBASE –> Powersoft 4. INFORMIX –> Informix 5. Microsoft Access –> Microsoft