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 B
Sub Skema pegguna A
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
Pelanggan
Level Konseptual : Pandangan luas perusahaan terhadap seluruh basis data
Penerimaan Kas
Pemetaan level elemen konsep ke deskripsi level internal
Data Persediaan
Data Pelanggan
Kode Barang-Numerik(5),Not Null
Kode Lgn-Numerik(6), Not Null
Nama Barang-Character(15)
Nama Lgn-Character((20)
Biaya-Numerik(8,2)
Alamat-Character(20)
Level Internal Rincian tentang penyimpanan data
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 B
Level 1
C
E
F
D
Level 2
G
Level 3 9
Model hirarkis • Contoh terapan model data hirarki, dapat dilihat pada gambar berikut. Dosen M. Husni
Basis Data
Sistem Pakar
M. Husni
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
Rico
Mona
Sistem Pakar
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 NIK NamaPeg 001 Gregor Eddy 002 Hussain 003 Mary Suzan 004 Patrick Noil ......... .......
KodeDept 10 20 30 20 .......
Tabel Dept KodeDept NamaDept 10 Public Dept 20 Storage Dept 30 Finance Dept 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