PERANCANGAN DATABASE
PERANCANGAN
DATABASE
RELATIONAL DATABASE
Menjelaskan
kepada pemakai tentang hubungan logik antar data dalam basis data dengan cara
menvisualisasikannya ke dalam bentuk tabel-tabel dua dimensi ynag terdiri dari
sejumlah baris dan kolom yang menunjukkan
atribut-atribut.
Tujuan Perancangan Database
Ø
Untuk menyajikan data dan hubungan antar data yang
diperlukan oleh pemakai dan aplikasi
Ø
Untuk mempermudah pemahaman informasi
Ø
Untuk melengkapi model data yang mendukung
transaksi-transaksi yang diperlukan
Ø
Untuk mendukung proses permintaan dan performance seperti
waktu respon, waktu proses dan tempat penyimpanan
Keuntungan Relational Database :
- Bentuknya sederhana
- Mudah melakukan berbagai operasi data
Karakteristik-karakteristik dalam relasi
- Semua
entry/elemen data suatu baris dan kolom tertentu harus mempunyai
nilai tunggal (single value), bukan suatu larik atau group perulangan.
- Semua entry/elemen data pada suatu kolom tertentu
dalam relasi yang sama harus mempunyai jenis yang sama.
- Masing-masing kolom dalam suatu relasi mempunyai suatu
nama yang unik.
- Pada suatu relasi/tabel yang sama tidak ada dua
baris yang identik.
Istilah dalam Relational Database :
- Record/Tuple :
Sebuah baris dalam suatu relasi.
- Cardinality :
Banyak tuple atau record
- Atribute :
Suatu kolom dalam sebuah relasi
- Domain :
Batasan-batasan nilai dalam atribut dan tipe datanya
- Derajat/Degree :
Banyaknya atribut/kolom
Relational Key
- Super Key
Satu atribut/kumpulan atribut yang secara unik mengidentifikasikan sebuah tupel
di dalam relasi.
- Candidate Key
Atribut di dalam relasi yang biasanya mempunyai nilai unik.
- Primary Key
Candidate key yang dipilih untuk mengidentifikasikan tupelo secara unik dalam relasi.
- Alternate Key
Candidate key yang tidak dipilih sebagai primary key
- Foreign Key
Atribute dengan domain yang sama yang menjadi kunci utama pada sebuah
relasi tetapi pada relasi lain atribut tersebut hanya sebagai atribut biasa.
Aturan-aturan (Rules) dalam Primary Key
Dasar penentuan
primary key adalah bahwa nilai-nilai rinci data dari atribut yang digunakan
sebagai primary key haruslah unik, artinya tidak mungkin ada nilai rinci data
yang sama pada semua record dalam basis data.
- Integritas Entity
Nilai atribut yang dipilih sabagai primay key tidak bolah bernilai null
untuk setiap record yang ada dalam relasi.
- Integritas Referensi
Berhubungan dengan dua atau lebih tabel/relasi dalam suatu system basis
data yang menggunakan primary key yang sama.
Bahasa Pada Relational Database
Menggunakan
bahasa query à
pernyataan yang diajukan untuk mengambil informasi.
Terbagi 2 :
- Bahasa Formal
Bahasa query yang diterjemahkan dengan menggunakan symbol-simbol matematis
dan symbol-simbol logika.
<, >, <=, >=, =, ≠
AND, OR, NOT
- Bahasa Komersial
Bahasa query yang dirancang sendiri oleh programmer menjadi suatu program
aplikasi agar pemakai lebih mudah menggunakannya (user friendly).
Kerelasian (Relationship) antar Entity
- Kerelasian Entity dalam satu tabel
Kerelasian antar entity (yang berupa record) untuk menyediakan data atau
informasi dari atribut-atribut dalam satu tabel.
- Kerelasian Entity dalam banyak tabel
Tipe ini mempunyai kerelasian yang lebih kompleks.
- Jenis Pohon (Tree)
- Jenis Jaringan Sederhana (Simple Network)
- Jenis Jaringan Kompleks (Compleks Network)
Manipulasi Data
- Relational Algebra
Relational algebra menyediakan sejumlah operator untuk memanipulasi data
pada seluruh relasi.
- Proyeksi (Projection)
- Seleksi (Selection)
- Penggabungan (Union)
- Interseksi (Intersection)
- Differensi (Difference)
- Divisi (Division)
- Penyertaan (Join)
- Relational Calculus
Adalah tipe manipulasi data non procedural, karena pemakai hanya
menspesifikasikan data-data apa saja yang diinginkannya, bukan bagaimana
memperolehnya.
Langkah-langkah perancangan
Perancangan
database disini dimulai dari data dictionary (kamus data), yang merupakan
daftar semua elemen/field. Kamus data diperoleh pada saat analisis dengan
Diagram Arus Data (Data Flow Diagram).
Pada perancangan
ini dibuat dengan sekaligus contoh yang pada perancangan komputerisasi karyawan
yang mengerjakan proyek-proyek pada suatu perusahaan.
1.
Buat kamus data
Nama Filed |
Tipe Data |
Panjang |
Keterangan |
No_kar |
character |
4 |
Nomor karyawan |
Na_kar |
character |
20 |
Nama karyawan |
Al_kar |
character |
20 |
Alamat karyawan |
Tgl_msk |
date |
8 |
Tanggal masuk
kerja |
Gaji |
numeric |
7 |
Gaji pokok |
No_bag |
character |
5 |
Nama
bagian/depertemen |
Na_bag |
character |
15 |
Nama
bagian/departemen |
No_pek |
character |
4 |
Nomor pekerjaan |
Na_pek |
character |
20 |
Nama pekerjaan |
Tgl_ml |
date |
8 |
Tanggal mulai
pekerjaan |
Tgl_sls |
date |
8 |
Tanggal selesai
pekerjaan |
Ang_pek |
numeric |
9 |
Anggaran tenaga
kerja |
Jam_ker |
numeric |
3 |
Jam kerja pada
suatu pekerjaan |
2.
Memilih kunci
record
Pada contoh kamus data di atas kunsi
record yang dipilih :
- No_kar ( nomor karyawan, satu karyawan satu nomor )
- No_bag ( nomor bagian/departemen )
- No_pek (
nomor pekerjaan)
3. Bentuklah
entity/tabel berdasarkan kunci recordnya.
no_kar na_kar al_kar tgl_msk gaji
Entity karyawan :
Kunci
no_bag na_bag
Entity
bagian/departemen :
Kunci
no_pek na_pek tgl_ml tgl_sls ang_pek
Entity
pekerjaan :
Kunci
File
Departemen File
Karyawan
4.Mencari relasi antar file dan menggabungkannya
no_pek * na_pek tgl_ml tgl_sls ang_ker no_bag * na_bag File
Pekerjaan
Pada contoh di atas diketahui hubungan antara departemen dengan karyawan
adalah satu lawan banyak, satu departemen terdiri banyak karyawan maka kita
letakkan kunci field departemen (no_bag) pada file karyawan.
Relasi banyak lawan banyak pada file pekerjaan dan karyawan dibuat file
konektor menjadi :
Departeman
No_bag |
Na_bag |
Karyawan
No_kar |
Na_kar |
Al_kar |
Tgl_msk |
Gaji |
No_bag |
pekerjaan
No_pek |
Na_pek |
Tgl_ml |
Tgl_sls |
Ang_pek |
Konektor
No_kar |
No_pek |
5. Melengkapi isi
tiap file
Mengisi field-field yang tergantung (tidak mempunyai kunci record tunggal)
pada file konektor.
Konektor
No_kar |
No_pek |
Jam_ker |
6. Lakukan pemeriksaan
relasi
- semua file jangan sampai memiliki field data yang
sejenis yang ditulis berulang-ulang.
- periksalah dengan metode normalisasi.
Fase-fase dari proses Perancangan
Database
- Pengumpulan
dan analisis permintaan
- Perancangan
model konseptual database
- Pemilihan
DBMS
- Perancangan
model logical database
- Perancangan
fisik database
- Implementasi
database
Fase-1.
Pengumpulan dan analisis Permintaan-permintaan
Fase ini meliputi pengumpulan dan
analisis permintaan dari para pemakai maupun area aplikasi.
Aktifitas-aktifitas yang dilakukan
dalam fase ini:
ð
Mengidentifikasikan kelompok dari pemakai dan area
aplikasi
ð
Mempelajari dokumen-dokumen yang ada
(bentuk-bentuk formulir,
laporan, aturan-aturan)
ð
Menganalisis lingkungan operasional dan pemrosesan permintaan
ð
Mengadakan questioner dan interview
Fase-2.
Perancangan Model Konseptual Database
ð
Fase ini meliputi penyajian data dan hubungan-hubungannya
yang disimpan dalam database
ð
Model data ini terpisah dari detail implementasi seperti
DBMS yang digunakan, program aplikasi dan perangkat kerasnya.
Pada
fase ini dilakukan 2 aktifitas:
a. Perancangan skema konseptual
Aktifitas- aktifitas yang
dilakukan:
ð
Mengidentifikasi tipe entity, atribut-atributnya serta
keterhubungan antar entity
ð
Menentukan key dari atribut-atribut tersebut
ð
Menentukan cardinaliti ratio dan participation constraint
ð
Bila diperlukan ditambahkan spesialisasi atau
generalisasi
Terdapat
2 macam pendekatan:
- Perancangan skema tersentralisasi
ð
Semua permintaan user dan aplikasi dirancang menjadi satu
kesatuan. Autorisasi tersentralisasi oleh DBA.
ð
DBA bertanggungjawab penuh dalam perancangan
ð
Diperlukan perancang database yang ahli dan memahami
permintaan-permintaan untuk setiap pemakai
- Perancangan skema integrasi
ð
Setiap kelompok pemakai dapat merancang database meraka
sendiri-sendiri
ð
Setelah skema konseptual database terbentuk, proses
integrasi dilanjutkan oleh DBA
ð
Pembentukan entity-entity, atribut-atribut dan domain
harus jelas dan seragam pada setiap user group
Strategi-strategi pada
perancangan skema:
- Top Down Strategi
ð
Perancangan dimulai dari pendefinisian tipe-tipe
entitynya terlebih dahulu, setelah itu dilanjutkan dengan ketehubungannya
beserta atribut-atributnya
ð
Pendefinisian tipe entity dari lebih tinggi ke tipe yang
lebih rendah. Contoh : menggunakan spesialisasi
- Bottom Up Strategi
ð
Perancangan dimulai dari pendefinisian atribut-atribut
terlebih dahulu, setelah itu dilanjutkan dengan keterhubungannya beserta
atribut-atributnya
ð
Pendefinisian tipe entity dari lebih rendah ke tipe yang
lebih tinggi. Contoh : menggunakan Generalisasi
- Inside-Out Strategi
ð
Special kasus dari Bottom Up Strategi dimana difokuskan
ke konsep-konsep utama baru ke konsep lainnya.
- Mixed Strategi
ð
Gabungan dari Top Down dan Bottom Up Strategi
- Perancangan transaksi
ð
Transaksi merupakan represantasi dari aktifitas-aktifitas
terhadap database
ð
Perancangan transaksi harus disesuaikan dengan kebutuhan
para pemakai dan area aplikasi
Kegiatan-kegiatan dalam perancangan
transaksi pada tingkat konseptual meliputi:
ð
Mengidentifikasi input/output
ð
Mengidentifikasi fungsi transaksi
Jenis-jenis Transaksi:
v
Retrieval transaksi
Transaksi yang mencari
data untuk menampilkan laporan pada layer
v
Update transaksi
Transaksi untuk
menambahkan, menghapus dan memodifikasi record-record di dalam database
v
Mixed transaksi
Transaksi untuk mencari
data sekaligus untuk update data
Fase-3.
Pemilihan DBMS
Terdapat dua faktor yang perlu
diperhatikan dalam pemilihan DBMS :
1.
Faktor teknik
ð
Pendefinisian primary key, foreign key, tipe data dan
domain
ð
Tersedianya control integrity, mekanisasi view, kamus
data dan kemandirian data
ð
Tipe-tipe model data yang tersedia
ð
Pemeliharaan struktur file
ð
Kemudahan reorganisasi, indexing
ð
Tersedianya kompresi data
ð
Bahasa query yang tersedia
ð
Tersedianya system interface
ð
Multi user diperbolehkan
ð
Tersedianya backup dan recovery
ð
Tersedianya pengontrolan konkurensi
ð
Tersedianya penanganan deadlock
2.
Faktor ekonomi
ð
Perkiraan biaya yang dibutuhkan : software, pemeliharaan
hardware, training, operasi dsb.
ð
System yang lebih familier dengan personal-personalnya
ð
Kemampuan pelayanan vendor (penjual)
Fase-4.
Perancangan Model Logikal database
Didalam fase ini ada 2 kegiatan:
- Pemetaan system independent
(Tansformsi)
ð
Pemetaan dari ER (entity relationship) diagram ke bentuk
database yang dipilih
ð
Jenis-jenis model database adalah relasional, hierarki,
jaringan dan object oriented
- Penyesuaian
skema ke DBMS
ð
Kita harus menyesuaikan skema yang diperoleh ke bentuk
database yang dipilih, karena setiap database mempunyai model data yang berbeda
ð
Bila database yang dipilih adalah database relasional,
maka relasi harus dinormalisasikan terlebih dahulu
Fase-5.
Perancangan Fisik Datase
Perancangan fisik database meliputi :
ð
Perancangan aturan integrity
ð
Analisis transaksi
ð
Pemilihan organisasi file
ð
Pemilihan indekx
ð
Pengontrolan redudansi
ð
Perancangan view untuk pemakai
ð
Pemberian hak pengaksesan untuk pemakai
Beberapa petunjuk dalam pemilihan
database secara fisik:
1. Respon Time
Waktu yang telah berlalu
dari suatu transaksi database yang diajukan untuk menjalankan suatu tanggapan
2. Space Utility
Jumlah ruang penyimpanan
yang digunakan oleh file-file database dan struktur-struktur jalur akses
3. transaction
throughput
Rata-rata jumlah transaksi
yang dapat diproses permenit oleh system database, dan merupakan parameter
kritis dari system transaksi (missal: digunakan pada pemesanan tempat di
pesawat, bank, dll)
Fase-6.
Implementasi Sistem Database
ð
pembentukan database file
ð
pengisian data
ð
konversi data (bila perbaikan system lama)
ð
implementasi transaksi database
ð
testing dan validasi
Comments
Post a Comment