PERANCANGAN DATABASE
PERANCANGAN DATABASE Merancang database merupakan suatu hal yang sangat penting. Kesulitan utama dalam merancang database adalah bagaimana merancang sehingga database dapat memuaskan keperluan saat ini dan masa yang akan datang. Perancangan model konseptual perlu dilakukan disamping perancangan model phisik. Pada perancangan konseptual akan menunjukkan entity dan relasinya berdasarkan proses yang diinginkan oleh organisasi. Ketika menentukan entity dan relasinya dibutuhkan analisa data tentang informasi yang ada dalam spesifikasi di masa yang akan datang. Pada pendekatan model konseptual, beberapa konsep pendekatan relational digunakan, namun tidak berarti konsep ini nantinya diimplementasikan ke model relational saja tetapi dapat juga dipakai pada model hierarchical dan model network.
MERANCANG MODEL KONSEPTUAL DATABASE Tugas database administrator adalah merancang model konseptual database. Model konseptual bukanlah pendekatan proses informasi seorang programmer aplikasi, tetapi merupakan kombinasi beberapa cara untuk memproses data untuk beberapa aplikasi. Model konseptual tidak tergantung pada aplikasi individual, tidak tergantung pada DBMS yang digunakan, tidak tergantung pada hardware yang digunakan serta juga tidak tergantung pada phisikal model. Pada perancangan model konseptual penekanan tinjauan dilakukan pada struktur data dan relasi antar file. Tidaklah perlu dipikirkan tentang terapan dan operasi yang akan dilakukan pada database. Pendekatan yang dilakukan pada perancangan model konseptual adalah menggunakan model data relational. Terdapat dua teknik yaitu: 1. Teknik Normalisasi 2. Teknik Entity Relationship
TEKNIK NORMALISASI Proses normalisasi merupakan proses pengelompokan data elemen menjadi tabel-tabel yang menunjukkan entity dan relasinya. Pada proses normalisasi selalu diuji pada beberapa kondisi. Apakah ada kesulitan padaa saat menambah (insert), menghapus (delete), mengubah (update), membaca (retrieve) pada suatu database. Bila ada kesulitan pada pengujian tersebut maka relasi tersebut dipecah pada beberapa tabel lagi atau dengan kata lain perancangan belumlah mendapat database yang optimal. Ada beberapa konsep yang harus diketahui terlebih dahulu yaitu: Field/Atribut kunci Kebergantungan fungsi (Functional dependency) Anomali
FIELD / ATRIBUT KUNCI Setiap entity selalu terdapat kunci dari entity berupa satu field atau satu set field yang dapat mewakili record. Misalnya Nomor pegawai merupakan kunci dari tabel pegawai, setiap pencarian cukup dengan menyebut nomor pegawai tersebut maka dapat diketahui nama, alamat dan atribut lainnya mengenai seorang pegawai tersebut. Candidate key (Kunci kandidat/ calon) adalah satu atribut atau satu set minimal atribut yang mengidentifikasikan secara unik suatu kejadian spesifik dari entity. satu minimal set dari atribut menyatakan secara tidak langsung dimana kita tidak dapat membuang beberapa atribut dalam set tanpa merusak kepemilikan yang unik. jika satu kunci kandidat berisi lebih dari satu atribut, maka biasanya disebut sebagai composite key (kunci campuran / gabungan)
Contoh: Entity pegawai berisi atribut: No Induk No KTP Nama Tempat Lahir Tanggal Lahir Alamat Kota Kunci kandidat disini adalah: No Induk, karena unik tidak mungkin ganda No KTP, karena unik tidak mungkin ganda Nama, sering dipakai sebagai kunci pencarian namun tidak dapat dikatakan kunci karena sering seseorang punya nama yang sama Nama + Tanggal Lahir, dapat dipakai sebagai kunci karena kemungkinan sangat kecil seseorang punya nama yang sama yang lahir pada hari yang sama. Alamat, Kota, bukan kunci
Primary Key (Kunci Primer) adalah satu atribut atau satu set minimal atribut yang tidak hanya mengidentifikasi secara unik suatu kejadian spesific, tetapi dapat juga mewakili setiap kejadian dari suatu entity. setiap kunci kandidat penya peluang menjadi primary key, tetapi sebaiknya dipilih satu saja yang dapat mewakili secara menyeluruh terhadap entity yang ada. Contoh No Induk, No KTP Alternate Key (Kunci Alternatif) Adalah kunci kandidat yang tidak dipakai sebagai primary key. Kerap kali kunci laternatif ini dipakai sebagai kunci pengurutan dalam laporan, misalnya Nama
Foreign Key (Kunci Tamu) adalah satu atribut yang melengkapi satu relationship (hubungan) yang menunjukkan ke induknya. Kunci tamu ditempatkan pada entity anak dan sama dengan kunci primer induk direlasikan. Hubungan one to many Contoh Entity transaksi gaji bulanan no induk nomor bukti tanggal jumlah gaji kotor jumlah potongan jumlah gaji bersih jumlah pajak Kunci tamu (Foreign Key) no induk, karena atribut ini berhubungan dengan entity pegawai Kunci primer nomor bukti, karena unik dan mewakili entity.
Dalam hubungan dua buah entity yang memiliki relationship many to many, maka terdapat 2 buah kunci tamu pada entity konektornya. Contoh: File proyek nomor proyek tgl mulai tgl selesai anggaran File Pegawai no induk nama Hubungan antara file tersebut adalah many to many, karena satu pegawai mengerjakan lebih dari satu proyek dan satu proyek dikerjakan oleh beberapa pegawai. Entity konektor akan berisi kunci tamu dari kedua file. jam kerja
KEBERGANTUNGAN FUNGSI (FUNCTIONAL DEPENDENCY) Pada tabel pegawai berisi atribut: No Induk No KTP Nama Tempat Lahir Tanggal Lahir Alamat Kota Isi atribut nama bergantung pada No induk. Jadi dapat dikatakan bahwa atribut nama bergantung secara fungsi pada No Induk dan No Induk menunjukkan secara fungsi Nama. Jika kita mengetahui No Induk Pegawai, maka kita dapat menentukan Nama Pegawai tersebut.