Physical Database Design

advertisement
Perancangan Fisik
Basis Data
Disusun Oleh:
Dr. Lily Wulandari
1
Physical Design Stage of SDLC
Purpose –develop
technology specs
Deliverable – pgm/data
structures, technology
purchases, organization
redesigns
Project Identification
and Selection
Project Initiation
and Planning
Analysis
Logical Design
Physical Design
Aktifitas Basis data –
Desain Basis data Fisik
Implementation
Maintenance
2
Perancangan Fisik Basis Data
 Tujuan: Menterjemahkan skema
(deskripsi) logis data ke dalam
spesifikasi teknis penyimpanan data.
 Hasil: Suatu rancangan penyimpanan
data yang menghasilkan kinerja
pencarian (pemrosesan query) yang
memadai dan menjamin integritas,
keamanan dan keandalan data.
3
Perancangan Fisik Basis Data
Kriteria yang digunakan untuk menuntun
pemilihan rancangan basis data fisik :
1.
2.
3.
Waktu respon : Merupakan waktu antara pengiriman
transaksi basis data untuk eksekusi dan penerimaan
respon.
Utilitas ruang penyimpan : Merupakan jumlah ruang
penyimpan yang digunakan file basis data dan struktur
akses path pada disk, termasuk pengindeksan dan akses
path lain.
Transaction throughput : Merupakan jumlah transaksi
rata-rata yang dapat diproses per metnin, merupakan
parameter kritis dari sistem transaksi seperti yang
digunakan pada reservasi pesawat atau bank
4
Proses Perancangan Fisik
Input
 Model DB yang
digunakan (misal:
relasional)
 Definisi atributatribut
 Aturan integritas
data
 Relasi ter-normalisasi
 Perkiraan volume
data
 Target response time
Output
Menentukan
 Tipe data tiap atribut
(field)
 Deskripsi record fisik
 Organisasi file
 Indeks dan
arsitektur database
 Optimasi kinerja
query
5
Organisasi Penyimpanan Fisik

Efisiensi pemrosesan query dan
penyimpanan data tergantung pada:

Tipe data masing-masing field.

Organisasi file untuk tabel-tabel.

Peng-indeks-an dan organisasi file
indeks.

Pengelompokan record (clustering).
6
Perancangan Field
 Field: satuan data terkecil dalam
database
 Perancangan field:
 Pemilihan tipe data yang sesuai.
 Konstrain range nilai yang sah
(domain).
 Kodifikasi nilai field.
 Penanganan nilai kosong (null).
7
Perancangan Field
 Memilih tipe data
 Tipe Data: format penyimpanan data
yang didukung oleh sistem operasi.
 Sasaran:
 Minimasi ruang penyimpanan.
 Dapat merepresentasikan semua nilai
yang mungkin dari field.
 Memungkinkan pengecekan validitas
nilai field oleh program.
 Memungkinkan semua manipulasi data
yang dibutuhkan untuk field tersebut.
8
Pemilihan Tipe Data
 CHAR – fixed-length character
 VARCHAR2 – variable-length
character (memo)
 LONG – large number
 NUMBER – positive/negative number
 DATE – actual date
 BLOB – binary large object (good for
graphics, sound clips, etc.)
9
Kodifikasi Nilai Field
Kode menghemat ruang,
tetapi membutuhkan
waktu lookup untuk
mendapatkan nilai
sebenarnya.
10
Penanganan Nilai-nilai Kosong
Opsi penanganan nilai kosong:
 Isi dengan nilai default.
 Menolak keseluruhan record.
 Isi dengan suatu rumus
penghitungan/ formula.
 Mencatat dalam daftar (log).
Trigger dapat digunakan untuk menjalankan
operasi-operasi ini
11
Contoh Skema Fisik
12
Rancangan File Fisik
Terminologi:
 File Fisik:
Partisi memori sekunder (disk) yang diberi
nama dan dialokasikan untuk menyimpan
record-record secara fisik.
 Tata letak elemen data dalam file:
 Penyimpanan sekuensial/runtut.
 Random dengan Pointer (alamat lokasi fisik).
 Metoda Akses:
Bagaimana data diakses berdasarkan
organisasi file yang digunakan.
13
Records Fisik
 Record fisik: Sekelompok kolom
