perancangan database modul 07

12
PERANCANGAN DATABASE

Upload: ohandrian

Post on 15-Jan-2016

7 views

Category:

Documents


0 download

DESCRIPTION

PERANCANGAN DATABASE

TRANSCRIPT

Page 1: Perancangan Database Modul 07

PERANCANGAN DATABASE

Page 2: Perancangan Database Modul 07

Database Management System (DBMS) Dan Struktur Tabel Pemilihan bagian dari struktur tabel secara tepat dan lengkap sangatbergantung pada pemilihan Database Management System (DBMS), sepertiNama Field, Tipe Data dan Ukuran Field. Adapun field-field yang seringdigunakan adalah sebagai berikut :

Data Angka : Numerik atau Alfanumerik (teks)Alfanumerik adalah field yang berisi angka tapi tidak menunjukkan adanya operasi aritmatika (penjumlahan, pengurangan, perkalian atau pembagian). Penggunaan field alfanumerik akan lebih fleksibel dan format tampilannya dapat diatur lebih mudah. Misal dalam tabel Mahasiswa field NPM yang berisi data angka tidak menunjukkan suatu operasi aritmatika, maka tipe data alfanumerik ini sanggat cocok untuk mendefinisikan field NPM tersebut.

Page 3: Perancangan Database Modul 07

Data Numerik : Bilangan Bulat (integer) atau Bilangan Nyata (Real) merupakan tipe data yang sering digunakan dalam Data Numerik, dimana bilangan bulat (integer) mempunyai range -232 s/d 232-1 tanpa ada nilai pecahan, sedangkan bilangan nyata (real) memungkingkan menyimpan nilai pecahan. Misalnya field SKS dan Semester pada tabel Mata Kuliah bisa kita definisikan menggunakan tipa data bilangan bulat (integer), sedangkan field nil_uts atau nil_uas yang ada kemungkinan adanya bilangan pecahan, maka bilangan nyata (real) yang cocok untuk mendefinisikan field tersebut.

Data Bilangan Bulat (Integer) : Ada beberapa pilihan untuk data bilangan bulat (integer) diantaranya : Byte dengan range nilai 0 s/d 255, Word dengan range nilai 0 s/d 65535 dan Long Integer dengan range nilai -2147483648 s/d 2147483647. Pemilihan tipe data tersebut sanggat ditentukan oleh seberapa besar data yang akan disimpan oleh suatu field

Page 4: Perancangan Database Modul 07

Data Bilangan Nyata (Real) : Seperti halnya bilangan bulat, bilangan nyata (real) terbagi menjadi Single (4 byte) yang dapat menampung hingga 7 digit pecahan (1.5x10-45 s/d 3.4x1038) dan Double (8 byte) yang mampu menampung hingga 15 digit pecahan (5x10-324 s/d 1.7x10308). Perlu diperhatikan dalam pemilihan tipe data bilangan adalah waktu akses dan media simpan yang diperluan, dimana data integer memiliki waktu akses yang lebih cepat dan memerlukan media simpan yang lebih kecil dibandingkan data real. Demikian juga tipe single lebih cepat dibandingkan tipe double.

Data Uang : Jika dalam DBMS menyediakan pemilihan data uang/currency, pemilihan data ini sangat membantu dalam field yang menunjukkan nilai uang, dengan memakai tipe data ini akan membantu dalam mengatur tampilan datanya. Misalnya pemisah ribuan atau adanya pemakaian simbol mata uang.

Page 5: Perancangan Database Modul 07

Data Teks : Tipe data teks terbagi menjadi 2 (dua) bagian yaitu :a. Ukuran Tetap (Fixed Character), jika data yang mempunyai panjang karakter yang pasti atau pendek sebaiknya menggunakan tipe data ini. b. Ukuran Dinamik (Variable Character), jika data yang mempunyai

panjang karakter yang bervariasi atau sangat panjang sanggat cocok menggunakan tipe data ini.Misal Field NPM sanggat cocok menggunakan tipe data Fixed Character, sedangkan untuk Nama_Mhs dan Alamat_Mhs sangat tepat jika menggunakan Variable Character, karena bervariasinya ukuran datanya.

Page 6: Perancangan Database Modul 07

Indeks Dan Struktur PenyimpananSalah satu ciri basis data relasional adalah keberadaan key yang disampingberfungsi untuk menjamin keunikan entitas dalam tabel juga akan menjadiacuan (pengidentifikasi entitas) dalam melakukan pencarian ataupengaksesan data. Pada tahap implementasi atribut-atribut dari entitas yangkita tetapkan sebagai key akan direpresentasikan sebagai Indeks Primer(Primary Index). Ada beberapa macam indeks yang dikenal dalam DBMSyaitu :A. Indeks Primer (Primary Index)

Dalam setiap tabel hanya mempunyai 1 (satu) indeks primer, adapun kriteria indeks primer adalah sebagai berikut :- Bersifat mandatory (data tidak boleh kosong)- Bersifat Unik- Mempunyai nilai yang lebih permanen- Berukuran kecil (pendek)

