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