disimpan di lokasi memori yang
berdekatan dan diambil bersamasama sebagai satu unit
 Page: Jumlah data dibaca atau
ditulis dalam satu operasi I / O
 Blocking Factor: Jumlah record fisik
per page/halaman
14
Organisasi File
Sekuensial
Permulaan file
1
2
Flyers

Record-record
dalam file
diurutkan
menurut nilainilai primary
key.
Setiap penambahan
dan penghapusan
record memerlukan
sorting ulang.
Jika tidak
disortir:
Waktu rata-rata
untuk
menemukan
record yang
diinginkan = n/2.
n
15
Denormalisasi
 Mengubah relasi-relasi ternormalisasi ke
menjadi tak ternormalisasi untuk
mengurangi jumlah tabel yang harus
dilibatkan dalam operasi join.
 Keuntungan:
 Dapat meningkatkan kinerja (kecepatan)
proses dengan mengurangi jumlah tabel
yang dilibatkan dalam operasi join.
 Kerugian (karena duplikasi data):
 Pemborosan ruang penyimpanan.
 Resiko pelanggaran integritas/konsistensi data.
16
Denormalisasi Hubungan Satu-ke-Satu
Dibutuhkan akses ke
tabel APPLICATION
Relasi ternormalisasi:
Relasi ter-denormalisasi:
Duplikasi data
17
Denormalisasi Hubungan Banyak-ke-Banyak
Relasi ternormalisasi:
Dibutuhkan
akses ke tabel
ITEM
Relasi ter-denormalisasi:
Duplikasi data
18
Denormalisasi
Data
Referensi
Relasi ternormalisasi:
Dibutuhkan
akses ke
tabel
STORAGE
Relasi ter-denormalisasi: Duplikasi data
19
Organisasi File Index
 Indeks - tabel terpisah yang berisi organisasi
record untuk pencarian cepat
 Primary key diindex secara otomatis
 Oracle memiliki operasi CREATE INDEX, dan
MS ACCESS memungkinkan indeks harus
dibuat untuk sebagian besar jenis kolom
 Pendekatan Index:
 B-tree index
 Bitmap index
 Hash Index
 Join Index
© MKOM-UBL
20
B-tree Index
Daun pohon semua
pada tingkat
yang sama 
Waktu akses
konsisten
21
Hashed file or
index
organization
Algoritm Hash
Biasanya
menggunakan
division-remainder
untuk menentukan
posisi record.
Record dengan
posisi yang sama
dikelompokkan
dalam daftar.
22
Bitmap menghemat kebutuhan ruang
Bitmap index
index
organization
Rows – nilai yang mungkin dari atribut
Columns – baris/row tabel
Bit menunjukkan apakah atribut dari row memiliki nilai
23
Aturan Menggunakan Index
1. Gunakan pada tabel besar
2. Gunakan primary key untuk Indeks
dari setiap tabel
3. Kolom pencarian Index (kolom sering
digunakan dalam klausa WHERE)
4. Kolom-kolom sering digunakan dalam
perintah SQL : ORDER BY dan GROUP
BY
5. Ketika data yang diindex > 100 tetapi
tidak ketika ada < 30
24
Aturan Menggunakan Index
6. DBMS mungkin memiliki batasan pada
jumlah indeks per tabel dan jumlah
byte per kolom diindeks (s)
7. Nilai null tidak akan dirujuk dari indeks
8. Menggunakan indeks berat untuk nonvolatile databases; membatasi
penggunaan indeks untuk volatile
databases
Mengapa? Karena modifikasi (misalnya
inserts, delete) memerlukan update untuk
muncul di file index
25

Soal Ujian
1. Berikan sebuah contoh Sistem Pemrosesan Transaksi
dalam lingkungan saudara. Penjelasan berupa : Sistem
apa yang diusulkan, latar belakang diperlukannya sistem
tsb, teknologi apa yang digunakan untuk implementasi
sistem tsb.
2. Berikan contoh penerapan database terdistribusi.
Jelaskan bagaimana jika database pada contoh tsb
disimpan dalam bentuk fragmentsi horisontal,
fragmentasi vertikal dan replikasi. Jelaskan pula
bagaimana (jelskan dengan contoh) query processing
pada masing-masing bentuk simpanan jika kasus
querynya dalam bentuk temu kembali informasi.
3. Buatlah disain fisik dari kasus berikut!
27
Download