Anda di halaman 1dari 30

Desain Fisik Basis Data

Yusuf Priyandari @Agustus 2010

Contents

1
2 3 4

Click to add Title

Click to add Title

Click to add Title

Click to add Title

pri.and.ari@2010

Tahap Pengembangan Basis Data


Model
1
1

3
4 5

Topics discussed

6
3

7
pri.and.ari@2010

Database Design Methodology

Topics discussed

pri.and.ari@2010

Introduction
Physical database design adalah tahap transformasi struktur basis data yang berbentuk logikal ke dalam tabeltabel basis data menggunakan aplikasi DBMS. Meskipun dalam tahapan ini fokus pada implementasi desain basis data ke dalam DBMS, namun dimungkinkan adanya proses feedback kembali ke proses-proses sebelumnya. Transformasi logikal desain basis data menjadi fisikal basis data memerlukan pemahaman tentang spesifikasi berbagai kemampuan aplikasi DBMS, misalkan bagaimana membuat tabel2, apakah mendukung konsep relasional, tipe data apa yang didukung, berapa kapasitas yang dimiliki, dll
5 pri.and.ari@2010

1. Design Base Tables


Satukan dan pahami informasi tabel yang telah dibuat dalam logikal basis data yang terdapat dalam kamus data/definisi tabel . Untuk setiap tabel, pastikan terdapat informasi:


6

Nama tabel Daftar fields Primary key, alternate key, dan foreign key Batasan Integritas referensial untuk setiap FK
Domain field: tipe data, size, dan batasan lainnya. Nilai default untuk field Apakah field boleh bernilai null. Apakah field berupa field turunan, dan bagaimana menyusunnya.
pri.and.ari@2010

Untuk setiap field, pastikan terdapat informasi:

1. Design Base Tables


Contoh:

Selanjutnya, buatlah tabel-tabel basis data ke dalam DBMS. Gunakan aplikasi yang memiliki GUI jika belum memahami benar penggunaan SQL dalam pembuatan basis data.
7 pri.and.ari@2010

1. Design Base Tables

pri.and.ari@2010

1. Design Base Tables


Jangan lupa untuk membangun relasinya, khususnya jika menggunakan RDBMS dan dipertimbangkan untuk mempertahankan relasi di dalam struktur basis data. Pada prinsipnya, adanya integritas relasi dalam struktur basis data yang dimasukkan dalam RDBMS tidak selalu diperlukan, yang terpenting strukturnya sudah mendukung adanya model relasi. Pembuatan relasi dalam sejumlah aplikasi RDBMS tercermin dalam pembuatan foreign key, baik melalui sintaks SQL, GUI, dan GUI with drag and drop facility.

.
9 pri.and.ari@2010

2. Design Representation of Derived Data


Terdapat sejumlah atribut turunan seperti usia, lama kerja, dan jumlah pinjaman yang telah dilakukan seorang pelanggan. Atribut ini diturunkan dari field data yang telah ada, misal masa kerja diperoleh dari selisih waktu kini dikurangi mulai kerja. Atribut turunan pada prinsipnya dapat ditampilkan dengan dua cara:
1. Menggunakan tabel query.

.
10 pri.and.ari@2010

2. Design Representation of Derived Data .


2. Menambahkan sebuah field yang menyimpan data atribut turunan tersebut.
Misal, atribut masa kerja disimpan menjadi 1 atau 2 field di tabel staff. tidak relevan karena frekuensi penggunaan informasi ini sangat rendah. Misal, atribut jumlah pinjaman seorang pelanggan. Atribut ini untuk melihat apakah seorang pelanggan telah mencapai maksimum peminjaman (kerena misalkan maksimum sekali pinjam adalah 5 buah). frekuensi penggunaan informasi ini sangat sering sehingga boleh saja dibuatkan field sendiri. Sehingga setiap kali pelanggan menambah peminjaman, maka sell field tersebut di update.

.
11 pri.and.ari@2010

3. Design Remaining Business Rules


Aturan-aturan yang berkaitan dengan proses bisnis dapat diimplementasikan dalam dua bentuk:
1. Menggunakan program tersendiri di interface.
Misal, untuk membatasi seorang pelanggan maksimum meminjam 5 buah, maka di dalam desain interface dibuatkan program untuk mengecek terlebih dahulu jumlah peminjaman, sebelum dieksekusinya proses peminjaman. Misal, menjamin data yang dimasukkan adalah tanggal untuk data bertipe tanggal Namun tidak semua DBMS mendukung penggunaan trigger. Check terlebih dahulu kapabilitas DBMS yang digunakan.

2. Menggunakan trigger yang terdapat di DBMS.

12

pri.and.ari@2010

4. Analisis Transaksi dan Pengindekan


Perancangan fisik basis data sangat memerlukan pemahaman mengenai transaksi yang akan didukung oleh basis data. Hal-hal yang perlu dipamahi kembali antara lain:
Frekuensi transaksi yang berjalan dan akan terjadi kedepannya. Transaksi yang kritis bagi bisnis perusahaan Waktu-waktu dimana terjadi peningkatan transaksi

