Model Data Relasional 3 MODEL DATABASE Tiga model database yang cukup dikenal adalah : • Model Hierarkikal • Model Jaringan • Model Relasional Struktur Hirarki Model Jaringan Basis Data Relational • Kebanyakan model yang digunakan adalah model basis data relasional dengan menggunakan Relational Database Management System (RDBMS). • RDBMS menyediakan layanan pengorganisasian data yang mudah tetapi memiliki kemampuan untuk menangani jumlah data yang sangat besar. • Beberapa contoh dari RDBMS diantaranya Oracle, Ms SQL Server, MySQL, DB2, Ms Access. Basis Data Relational (Cont) • Model basis data relational memiliki struktur lojik yang disebut dengan relation (relasi). • Struktur relasi merupakan struktur data dimensi, pada level fisik berupa table (tabel). 2 • Attribute merepresentasikan elemen dari data yang berkaitan dengan relasi. Sebagai contoh, relasi Mahasiswa memiliki atribut-atribut seperti nim, nama, tempat lahir. tanggal_ lahir, dan alamat. Basis Data Relational (Cont) Alternative Terminology Tableoriented Table Setoriented Relation Row Column Tuple Attribute RecordOriented Recordtype, file Record Field RDBMS dibuat dengan struktur tiga skema, yaitu : • Eksternal • Konseptual • Internal Skema Eksternal Skema Eksternal mendefinisikan bagaimana pemakai mengakses dan melihat output dari RDBMS, bebas dari bagaimana data disimpan atau diakses secara fisik. Akses dan manipulasi seperti ini dilaksanakan oleh pemakai dengan memperkerjakan bahasa prosedural, seperti COBOL atau bahasa query, seperti Structured Query Language (SQL), bahasa standar yang diakui untuk RDBMS. Skema Konseptual Skema Konseptual yang mendefinisikan model database relasional terdiri dari sekumpulan tabel yang dinormalisasi. Skema konseptual adalah rancangan dari database Skema Internal Skema Internal terdiri dari organisasi fisik dari data (mis. sekuensial, indeks sekuensial, langsung) dalam hal struktur fisik data dan metode-metode pengaksesan dari sistem operasi komputer. Pandangan Logika Data Struktur model basis data relasional dan kebebasan data memungkinkan kita untuk memandang data secara logika daripada secara fisik. Pandangan secara logika membuat konsep file tentang penyimpanan data menjadi lebih sederhana. Penggunaan tabel independen secara logik lebih mudah dipahami. Kesederhanaan logika menghasilkan me-todologi perancangan basis data lebih sederhana dan lebih efektif. Pandangan Logika Data Entitas dan Atribut Sebuah entitas dapat berupa orang, tempat, kejadian atau sesuatu yang kita gunakan dalam mengumpulkan data. Universitas - mahasiswa, fakultas, jurusan Kantor - pegawai, meja, kursi, aktifitas Setiap entitas memiliki sifat-sifat khusus yang disebut atribut Mahasiswa - NIM, nama, tgl. Lahir, alamat, wali, IPK. Mobil - Merek, jenis, bahan bakar, tahun pembuatan, harga. Pandangan Logika Data Entitas dan Atribut Sebuah group entitas yang saling berhubungan menjadi sebuah himpunan entitas. Himpunan entitas MAHASISWA berisi seluruh entitas mahasiswa. Himpunan entitas FAKULTAS berisi seluruh entitas fakultas. Himpunan entitas PEGAWAI berisi seluruh entitas pegawai. Pandangan Logika Data Entitas dan Atribut Tabel dan Sifat-sifatnya. Sebuah tabel berisi sebuah group entitas yang saling berhubungan. Istilah himpunan entitas dan tabel memiliki arti yang hampir sama dan sering diguna-kan secara bergantian. Sebuah tabel disebut juga relasi. Tabel 2.1. Rangkuman Sifat-sifat Tabel Relasional 1 2 3 4 5 6 7 8 9 Sebuah tabel seolah-olah merupakan struktur dua dimensi yang terdiri dari baris dan kolom. Setiap baris (tupel) mewakili sebuah entitas. Setiap kolom mewakili atribut dan memiliki nama yang jelas. Setiap perpotongan baris dan kolom mewakili nilai sebuah data. Setiap tabel harus memiliki primary key yang dikenali secara unik untuk setiap baris. Semua nilai pada kolom harus sesuai format data. Setiap kolom memiliki jangkauan nilai tertentu yang dikenal sebagai domain atribut. Setiap baris membawa informasi yang menggambarkan satu kejadian entitas. Urut-urutan baris dan kolom bukan hal yang penting untuk DBMS. Nilai Atribut Tabel SISWA Kunci (Key) Redudansi yang terkontrol (penggunaan atribut secara besama-sama) membuat basis data relasional berjalan dengan baik. Primary key suatu tabel akan muncul lagi pada tabel lainnya sebagai penghubung (foreign key) Jika foreign key mengandung suatu nilai atau nilai kosong yang cocok, maka tabel yang menggunakan foreign key tersebut dikatakan menunjukkan integritas refe-rensial. Contoh Sederhana Basis Data Relasional Nama tabel SISWA Primary key NOMHS Foreign key KODE_WALI Hubungan Nama tabel WALI Primary key KODE_WALI Tidak ada foreign key Skema Basis Data Relasional : PERWALIAN Kunci (Key) Sebuah kunci (key) dapat membantu mendefinisikan relasi entitas. Aturan kunci didasarkan pada konsep yang dikenal dengan istilah determinasi, yang digunakan untuk mendefinisikan ketergantungan fungsional. Kunci (Key) Ketergantungan Fungsional. Atribut B bergantung secara fungsional pada A, Jika A menentukan B. Sebuah atribut bagian dari suatu kunci dikenal sebagai atribut kunci. Kunci yang memiliki lebih dari satu atribut disebut dengan kunci komposit. Jika atribut (B) bergantung secara fung-sional pada kunci komposit (A) tetapi tidak terdapat pada salah satu kunci komposit tersebut, atribut (B) bergantung penuh secara fungsional pada (A). Tabel 2.2. Kunci Basis Data Relasional Superkey Sebuah atribut (atau kombinasi atribut) secara unik mengenali setiap entitas dalam sebuah tabel. Candidate key Sebuah superkey minimal, yaitu superkey yang tidak merupakan bagian atribut dari suatu superkey. Primary key Candidate key yang terpilih untuk mengenali secara unik seluruh nilai atribut pada sebuah baris. Tidak boleh kosong. Secondary key Sebuah atribut (atau kombinasi atribut) secara digunakan untuk tujuan pengambilan data. Foreign key Sebuah atribut (atau kombinasi atribut) dalam sebuah tabel dimana nilainya cocok dengan primary key pada tabel lainnya. paksa 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, 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 • 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) • 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). • Alternate key Candidate key yang tidak dipilih sebagai primary key Maka, candidate key-nya NAMA dan ALAMAT • Foreign key Atribut dengan domain yang sama yang menjadi kun ci utama pada sebuah relasi tetapi pada relasi lain atr ibut tersebut hanya sebagai atribut biasa Ilustrasi Relational Integrity Rules 1. Null Nilai suatu atribut yang tidak diketahui dan tidak cocok untuk baris (tuple) tersebut 2. Entity Integrity Tidak ada satu komponen primary key yang bernilai null 3. Referential Integrity Suatu domain dapat dipakai sebagai kunci primer bila merupakan atribut tunggal pada domain yang bersangkutan Ilustrasi Aturan Integritas Bahasa Pada Basis data Relational Menggunakan bahasa query pernyataan yang diajukan untuk mengambil informasi. Bahasa Query (Query Language) lebih ditekankan pada aspek pencarian data dari dalam tabel. Aspek pencarian ini sedemikian penting karena merupakan inti dari upaya untuk pengelolaan data. Bahasa query terbagi 2 : 1. Bahasa Formal Bahasa query yang diterjemahkan dengan menggunakan simbol-simbol matematis. Bahasa Pada Basis data Relational Contoh : • Aljabar Relasional Bahasa query prosedural pemakai menspesifikasikan data apa yang dibutuhkan dan bagaimana untuk mendapatkannya. • Kalkulus Relasional Bahasa query non-prosedural pemakai menspesifikasikan data apa yang dibutuhkan tanpa menspesifikasikan bagaimana untuk mendapatkannya. Terbagi 2 : 1. Kalkulus Relasional Tupel 2. Kalkulus Relasional Domain Bahasa Pada Basis data Relational 2. Bahasa Komersial Bahasa Query yang dirancang sendiri oleh programmer menja di suatu program aplikasi agar pemakai lebih mudah menggunak annya (user friendly). Contoh : • QUEL Berbasis pada bahasa kalkulus relasional • QBE Berbasis pada bahasa kalkulus relasional • SQL Berbasis pada bahasa kalkulus relasional dan aljabar relasional