7/11/2011
Database Development (3) Physical Design
Pengantar y Sebelum skema relasi yang dihasilkan dari proses perancangan
j dan normalisasi dapat p digunakan g sebagai g database,, pperlu lojik dijalani satu tahapan lagi, yaitu perancangan fisik. y Perancangan database fisik bertujuan untuk : 1. 2.
Mempersiapkan data yang akan dikelola dalam DBMS Memperoleh efisiensi dalam pemrosesan data
1
7/11/2011
Proses Perancangan Fisik
Profil Kebutuhan Data/Informasi Data/Informasi y Volume data yang akan dikelola dikaitkan juga dengan data
lifetime-nya lif ti nya y Waktu yang dapat ditoleransi untuk pemrosesan data transaksi y Business-rule yang terkait dengan data yang dikelola y Output informasi yang dibutuhkan
2
7/11/2011
Spesifikasi DBMS y Memuat informasi mengenai batasan teknis untuk setiap fitur
y g dimiliki pperangkat yang g lunak DBMS y Contoh spesifikasi untuk beberapa fitur dalam Microsoft Access 2010 : y y y y y y y
Number of objects in a database = 32768 Number of concurrent users = 255 Size of an OLE Object field = 1 Gigabyte Number of indexes in a table = 32 Number of tables in a query = 32 Form or report width = 22 inches Number of actions in a macro = 999
Menentukan Format Data y Setiap atribut dalam tabel harus dilengkapi dengan format datanya y Format F t data d t meliputi li ti : tipe ti data, d t besaran b maksimum, ki d constraint dan i
tertentu. y Penentuan format harus seakurat mungkin dengan
mempertimbangkan hal-hal sbb : y y y
Penggunaan ruang memori sekecil mungkin Mampu menampung semua kemungkinan nilai domain Mampu menolak nilai yang tidak valid
y Perhatikan tipe data yang didukung oleh DBMS yang digunakan,
karena setiap DBMS memiliki tipe data yang spesifik
3
7/11/2011
Contoh Pemilihan Tipe Data y Tipe data bilangan bulat pada MySQL : Tipe Data
Ukuran Memori
Range Signed
Range Unsigned
Tinyint
1 byte
-128 sd 127
0 sd 255
Smallint
2 byte
-32768 sd 32767
0 sd 65535
Mediumint
3 byte
-8388608 sd 8388607
0 sd 16777215
Integer
4 byte
-2147683648 sd 2147683647
0 sd 4294967295
Bigint
6 byte
9223372036854775808 sd 9223372036854775807
0 sd 18446744073709551615
y Tentukan tipe p data yyangg sesuai untuk atribut sbb : y IPK y GajiPokok (mis. ratusan ribu sd puluhan juta) y NoTelepon y NPM (mhs STMIK LIKMI)
Struktur File y File sekuensial : y Struktur file paling sederhana y Memiliki kinerja j yyangg baik untuk pproses ppembacaan & backupp terhadapp keseluruhan data y Proses pencarian data (searching) memakan waktu yang lama karena penelusuran data selalu dimulai
dari posisi awal file
y File berindeks : y Dilengkapi dengan tabel tambahan berisi daftar kunci pencarian dan alamat record-nya, sehingga
memungkinkan proses pencarian data dilakukan dengan sangat cepat y File indeks tidak perlu dibuat untuk seluruh atribut dalam tabel, cukup pada atribut tertentu yang
sering dijadikan kunci pencarian y Atribut yang dijadikan primary key secara otomatis memiliki file indeks
y File hashed : y Struktur file yang secara khusus mendukung pengaksesan secara cepat dengan kunci bernilai unik y Algoritma hashing berisi deretan langkah yang mengkonversi kunci pencarian menjadi alamat record y Memiliki kinerja yang sangat baik untuk proses pencarian data, tetapi pembacaan secara sekuensial
terhadap keseluruhan data akan berjalan lambat
4
7/11/2011
Penempatan Data y Pada umumnya sebuah database disimpan pada suatu lokasi disk. y Untuk menangani volume data yang besar, dapat dimanfaatkan teknologi
RAID (Redundant Array of Independent Drives) :
y Memerlukan sejumlah disk dan menganggap disk-disk tsb sebagai satu tempat
penyimpanan.
y Menggunakan proses striping (memecah data dan menyimpannya pada disk yang
terpisah) sehingga memungkinkan dilakukannya pemrosesan secara paralel.
y Memiliki fitur fault tolerance (jika salah satu disk bermasalah, maka data masih bisa
diambil dari disk yang lain). Hal ini dimungkinkan karena adanya proses mirroring (teknik merekam data secara otomatis ke beberapa disk).
y Beberapa DBMS modern seperti Oracle menggunakan teknik clustering untuk
mempercepat pengaksesan data. Clustering adalah teknik yang memungkinkan record-record dalam tabel yang berbeda tetapi memiliki kaitan yang erat disimpan bersebelahan (secara fisik) agar akses terhadap data-data tsb bisa dilakukan dengan lebih cepat.
Pengaturan Integritas Data y Kendali nilai domain y y y y
Default value Auto increment Range control Required field (not null)
y Kendali integritas referensial
Proses pemutakhiran yang berpotensi merusak integritas data : y Insert data transaksi yang FK-nya belum terdaftar di tabel induk y Edit data transaksi yang FK-nya belum terdaftar di tabel induk y Delete data induk yang PK-nya masih terkait dengan data-data transaksi y Edit data induk yang PK-nya masih terkait dengan data-data transaksi
y Kendali keamanan data y Pengaturan hak akses (privilage) y Mekanisme backup & recovery y Pemanfaatan teknik kriptografi/steganografi untuk menyembunyikan isi data tertentu
5
7/11/2011
Contoh Kendali Integritas Referensial y Perhatikan relasi sbb : Tabel Rental
Tabel Mobil
NoBon
LamaRental
NoMobil
NoMobil
001
7
D1234
D1234
Toyota Avanza
MerkTipe
002
10
D5555
D5555
Nissan Livina
003
2
D1234
D9876
Suzuki APV
y Bagaimana jika : y Ada record baru (‘004’, ‘5’, ‘D7777’) akan di-insert ke tabel Rental ? y Record pertama pada tabel Rental diganti menjadi (‘001’, ‘7’, ‘D4321’) ? y Record pertama pada tabel Mobil (‘D1234’, ‘Toyota Avanza’) dihapus ? y Record kedua pada tabel Mobil (‘D5555’, ‘Nissan Livina’) diganti menjadi
(‘D4444’, ‘Nissan Livina’) ?
6