13

pri.and.ari@2010

4.1 Analisis Transaksi


1. Petakan Transaksi ke dalam tabel (rangkuman Chptr.9)

Proses ini menghasilkan informasi, tabel-tabel mana saja yang terlibat dalam suatu transaksi.
14 pri.and.ari@2010

4.1 Analisis Transaksi


2. Estimasikan frekuensi transaksi.

Proses ini menghasilkan informasi transaksi mana yang sangat penting untuk dicermati sungguh-sungguh (terkait frekuensi transaksi).
15 pri.and.ari@2010

4.1 Analisis Transaksi


2. Susun Dokumen Analisis Transaksi. Untuk tiap transaksi, identifikasi:
Tabel dan field yang diakses, dan tipe akses yang dilakukan (insert, update, delete, atau retrieval). Untuk update, perhatikan field yang bertindak sebagai key yang tidak boleh diupdate. Fields yang digunakan untuk suatu pencarian. Identifikasi pula kondisi pencarian. Untuk query, identifikasi tabel dan field yang terlibat.
Kondisi query, fields untuk pengurutan, pengelompokan, fungsi penjumlahan, dll

16

Frekuensi kejadian transaksi dalam suatu waktu


pri.and.ari@2010

4.1 Analisis Transaksi


2. Susun Dokumen Analisis Transaksi.

17

pri.and.ari@2010

4.2 Menentukan Indeks


Pembuatan indek untuk beberapa field tertentu berguna untuk mempercepat proses pencarian atau transaksi. Indeks adalah salah satu bentuk metode pengorganisasian record. Indek umumnya diberikan untuk:
Field yang sangat sering diakses untuk operasi penggabungan. Field yang sering dijadikan acuan pengurutan data.

18

pri.and.ari@2010

4.2 Menentukan Indeks


Panduan menentukan indek
a. Jangan memberikan indek pada tabel yang kecil. Dimungkinkan pencarian lebih efisien bila tanpa indek untuk tabel yang kecil. b. Secara umum, buatlah indek untuk primary. Although the SQL standard provides a clause for the specification of primary keys as discussed in Step 3.1 covered in the last chapter, note that this does not guarantee that the primary key will be indexed in some RDBMSs.
c. Buat indek untuk fields yang banyak dipakai dalam data retrieval. Misal, buatlah index untuk tabel Member bagi field lname (last name). d. Buat index untuk sebuah foreign key jika ia sering diakses. Misal, sering dilakukan query penggabungan tabel VideoItem dengan Branch pada field branchNo (the branch number). Sehingga, mungkin lebih efisien menambahkan index di tabel VideoItem untuk branchNo.
19 pri.and.ari@2010

4.2 Menentukan Indeks


Panduan menentukan indek
e. Buat index untuk field yang sering terlibat dalam:
a. b. c. d. selection or join criteria; ORDER BY; GROUP BY; Operasi lain seperti UNION or DISTINCT.

f. Buat index bagi field yang dipakai untuk fungsi built-in functions. Misal, membuat index salary.

20

pri.and.ari@2010

4.2 Menentukan Indeks


Panduan menentukan indek
g. Hindari membuat index bagi field yang sering di update. h. Hindari membuat index bagi suatu field apabila proses retrieval data menampilkan lebih dari 25% dari jumlah record. Meskipun data yang tersimpan sangat besar. i. Hindari membuat index bagi field yang berisi data string berukuran besar.

21

pri.and.ari@2010

4.2 Menentukan Indeks


Indes tambahan untuk StayHome

22

pri.and.ari@2010

4.2 Menentukan Indeks


Indes tambahan untuk StayHome

23

pri.and.ari@2010

4.2 Desain User View


Desain user view dapat dilakukan tanpa harus membuatnya menggunakan aplikasi tambahan seperti VB, PHP dll. Desain user view dapat dibuat dengan menggunakan query. Ada beberapa bentuk umum user view:
a. Form tampilan data di aplikasi nantinya. b. Form laporan (reports) yang nantinya akan dicetak (print) c. Form input/update/pencarian data.

Dari ketiga bentuk user view tersebut, pada umumnya aplikasi RDBMS hanya mendukung untuk pembuatan a dan b. Bagian c harus dibuat dengan aplikasi lain.
pri.and.ari@2010

24

4.2 Desain User View


Daftar karyawan StayHome, diurutkan berdasarkan kantor cabang

25

pri.and.ari@2010

4.2 Desain User View


Daftar transaksi peminjaman di sebuah cabang.

26

pri.and.ari@2010

4.2 Desain User View


Daftar Karyawan.

27

pri.and.ari@2010

Diskusi

28

pri.and.ari@2010

Tugas Mandiri
Baca buku [1] chapter 15

29

pri.and.ari@2010