DESIGN BASIS DATA SECARA FISIK
A. Perancangan Basis Data Secara Fisik
Tahap desain database fisik memungkinkan desainer untuk
membuat keputusan tentang bagaimana database untuk
diimplementasikan. Oleh karena itu, desain fisik disesuaikan
dengan DBMS tertentu. Ada umpan balik antara desain fisik dan
logis, karena keputusan yang diambil selama desain fisik untuk
meningkatkan kinerja dapat mempengaruhi model data logis. Dapat
disimpulkan bahwa proses perancangan fisik merupakan
transformasi dari perancangan logis terhadap jenis DBMS yang
digunakan sehingga dapat disimpan secara fisik pada media
penyimpanan.
Selama fase ini, dirancang spesifikasi-spesifikasi untuk
database yang disimpan yang berhubungan dengan
struktur-struktur penyimpanan fisik, penempatan record dan jalur akses.
Berhubungan dengan internal schema (pada istilah 3 level
arsitektur DBMS).
B. Tujuan perancangan fisik
Tujuan utama perancangan fisik adalah untuk mendapatkan
efisiensi dalam pemrosesan data. Dengan tercapainya efisiensi
maka diharapkan sistem informasi yang menggunakan database
dapat memberikan tanggapan yang cepat kepada pemakai yang
berinteraksi dengan sistem tersebut. Dalam rangka mencapai
dalam penyimpanan eksternal kurang diperhatikan. Itulah sebabya
dalam pembahasan nanti kadang ditemukan upaya yang
mengorbankan penghematan ruang penyimpanan eksternal demi
tercapainya kecepatan akses terhadap data.
C. Keperluan Perancangan fisik
Untuk kepentingan perancangan fisik diperlukan informasi
seperti berikut:
Relasi-relasi yang telah dinormalisasi, termasuk perkiraan
jumlah baris dalam setiap relasi.
Definisi untuk setiap atribut yang menyangkut nilai
maksimum yang dapat ditangani oleh atribut.
Penjelasan tentang tempat, waktu, dan bahkan frekuensi data
yang digunakan, dimasukkan, diubah, dan dihapus. Selain itu
juga diperlukan mengidentifikasi hak para pemakai terhadap
data.
Kebutuhan waktu tanggapan yang dikehendaki oleh pemakai
dan aktifitas lain yang terkait dengan data, seperti backup,
recovery, integritas dan retensi.
Deskripsi mengenai teknologi yang digunakan untuk
mengimplementasikan database, terutama pada DBMS yang
dipakai.
Pemilihan perancangan fisik yang baik akan mempengaruhi hasil
dari sebuah data base. Beberapa petunjuk dalam pemilihan
perancangan database secara fisik :
waktu yang telah berlalu dari suatu transaksi database
yang diajukan untuk menjalankan suatu tanggapan. Pengaruh
utama pada response time adalah di bawah pengawasan DBMS
yaitu : waktu akses database untuk data item yang ditunjuk oleh
suatu transaksi. Response time juga dipengaruhi oleh beberapa
faktor yang tidak berada di bawah pengawasan DBMS, seperti
penjadwalan sistem operasi atau penundaan komunikasi.
2. Space utility :
Jumlah ruang penyimpanan yang digunakan oleh file-file
database dan
struktur jalur akses.
3. Transaction throughput :
Rata-rata jumlah transaksi yang dapat diproses per menit
oleh system database, dan merupakan parameter kritis dari
sistem transaksi (misal : digunakan pada pemesanan tempat di
pesawat, bank, dll). Hasil dari fase ini adalah penentuan awal
dari struktur penyimpanan dan jalur akses untuk filefile
database.
D. Menentukan Format Data
Dalam merancang sebuah data base diperlukan format data
sesuai DBMS yang digunakan. Setiap atribut dalam relasi perlu
dilengkapi dengan format data. Format data mencakup:
Tipe data.
Panjang maksimum data.
Penentuan format data harus dilakukan dengan tepat, dengan
mengantisipasi hal-hal berikut:
Menggunakan ruang yang sekecil mungkin.
Mampu menampung semua kemungkinan.
Mampu menolak nilai-nilai yang tidak absah.
E. Menjaga integritas data
Secara etimologis, integritas berarti kesatuan. Dalam konteks
basis data, obyek integritas tersebut adalah data. Sehingga dapat
disimpulkan bahwa integritas data merupakan keutuhan dan
kesatuan data dalam basis data sehingga data tersebut dapat
menjadi sumber informasi yang dapat digunakan.
F. Integritas Data
Integritas data merupakan masalah penting yang perlu
ditangani dalam perancangan database. Integritas data dapat
dikenakan pada kolom dalam relasi dan menjadi kekangan bagi
kolom tersebut. Tipe data dan panjang maksimum untuk data
merupakan contoh dalam rangka menjaga integritas data. Dengan
cara seperti itu tidak sebarang data bias dimasukkan dalam kolom.
Adapun bentuk integritas data yang lain yaitu (1) nilai bawaan, (2)
kendali jangkaun, (3) kendali nilai Null.
Nilai bawaan (default value) adalah suatu nilai yang dengan
sendirinya akan diberikan ke kolom sekitarnya, kolom
tersebut tidak diberi nilai secara explicit oleh pemakai.
Kendali jangkauan (range control) adalah suatu control yang
dilakukan dengan menyebutkan nilai-nilai yang menjadi isi
jangkauan, yaitu dimulai dari nilai paling kecil hinga nilai
terbesar.
Kendali nilai Null adalah penanganan boleh tidaknya suatu
kolom tidak diberi nilai (alias Null). Jadi dapat dikenakan
salah satu dari aturan berikut:
1. Kolom tidak boleh bernilai Null
2. Kolom boleh bernilai Null.
Sebagai konsekuensi dari aturan pertama, bila terjadi
penambahan record dan kolom tersebut tidak diisi (yang bearti
bernilai Null) maka penambahan tersebut akan gagal.
Untuk memberikan gambaran lebih lanjut tentang pembuatan
relasi beserta pendefinisian atribut dan juga penerapan batasan
untuk menjaga integritas data, perhatikan perintah SQL berikut :
CREATE TABEL DOSEN_PENDIDIKAN (
Nomor_Dosen CHAR (4) NOT NULL,
Pendidikan CHAR (3) NOT NULL,
Lulus_Tahun YEAR (4) NOT NULL,
PRIMARY KEY (Nomore_Dosen, pendidikan)
);
Relasi yang dibuat adalah DOSEN_PENDIDIKAN. Relasi ini
memiliki tiga buah kolom yaitu Nomor_dosen, pendidikan, dan
Lulus_Tahun. Tipe data yang digunakan secara berturut-turut
adalah CHAR(4),CHAR(3), dan YEAR. NOT NULL yang disertakan
setelah tipe data menyatakan bahwa kolom bersangkutan tidak
boleh bernilai NULL. Yang berada dalam tanda kurung setelah
PRIMARY KEY adalah kolom-kolom yang berkedudukan sebagai
Adapun contoh berikut menunjukan penciptaan sebuah relasi
bernama BARANG
CREATE TABLE BARANG (
Kode_Barang CHAR (5) NOT NULL PRIMARY KEY,
Nama_Barang CHAR (30) NOT NULL,
Harga_Jual INTEGER NOT NULL,
Jumlah SMALLINT NOT NULL DEFAULT 0
).
Pada contoh di atas, PRIMARY KEY diletakan pada
Kode_Barang dengan tujuan agar kolom tersebut bertindak sebagai
kunci primer. Hal ini bias dilakukan kalau kunci berupa kunci
sederhana (dibentuk oleh satu kolom saja ). Perhatikan pula
keberadaan kata DEFAULT 0. Bagian tersebut merupakan
implementasi nilai bawaan yang telah di bahas di depan. Kode
tersebut menyatakan bahwa kalau Jumlah tidak diisi maka nilai 0
akan di berikan.
G. Menghemat Ruang Penyimpan dengan Menggunakan Kode
Pada tahapan perancangan database secara fisik, salah satu
tindakan yang sering dilakukan adalah melakukan pengkodean
dengan tujuan untuk menghemat ruang penyimpan. Selain untuk
menghemat memori, pengkodean juga dapat mengurangi
kesalahan atau ketidakkonsistenan. Sebagai contoh, perhatikan
Kode_Agen Nama_Agen Kota
001 Nengah Jakarta
002 Amir Semarang
003 Musa Yogya
004 Chandra Medan
005 Ical Yogyakarta
006 Budi Yogya
Perhatikan tabet l diatas, pada tabel tersebut terdapat
ketidakkonsistenan nama kota yaitu Yogya dan Yogyakarta.
Keadaan ini dapat dihindari dengan menggunakan pengkodean
tehadap nama kota, seperti yang ditunjukan pada gambar dibawah
:
Kode_Agen Nama_Agen Kode_Kota
001 Nengah K011
002 Amir K012
003 Musa K013
004 Chandra K014
005 Ical K013
006 Budi K013
H. Menjaga Keamanan Data
Yang perlu diperhatikan dalam merancang database secara
fisik adalah mengatur keamanan pengaksesan data. Hal ini perlu
karena database memungkinkan banyak orang bisa mengakses
data dan bisa melakukan di berbagai tempat dan tentu saja tidak
semua orang memilki wewenang yang sama untuk mengakses
setiap data. Untuk itulah setiap orang harus diberi hak akses yang
berbeda terhadap database sehingga data yang bersifat rahasia
tidak diakses oleh orang yang tidak berhak.
Pengaturan keamanan pengaksesan data dapat diatur melalui
:
1. Identitas pemakai dan password
2. View
3. Hak akses
Identitas Pemakai dan Paswword
Identitas pemakai dan password adalah level pertama
untuk menjaga keamanan terhadap pengaksesan database.
Namun, dalam praktiknya, akses langsing ke database hanya
diberikan kepada sejumlah orang tertentu. Para pemakai
biasanya diberi identitas pemakai dan password untuk
mengakses system informasi. Identitas pemakai dan
password. Identitas dan pemakai yang dipakai unutuk
mmengakses database tersembunyi dalam aplikasi sistem
View
Secara internal perancang juga dapat menentukan data
mana saja yang boleh diakses oleh seorang pemakai. View
merupakan salah satu fitur dalam database yang bisa dipakai
untuk kepentingan ini. Dengan menggunakan view, kolom
tertentu dalam relasi bisa diatur agar menjadi tersembunyi
atau tidak terlihat oleh pemakai tertentu. Contoh sebuah
relasi PEGAWAI mencatat data pribadi pegawai dan juga
gajinya. Berdsarkan relasi tersebut, seseorang yang berhak
melihat data pribadi tetapi tidak untuk melihat gaji dapat
diberikan suatu view seperti gambar berikut :
Relasi Pegawai
No_Pegawai Nama Tgl_lahir Alamat Gaji
No_Pegawai Nama
View INFOPEG
Dengan cara ini seseorang pemakai yang boleh mengakses
view INFOPEG tidak bisa melihat data Tgl_lahir, Alamat dan
Gaji.
View dapat dibuat melalui perintah SQL bernama CREATE
VIEW. Sebagai contoh:
akan membuat view bernama INFOPEG berisi No_Pegawai
dan Nama yang berasal dari relasi PEGAWAI.
Hak akses
Terkait dengan hak akses, terdapat istilah wewenang
atau privilege. Wewenang adalah tindakan-tindakan yang
dapat dilakukan oleh seorang pemakai terhadap relasi atau
view. Tentu saja wewenang sangat penting ditentukan dalam
perancangan fisik karena secara fungsional setiap orangpun
mempunyai hak yang berbeda dalam mengakses data.
Penentuan wewenang didasarkan pada tugas yang diemban
oleh masing-masing orang dalam organisasi/perusahaan.
Adapun tindakan yan umum dilakukan adalah :
Membaca ( SELECT / S )
Menambah ( INSERT / I )
Mengubah ( UPDATE / U )
Menghapus ( DELETE / D )
Relasi/View Unit Penggajian
Operator Kepala Unit Staff
PEGAWAI S S S
GAJI S / I S S / U / I / D