Page 7: Perancangan Database Modul 07

B. Indeks Sekunder (Secondary Index)Digunakan untuk mendukung indeks primer sehingga mempermudah / mempercepat dalam pengaksesan suatu tabel. Tidak seperti indeks primer yang hanya ada 1 (satu) untuk setiap tabel, indeks sekunder ini bisa lebih dari satu dan tidak selalu bersifat unik. Pembentukkan indeks sekunder haruslah berhati-hati, karena keberadaan indeks sekunder ini akan membebani proses pengubahan data. Semua indeks sekunder akan mengalami perubahan (di-reorganisasi) pada saat manipulasi data (penambahan, pengubahan dan penghapusan).

Page 8: Perancangan Database Modul 07

Struktur Penyimpanan (Storage Structure)Struktur penyimpanan (storage structure) juga sangat berpengaruh dalamkecepatan akses dan manipulasi data. Tabel yang berisi baris data(row/record) yang mewakili setiap entitas/relasi dalam diagram E-R, makastruktur penyimpanan berkaitan dengan cara penempatan (penyusunan)baris data di setiap tabel. Secara umum setiap baris data akan disusunsecara sekuensial berdasarkan kedatangannya (kronologis). Penyusunanbaris data tersebut akan berdampak pada besar/kecilnya ruangpenyimpanan yang dibutuhan dan kecepatan pengaksesan data dalamtabel.

Beberapa struktur penyimpanan yang disediakan oleh DBMS di antaranya :

Heap : Merupakan struktur penyimpanan yang paling sederhana. Dimana setiap baris data disimpan berdasarkan kronologis penyimpanannya, record pertama disimpan diposisi awal dan seterusnya.

Page 9: Perancangan Database Modul 07

Setiap penghapusan record, maka record sesudahnya menempati record yang dihapus. Pencarian data sangat lamban karena penelusurannya dilakukan dari posisi awal sampai posisi akhir.

Struktur penyimpanan Heap sanggat cocok untuk tabel yang berukuran kecil dan jarang berubah

Hash : Merupakan struktur penyimpanan yang menempatkan baris data berdasarkan alamat fisiknya yang diperoleh dari hasil perhitungan (penggunaan fungsi Hashing) terhadap nilai key-nya. Jadi jika sebuah baris data akan disimpan, maka DBMS akan menerapkan fungsi tersebut terhadap nilai key (field yang menjadi key) pada baris tersebut. Hasilnya adalah nilai yang menunjukkan alamat fisik dimana baris data tersebut akan ditempatkan. Struktur Penyimpanan Hash sangat cocok untuk tabel yang sering digunakan sebagai acuan tabel lain. Hash memberikan kecepatan pencarian data tunggal berdasarkan nilai key (mis. Mencari satu baris data dari tabel Mahasiswa dengan NPM),

Page 10: Perancangan Database Modul 07

tapi tidak dengan halnya dengan pencaraian data kelompok (mis. Perncarian baris data dari tabel Mahasiswa yang tahun masuknya = ‘2011’). Kelemahan lain dari struktur

penyimpanan Hash adalah kebutuhan ruang penyimpanan awal. Jadi sebelum suatu baris data disimpan harus ditentukan

besarnya ruang kosong untuk menyimpan data atau dengan kata lain kita harus dapat memperkirakan dengan baik jumlah baris data secara keseluruhan sebelum data disimpan.

Sekuensial Berindeks : Merupakan struktur penyimpanan yang menempatkan data dengan urutan tertentu dalam tabel (mis. Berdasarkan nilai indeks primer-nya). Struktur penyimpanan ini memerlukan waktu yang lebih lama untuk memposisikan record

jika terjadi perubahan data yang menyangkut nilai yang digunakan sebagai dasar pengurutannnya. Struktur penyimpanan ini

sangat cocok untuk tabel yang sifatnya statis, selain itu struktur penyimpanan ini sangat cocok untuk pencarian data kelompok pada

suatu tabel.

Page 11: Perancangan Database Modul 07

File Berindeks : Merupakan struktur penyimpanan yang menggunakan metode Heap, namun disediakan pula file indeks-nya yang

disusun atau diurutkan berdasarkan nilai key-nya. Sehingga mempercepat dalam pencarian data kesuatu tabel. Jadi pada struktur penyimpan ini akan ada 2 (dua) objek/komponen yaitu komponen data yang disusun dengan struktur penyimpanan Heap dan komponen indeks yang disusun dengan struktur penyimpanan Sekuensial Berindeks. Struktur penyimpanan ini cocok digunakan untuk tabel yang dinamis (karena yang di-organisasikan hanya komponen indeks yang ukurannya lebih kecil dibanding komponen data) dan tabel yang berukuran besar.

Page 12: Perancangan Database Modul 07

Bagan Pertimbangan PenentuanStruktur Penyimpanan