Abstraksi Data (Arsitektur DBMS) Abstraksi data merupakan tingkatan / level bagaimana melihat data dalam sebuah sistem basis data. Basis data merepresentasikan pandangan yang berbeda kepada: pengguna (user), programmer dan administrator. Arsitektur atau abstraksi data dalam DBMS dikenal dengan istilah arsitektur tiga skema (three schema architecture). Fungsi skema ini adalah untuk memisahkan antara fisik basis data dan program aplikasi pemakai. Disamping itu skema membantu menjelaskan struktur logis sebuah basis data. Ketiga level abstraksi tersebut adalah: Level Fisik (Physical Level/Internal Level ) Level Logik/Konseptual (Conceptual Level) Level Penampakan/pandangan (View Level/External Level) 2
Level Fisik Merupakan level yang terendah di dalam abstraksi data, menunjukkan bagaimana sesungguhnya data disimpan. Pada level ini, pengguna melihat data sebagai gabungan struktur berikut datanya sendiri. Pengguna juga mengetahui bagaimana representasi fisik dari penyimpanan dan pengorganisasian data, yaitu sebagai teks, angka, atau sebagai kumpulan bitbit data. Tingkat ini biasa dilakukan oleh DBMS atau sistem operasi yang dipakai. 3
Level Konseptual Merupakan level kedua, menggambarkan data apa saja yang sebenarnya tersimpan (secara fungsional) dalam basis data beserta hubungannya (relasi-relasi) di dalam basis data. Sebagai contoh : data penjualan disimpan atau direpresentasikan dalam tabel barang, produksi, keuangan, marketing, dan sebagainya. Level konseptual ini dipakai oleh Administrator Database (DBA) dalam memutuskan informasi apa yang harus diletakkan dalam basis data. 4
Level Pandangan Merupakan level tertinggi dari abstraksi data. pada level ini, pengguna hanya mengenal struktur data yang sederhana, yang berorientasi pada kebutuhan pengguna. 5
Tingkatan Skema Sub Skema pegguna A Sub Skema pegguna B Sub Skema pegguna C Arif 700 Ano 800 Sri..770 Level Ekstenal : Serangkaian pandangan logis para pengguna basis data Pemetaan level eksternal ke skema level konsep Persediaan Penjualan Penerimaan Kas Pelanggan Level Konseptual : Pandangan luas perusahaan terhadap seluruh basis data Pemetaan level elemen konsep ke deskripsi level internal Data Persediaan Kode Barang-Numerik(5),Not Null Nama Barang-Character(15) Data Pelanggan Kode Lgn-Numerik(6), Not Null Nama Lgn-Character((20) Level Internal Rincian tentang penyimpanan data Biaya-Numerik(8,2) Alamat-Character(20) 6
Model Data Model data menyatakan hubungan antar record-record yang tersimpan dalam basis data. Model data juga didefinisikan sebagai kumpulan perangkat konseptual untuk menggambarkan fakta data, hubungan data, semantik (makna) dan batasan data. Ada beberapa model data yang digunakan oleh DBMS, tetapi sampai saat ini yang paling umum ada 3 yaitu: Model data hirarkis, Mode data jaringan, dan Model data relasional 7
Model Hirarkis Model ini sering disebut model pohon karena mirip dengan struktur pohon terbalik. Model ini menggunakan pola parent-child (orangtua-anak). Setiap simpul menyatakan sekumpulan field. Setiap simpul yang memiliki hubungan dengan simpul lain yang berada di bawahnya disebut parent (orangtua). Sedangkan setiap simpul yang memiliki hubungan dengan simpul lain yang berada di atasnya disebut child (anak). Setiap parent dapat memiliki child lebih dari satu (hubungan 1:M, yaitu satu orang tua punya banyak anak) Setiap child hanya memiliki satu parent (hubungan M:1). Simpul yang paling atas (tertinggi) yang tidak memiliki parent disebut root (akar). Sedangkan simpul yang tidak memiliki bagian bawah (child) disebut leaf (daun). 8
Model hirarkis Pada model data ini, files menyimpan datanya di dalam lebih dari satu tipe record (biasa juga disebut tabel). Field kunci digunakan sebagai pointer atau link untuk menghubungkan semua atribut yang dimilikinya Contoh model hirarkis, A Level 1 B C D Level 2 E F G Level 3 9
Model hirarkis Contoh terapan model data hirarki, dapat dilihat pada gambar berikut. Dosen M. Husni Basis Data M. Husni Sistem Pakar Rico Mona Jean Rico Jean Gambar ini memperlihatkan hubungan dosen, mata kuliah, dan mahasiswa yang mengikuti kuliah tersebut. 1
Model Jaringan Model ini mirip dengan model hirarkis, tetapi model jaringan membolehkan satu simpul child (anak) memiliki lebih dari satu parent (orangtua). Sehingga hubungan antara parent dan child adalah banyak ke banyak (N:M) Dosen M. Husni Basis Data Sistem Pakar Rico Mona Jean 1
Model Relasional Model relasional merupakan model yang paling sederhana sehingga mudah digunakan dan dipahami oleh pengguna, serta merupakan yang paling populer saat ini. Model ini menggunakan sekumpulan tabel berdimensi dua (berbentuk kolom-baris) yang biasa disebut relasi atau tabel. Model relasional dirancang sedemikian rupa sehingga dapat menghilangkan kerangkapan data dan menggunakan suatu field kunci untuk berhubungan dengan relasi yang lain 1
Model Relasional Contoh tabel dalam model relational Nama Dosen Matakuliah Mahasiswa M. Husni Basis Data Rico M. Husni Basis Data Mona M. Husni Basis Data Jean M. Husni Sist. Pakar Rico M. Husni Sist. Pakar Jean 1
Model Basis Data Relasional Model data relasional digambarkan dalam bentuk tabel 2 dimensi. Untuk memberikan gambaran sebuah berkas data. Kolom dari tabel relasional menunjukkan field dari suatu record. Sedangkan baris menunjukkan hubungan antar record dalam suatu berkas data. Kadang kala dalam berbagai kesempatan, istilah relasi digunakan secara bergantian dengan istilah file/berkas atau tabel di mana hal ini merujuk kepada obyek yang sama. Untuk memudahkan pengertian, dibawah ini diberikan perbandingan antar istilah Relasi-Tupel-Atribut dan padanannya : 1
Model Basis Data Relasional Istilah formal/teori relasi Programmer Pengguna/aplikasi Relasi File/Berkas Tabel Tuple Record/Rekaman Baris Attribut Field/Medan Kolom 1
Istilah-istilah lainnya Dalam model relasional, jumlah baris data dalam suatu relasi disebut kardinalitas, dan jumlah atribut suatu relasi disebut derajat. Relasi yang hanya memiliki satu atribut (kolom) disebut berderajat satu atau unary. Yang memiliki dua atribut atau berderajat dua disebut binary, berderajat tiga atribut disebut ternary dan berderajat n disebut n-ary. Untuk setiap atribut dalam model relasional, ditentukan satu set nilai yang biasa dimilikinya yang disebut domain dari atribut tersebut. Isi data dari suatu sel (perpotongan antara baris dan kolom) biasa disebut nilai data atau data value 1
Contoh Basis Data Relasional Untuk lebih memahami istilah di atas, berikut ini diberikan dua tabel atau relasi sebagai berikut: Tabel Pegawai Tabel Dept NIK NamaPeg KodeDept KodeDept NamaDept 001 Gregor Eddy 10 10 Public Dept 002 Hussain 20 20 Storage Dept 003 Mary Suzan 30 30 Finance Dept 004 Patrick Noil 20 40 HRD Dept............... 1
Contoh Basis Data Relasional Tabel Pegawai terdiri atas 3 kolom atau atribut atau field yaitu attribut NIK, NamaPeg, dan KodeDept. Dan memiliki 4 baris atau record atau tupel. Setiap kolom memiliki domain atau jenis data yang sama. Kolom NIK berisi data angka tetapi tidak menunjukkan suatu jumlah, biasa disebut alphanumerik. Kolom NamaPeg berisi data karakter atau string dan kolom KodeDept berisi data angka berjenis alphanumerik. Sedangkan 001, 002, dan seterusnya disebut nilai data (data value) untuk atribut Nik, juga Gregor Eddy, Hussain, dan seterusnya adalah nilai data untuk attribut NamaPeg 1
Key atau Kunci Key atau kunci adalah sebuah atau gabungan dari beberapa atribut/field yang dapat membedakan semua record dalam tabel secara unik. Artinya jika suatu atribut dijadikan sebagai atribut kunci maka tidak boleh ada dua atau lebih baris data dengan nilai yang sama untuk atribut tersebut. Jenis-jenis key dalam suatu tabel: Super Key Candidate Key Primary Key Alternatif Key Composite Key Foreign Key 1
Key atau Kunci Super Key Yaitu merupakan satu atau lebih atribut yang dapat membedakan setiap baris data dalam sebuah tabel secara unik. Contoh : Tabel Mahasiswa (Nim, NamaMhs, Tgl_Lahir, Alamat) Maka yang dapat dijadikan Super key adalah: [ Nim,NamaMhs,Alamat,Tgl_Lahir ] [ Nim,NamaMhs ] [ Nim,Tgl_lahir ] [ NamaMhs ] [ Nim ] 2
Key atau Kunci Candidate Key Adalah kumpulan atribut minimal yang dapat membedakan setiap baris data dalam sebuah tabel secara unik. Sebuah Candidate Key tidak boleh berisi atribut atau kumpulan atribut yang telah menjadi superkey yang lain. Jadi sebuah Candidate Key pastilah sebuah Super Key tetapi tidak sebaliknya. Pada contoh di atas, Candidate Key adalah: [ NamaMhs ] [ Nim ] Primary Key Adalah salah satu dari Candidate Key yang dipilih di mana jaminan keunikannya lebih baik. Pada contoh di atas, Primary Key adalah: [Nim ] 2
Key atau Kunci Alternate Key Adalah Candidate Key yang tidak terpilih sebagai Primary Key, pada contoh di atas adalah: [ NamaMhs ] Composite Key Adalah Key yang terdiri atas dua atau lebih atribut, di mana atribut-atribut tersebut bila berdiri sendiri tidak dapat digunakan untuk mengidentifikasi record, tetapi bila dirangkaikan menjadi satu kesatuan dapat digunakan untuk mengidentifikasi record secara unik. Foreign Key Adalah Primary Key yang ditempatkan pada tabel-tabel(relasi) lain untuk menyatakan hubungan antar tabel yang bersangkutan. 2
Karakteristik / Sifat Model Data Relasional Dalam satu sel, hanya boleh ada satu nilai (single value) atau suatu nilai yang tidak dapat dibagi-bagi lagi, bukan suatu larik atau grup perulangan. Pada relasi/tabel yang sama tidak boleh ada dua baris data/record yang identik Urutan tupel tidaklah penting Nama atribut dalam satu tabel tidak boleh sama (harus tunggal) Semua elemen data pada suatu kolom tertentu dalam relasi yang sama harus mempunyai jenis yang sama Letak atribut bebas 2