LAPORAN SISTEM BASIS DATA
Nama : Jonip T. Silaban
NIM : 682012071
1.
Jelaskan pengertian
normalisasi data!
Normalisasi adalah proses pengorganisasian data dalam database. Ini
termasuk menciptakan tabel dan membangun hubungan antara tabel tersebut sesuai
aturan yang dirancang untuk melindungi data maupun untuk membuat database yang
lebih fleksibel dengan menghilangkan redundansi dan ketergantungan yang tidak
konsisten.
Data berlebihan limbah ruang disk dan menciptakan masalah pemeliharaan. Jika data yang ada di lebih dari satu tempat harus diubah, data harus diubah dalam cara yang sama di semua lokasi. Perubahan alamat pelanggan jauh lebih mudah untuk menerapkan jika data yang disimpan di tabel pelanggan dan tempat lain dalam database.
Data berlebihan limbah ruang disk dan menciptakan masalah pemeliharaan. Jika data yang ada di lebih dari satu tempat harus diubah, data harus diubah dalam cara yang sama di semua lokasi. Perubahan alamat pelanggan jauh lebih mudah untuk menerapkan jika data yang disimpan di tabel pelanggan dan tempat lain dalam database.
Bentuk Normal pertama
-Menghilangkan
kelompok-kelompok yang berulang dalam tabel individu.
-Membuat tabel
terpisah untuk masing-masing set data terkait.
-Mengidentifikasi
setiap rangkaian data terkait dengan primary key.
Jangan gunakan
beberapa bidang dalam sebuah tabel untuk menyimpan data yang sama. Misalnya,
untuk melacak item persediaan yang mungkin datang dari dua sumber yang mungkin,
catatan persediaan yang mungkin berisi bidang untuk Penjual Code 1 dan penjual
Code 2.
Bentuk Normal Kedua
-Buat tabel
terpisah untuk set nilai-nilai yang berlaku untuk beberapa catatan.
-Berhubungan tabel
ini dengan foreign key.
Catatan tidak
boleh bergantung pada apa pun selain primary key table (senyawa kunci, jika
perlu). Sebagai contoh, perhatikan alamat pelanggan dalam sistem akuntansi.
Alamat diperlukan oleh tabel pelanggan, tetapi juga oleh pesanan, pengiriman,
faktur, Piutang, dan koleksi tabel. Daripada menyimpan alamat nasabah sebagai
entri terpisah dalam masing-masing tabel, menyimpannya di satu tempat, atau
meja pelanggan alamat table yang terpisah.
Bentuk Normal ketiga
-Menghilangkan
bidang yang tidak bergantung pada kunci.
Nilai-nilai dalam catatan yang
bukan merupakan bagian dari rekaman bahwa kunci tidak termasuk dalam tabel.
Secara umum, setiap saat isi sekelompok bidang mungkin berlaku untuk lebih dari
satu catatan data dalam tabel, mempertimbangkan menempatkan bidang tersebut
didalam table yang terpisah.
Sebagai contoh, dalam tabel rekruitmen karyawan, calon Universitas nama dan alamat dapat disertakan. Tetapi Anda perlu daftar lengkap dari Universitas untuk kelompok surat. Jika informasi Universitas disimpan dalam tabel kandidat, ada cara untuk daftar Universitas dengan kandidat saat ini tidak ada. Buat tabel Universitas terpisah dan menghubungkannya ke meja calon dengan Universitas kode kunci.
PENGECUALIAN: Mengikuti bentuk ketiga normal, sementara secara teoritis diinginkan, ini tidak selalu praktis. Jika Anda memiliki tabel pelanggan dan Anda ingin menghilangkan semua dependensi interfield mungkin, Anda harus membuat tabel terpisah untuk kota-kota, kode pos, perwakilan penjualan, pelanggan kelas, dan faktor lainnya yang dapat digandakan dalam beberapa catatan. Secara teori, normalisasi bernilai mengerucutkan. Namun, banyak meja kecil dapat menurunkan kinerja atau melebihi buka file dan kapasitas memori.
Mungkin lebih layak untuk menerapkan bentuk normal ketiga hanya untuk data yang sering berubah. Jika tetap tergantung beberapa bidang, desain aplikasi Anda untuk meminta user untuk memverifikasi semua bidang terkait ketika salah satu berubah.
Sebagai contoh, dalam tabel rekruitmen karyawan, calon Universitas nama dan alamat dapat disertakan. Tetapi Anda perlu daftar lengkap dari Universitas untuk kelompok surat. Jika informasi Universitas disimpan dalam tabel kandidat, ada cara untuk daftar Universitas dengan kandidat saat ini tidak ada. Buat tabel Universitas terpisah dan menghubungkannya ke meja calon dengan Universitas kode kunci.
PENGECUALIAN: Mengikuti bentuk ketiga normal, sementara secara teoritis diinginkan, ini tidak selalu praktis. Jika Anda memiliki tabel pelanggan dan Anda ingin menghilangkan semua dependensi interfield mungkin, Anda harus membuat tabel terpisah untuk kota-kota, kode pos, perwakilan penjualan, pelanggan kelas, dan faktor lainnya yang dapat digandakan dalam beberapa catatan. Secara teori, normalisasi bernilai mengerucutkan. Namun, banyak meja kecil dapat menurunkan kinerja atau melebihi buka file dan kapasitas memori.
Mungkin lebih layak untuk menerapkan bentuk normal ketiga hanya untuk data yang sering berubah. Jika tetap tergantung beberapa bidang, desain aplikasi Anda untuk meminta user untuk memverifikasi semua bidang terkait ketika salah satu berubah.
3. Berikan contoh penerapan normalisasi data!
Normalisasi contoh tabel
Langkah-langkah
ini menunjukkan proses normalisasi meja siswa fiktif.
- Unnormalized tabel:
Siswa #
|
Penasihat
|
ADV-kamar
|
Kelas 1
|
Class2
|
Class3
|
1022
|
Jones
|
412
|
101-07
|
143-01
|
159-02
|
4123
|
Smith
|
216
|
201-01
|
211-02
|
214-01
|
- Bentuk Normal pertama: Tidak mengulangi
kelompok
Tabel harus memiliki hanya dua dimensi. Karena salah satu siswa memiliki beberapa kelas, kelas-kelas ini harus tercantum didalam table yang terpisah. Bidang kelas 1, Class2 dan Class3 dalam catatan di atas adalah indikasi masalah desain.
Spreadsheet sering menggunakan dimensi ketiga, tapi tabel tidak boleh. Cara lain untuk melihat masalah ini adalah dengan hubungan satu-ke-banyak, tidak menaruh satu sisi dan sisi banyak di meja yang sama. Sebaliknya, membuat meja lain dalam bentuk normal pertama dengan menghilangkan kelompok berulang (kelas #), seperti yang ditunjukkan di bawah ini:
Siswa #
|
Penasihat
|
ADV-kamar
|
Kelas #
|
1022
|
Jones
|
412
|
101-07
|
1022
|
Jones
|
412
|
143-01
|
1022
|
Jones
|
412
|
159-02
|
4123
|
Smith
|
216
|
201-01
|
4123
|
Smith
|
216
|
211-02
|
4123
|
Smith
|
216
|
214-01
|
- Kedua bentuk Normal: Menghilangkan Data
redundansi
Perhatikan beberapa kelas # nilai untuk setiap siswa # nilai di atas meja. Kelas # bukanlah fungsional tergantung pada siswa # (primary key), sehingga hubungan ini tidak dalam bentuk kedua normal.
Mahasiswa:
Siswa #
|
Penasihat
|
ADV-kamar
|
1022
|
Jones
|
412
|
4123
|
Smith
|
216
|
- Dua tabel berikut ini menunjukkan bentuk
normal kedua:
Pendaftaran:
Siswa #
|
Kelas #
|
1022
|
101-07
|
1022
|
143-01
|
1022
|
159-02
|
4123
|
201-01
|
4123
|
211-02
|
4123
|
214-01
|
- Bentuk Normal ketiga: Menghilangkan Data
tidak tergantung pada kunci
Dalam contoh terakhir, Adv-kamar (nomor kantor penasihat) fungsional bergantung pada atribut penasihat. Solusinya adalah untuk bergerak bahwa atribut dari tabel siswa ke meja fakultas, seperti yang ditunjukkan di bawah ini:
Mahasiswa:
Siswa #
|
Penasihat
|
1022
|
Jones
|
4123
|
Smith
|
Fakultas:
Nama
|
Kamar
|
Dept
|
Jones
|
412
|
42
|
Smith
|
216
|
42
|
Denormalisasi adalah proses menggandakan data secara sengaja
(sehingga menyebabkan redundansi data) untuk meningkatkan performa database, untuk meningkatkan kecepatan
akses data atau memperkecil query cost.
Yang perlu diingat tentang
denormalisasi adalah bahwa denormalisasi tidak sama dengan tidak melakukan
normalisasi. Denormalisasi dilakukan setelah
tabel dalam kondisi ‘cukup normal’ (mencapai level bentuk normal yang
dikehendaki).
Denormalisasi merupakan proses
yang dilakukan pada database yang sudah dinormalisasi, dengan cara memodifikasi
struktur tabel dan mengabaikan kerangkapan data (yang terkontrol) untuk
meningkatkan kinerja database.
Ada beberapa alasan melakukan denormalisasi:
1.
Mempercepat proses query
dengan cara meminimalkan cost yang
disebabkan oleh operasi join antar
tabel
2.
Untuk keperluan Online
Analytical Process (OLAP)
3.
Dan lain-lain
Adapun konsekuensi denormalisasi adalah sebagai berikut:
1.
Perlu ruang ekstra untuk penyimpanan data
2.
Memperlambat pada saat proses insert, update dan delete
sebab proses-proses tersebut harus dilakukan terhadap data yang redundant
(ganda)
Dengan demikian dapat disimpulkan bahwa denormalisasi harus
dilakukan dengan bijak sebab walaupun memiliki beberapa keuntungan namun juga
memiliki konsekuensi yang patut diperhitungkan.
5. Sebutkan
dan jelaskan setiap tahapan dalam denormalisasi data!
-Nilai-nilai dari atribut ini
diolah dari nilai-nilai yang sudah ada pada atribut yang lain (dari tabel yg
sama atau tabel lain)
-Digunakan untuk menghindari
proses yang berulang dan memakan waktu
2. Atribut
yg berlebihan
Atribut yang menyatakan lebih dari satu fakta
–
Melanggar First Normal Form, karena tidak memiliki
domain nilai yang unik
–
Jenis :
l. Encoded
attribute Atribut yang memiliki kode tambahan yang menunjukkan beberapa kondisi
lainnya
2. Concatenated
Attribute Atribut dalam domain komposit
3. Overlapping
Attribute Atribut dengan nilai yang tidak sepenuhnya eksklusif
4. Alternate
Attribute Atribut yang memiliki arti berbeda tergantung kelompok entitasnya
- Summary Table (tabel rekapitulasi) Normalisasi à tabel-tabel Detail
- Laporan berbentuk Summary (rekapitulasi) merupakan hasil pengolahan dari Kumpulan data Detail
- Makin besar volume data dan makin banyak tabel yang ter-JOIN Ã makin lama waktu diperlukan
- Solusi : simpan hasil pengolahan dalam tabel khusus
6. Berikan contoh
penerapan denormalisasi data!
- Boyce-Codde Method adalah bentuk normal yang digunakan dalam normalisasi database. Ini adalah versi yang sedikit lebih kuat dari bentuk normal ketiga (3NF). BCNF dikembangkan pada tahun 1974 oleh Raymond F. Boyce dan Edgar F. Codd untuk mengatasi beberapa jenis anomali tidak ditangani oleh 3NF.
- Dalam Date (2004), didefinisikan bahwa sebuah relvar berada dalam BCNF bila dan hanya bila setiap FD yang tidak sepele, tidak dapat dikurangi-sebelah kiri memiliki sebuah kunci kandidat sebagai determinannya. Contoh solusi untuk relvar SSP {S#, SNAME, P#, QTY}, menjadi proyeksi.
- Dalam Hariyanto (2004), ketentuan BCNF tercapai apabila masing-masing atribut utama bergantung fungsional penuh pada masing-masing kunci di mana kunci tersebut bukan bagiannya. Contoh sebuah relasi sebelum berada dalam BCNF, Kehadiran {Dosen, Semester, Kuliah, Sesi, Kehadiran}. Diperoleh keterangan bahwa keterangan di atas dapat dideskripsikan bahwa Kuliah memiliki ketergantungan fungsional pada Dosen dan Semester; Dosen memiliki ketergantungan fungsional pada Kuliah dan Semester; Kehadiran memiliki ketergantungan fungsional pada Dosen, Semester dan Sesi; dan Kehadiran memiliki ketergantungan fungsional pada Kuliah, Semester dan Sesi. Dengan demikian, diperoleh hasil dekomposisi.
- Dalam Philip (2007), dinyatakan bahwa sebuah relasi berada dalam BCNF jika, dan hanya jika, setiap kunci kandidat adalah sebuah determinan. Contoh: ORDER (OrderNo, OrderDate, CustNo, PmtMethod, ItemNo, ItemName, UnitPrice, OrderQty).
7. Jelaskan tentang Boyce-Codde method!
Boyce-Codde
Method adalah bentuk normal yang digunakan dalam normalisasi database. Ini
adalah versi yang sedikit lebih kuat dari bentuk normal ketiga (3NF). BCNF
dikembangkan pada tahun 1974 oleh Raymond F. Boyce dan Edgar F. Codd untuk
mengatasi beberapa jenis anomali tidak ditangani oleh 3NF.
8. Sebutkan
dan jelaskan setiap tahapan dalam Boyce-Codde!
- Bentuk BCNF terpenuhi dalam sebuah tabel, jika untuk setiap functional dependency terhadap setiap atribut Y makaà atau gabungan atribut dalam bentuk: X X adalah super key.
- Tabel tersebut harus di-dekomposisi berdasarkan functional dependency yang ada, sehingga X menjadi super key dari tabel-tabel hasil dekomposisi.
- Setiap tabel dalam BCNF merupakan 3NF. Akan tetapi setiap 3NF belum tentu A,Ã termasuk BCNF . Perbedaannya, untuk functional dependency X BCNF tidak membolehkan A sebagai bagian dari primary key.