Kamis, 28 Februari 2013

PERTEMUAN 5(STUDI KASUS DENORMALISASI PADA RUMAH SAKIT)


Studi Kasus Denormalisasi pada Rumah Sakit

Pertama identifikasi masalahnya dulu..
kasus yang terjadi di rs bayangkara sbb:
1.semua data-data yg ada di rumah sakit masih berjalan manual
2.tenaga kerja yang menangani pasien masih kurang
3.sistem pelayanan informasi yang ada di rs.bayangkara belum sepenuhnya membantu mempermudah pekerjaan
kedua analisis sistem
1.penyimpanan data kalau dalam bentuk manual belum terjamin keamanannya,seperti terjadi kebakaran ,sunami dll ,hal ini bisa mengakibatkan semua arsip/data hilang sehingga perlu dihimbau dalam penyimpanan datanya harus ditempat lebih aman.
2.adanya tambahan dokter/suster agar lebih cepat dalam menangani pasien .
3.kebutuhan data pada saat dibutuhkan mesti yang efektif dan efesien itu lah yang menjadi alasan utama penyedian informasi lebih akurat
ketiga ada analisis kebutuhan
data yang dibutuhkan dalam pengembangan sistem informasi ini berupa:
1.data pasien :nama pasien,alamat,jenis kelamin,tanggal lahir,dll
2.data petugas administrasi :nama petugas,alamat,jenis kelamin dll.
3.data dokter :nama dokter,alamat,menangani jenis penyakitnya ,dll.
4.data obat :nama obat,jenis,dan harga
5.data anggaran :data pasien,total harga perawatan diruma sakit serta obatnya
6.data pemeriksaan :data pasien,nama dokter yg menangani,keluahannya,diagnosa dll


PERTEMUAN 5(STUDI KASUS NORMALISASI PADA RUMAH SAKIT)


Studi Kasus Normalisasi pada Rumah Sakit
Dasar-dasar normalisasi
  • Normal form (bentuk normal) adalah suatu klas dari skema database relasi yang didefinisikan untuk memenuhi tujuan dari tingginya integritas dan maintainability
  • Kreasi dari suatu bentuk normal disebut normalisasi
  • Normalisasi dicapai dengan penganalisaan ketergantungan diantara setiap individu attribut yang diassosiasikan dengan relasinya
First normal form
  • Suatu relasi ada dalam kondisi First Normal Form (1NF) jika dan hanya jika semua domain yang tercakup terdiri hanya atomic value, misalnya tidak ada pengulangan group (domain-domain) dalam suatu tuple
  • Keuntungan dari 1NF dibanding Unnormalized relation (UNRs) adalah pada bentuk penyederhanaan representasi dan kemudahan dalam pengembangan menggunakan suatu query language
  • Kekuranannnya adalah kebutuhan terhadap duplikasi data
  • Sebagian besar sistem relasi (tidak semua) membutuhkan suatu relasi dalam bentuk 1NF
Second Normal Form
  • Suatu superkey adalah suatu himpunan dari satu atau lebih attribute, yang mana, dimana diambil secara khusus yang memmungkinkan kita untuk mengidentifikasikan secara unik satu entitas atau relasi
  • Suatu Candidate key adalah suatu subset dari attribut-attribut pada superkey yang juga merupakan superkey dan tidak reducible ke superkey yang lain
  • Suatu primary key dipilih dari himpunan candidate key untuk digunakan pada suatu index untuk relasi yang bersangkutan
  • Kepemilikan dari satu atau beberapa attribute yang dapat didefinisikan secara unik dari nilai satu atau beberapa attribute disebut functional dependency
  • Diberikan suatu relasi (R), suatu himpunan (B) adalah functionally dependent pada himpunan attribut yang lain(A) jika, pada satu waktu tertentu, setiap nilai A diassosiasikan dengan satu nilai B, bentuk ini adalah suatu FD yang dinotasikan dengan A B
• contohR : {paper-id, inst-name, isnt-addr, editor-id, publ-id, auth-id, auth-name,auth-addr}Fds : paper-id, auth-id auth-namepaper-id,auth-id auth-addrpaper-id, auth-id inst-namepaper-id, auth-id inst-addrauth-id auth-nameauth-id auth-addrinst-name inst-addrpaper-id editor-idpaper-id publ-idbentuk sederhanapaper-id, auth-id auth-name, auth-addr, inst-name, inst-addrauth-id auth-name, auth-addrinst-name inst-addr
paper-id pub-id, editor-id
  • Suatu relasi adalah dalam posisi second normal form (2NF) jika dan hanya jika relasi tersebut juga dalam 1NF dan setiap nonkey attribute tergantung penuh pada primary key-nya
  • 2NF membutuhkan bahwa FD apapun didalam relasi harus berisi semua komponen dari primary key sebagai determinant, baik secara langsung atau transitif
  • contoh, primary key adalah paper_id, auth_id. Bagaimanapun, terdapat Fds yang lain (auth_Id auth-name, auth-addr, and paper-id pub-id, editor-id) yang berisi satu komponen dari primary key, tetapi tidak keduaduanya.
  • Mengapa harus 2NF, pertimbangkan keuntungan dari 1NF pada R. paper, pub-id dan editor-id dibuat duplikat. Untuk setiap author dari paper. Jika editor dari publikasi untuk suatu paper berubah, beberapa tuple harus pula di-update. Akhirnya, jika satu paper di ambil, semua tupple yang diassosiasikan harus dihapus. Bentuk ini akan memberikan efek samping pada penghapusan informasi yang mengassosiasikan suatu auth-id dengan auth-name dan auth-addr.
  • Suatu cara yang dapat dilakukan untuk hal tersebut adalah dengan mentransformasikan relasi kedalam dua atau beberapa relasi 2NF
contohR1 : paper-id, auth-id inst-name, inst-addrR2 : auth-id auth-name, auth-addrR3 : paper-id pub-id, editor-id
Third Normal Form
  • Pada R1, inst_addr pasti diduplikat untuk setiap kombinasi paper_author yang mejelaskan satu inst_name. Juga, jika kita menghapus satu paper dari database, kita harus memberikan efek samping penghapusan assosiasi antara inst_name dan inst_addr.
  • Suatu relasi dalam Third Normal Form (3NF) jika dan hanya jika relasi tersebut dalam 2NF dan setiap non key attribute adalah nontransitive dependent pada primary key
Contoh :R11 : paper-id, auth-id inst-nameR12 : inst_name inst_addrR2 : auth-id auth-name, auth-addrR3 : paper-id pub-id, editor-id
Boyce-Codd Normal Form
  • Suatu Trivial FD adalah suatu bentuk YZ Z
  • Suatu relasi R dalam kondisi Boyce-Codd Normal Form (BCNF) jika untuk semua nontrivial FD X A, X adalah superkey
  • BCNF adalah suatu bentuk yang lebih kuat dari normalisasi ke tiga. 3NF equivalent dengan perkataan bahwauntuk setiap nontrivial FD X A, dimana X dan A merupakan simple atau composite attribut, satu dari duakondisi harus dipenuhi.X adalah superkey, atauA adalah prime attribute
  • BCNF mengelimisasi kondisi kedua dari 3NF
Penerapan Bentuk Normalisasi
Proses perancangan database menggunakan metode normalisasi dapat dimulai dari dokumen dasar yang pakai dalam sistem.
  • Menuliskan semua data yang akan direkam, bagian yang double tidak perlu dituliskan. Terlihat record record yang tidak lengkap, sulit untuk membayangkan bagaimana bentuk record yang harus dibentuk untuk merekam data tersebut.
  • Bentuklah menjadi bentuk normal kesatu dengan memisah misahkan data pada field field yang tepat dan benilai atomic, juga seluruh record harus lengkap adanya. Bentuk file adalah flat file.
    Dengan bentuk normal kesatu ini telah dapat dibuat satu file dengan 11 field yaitu nomor factur, kode supplier, nama supplier, kode barang, nama barang, tanggal, jatuh tempo, quantitas, harga, jumlah, total satu factur.
  • selanjutnya
Sebagai contoh kita perhatian data pada suatu rumah sakit bedah yang telah tersusun dalam bentuk laporan.

Tabel -2
Tabel 2 adalah suatu relasi yang tak normal. Perpotongan antara baris dan kolom ada yang memiliki lebih dari satu nilai. Identifikasi unik (primary key) dari table 2 adalah NO PASIEN. Berdasankan nilai key ini kita tidak bisa memperoleh nilai atribut yang unik, karena terjadi group pengulangan pada kolom-kolom
  • NO DOKTER
  • NAMA DOKTER
  • TGL OPERASI
  • JENIS OPERASI
Disain dengan group pengulangan seperti ini akan banyak menimbulkan masalah dalam melakukan pemrosesan, yaitu diperlukan program aplikasi yang sedikit kompleks, karena untuk kolom di mana terjadi group pengulangan diperlukan penanganan khusus.
1NF
Untuk mengatasi hal ini, kita transformasikan tabel pada table 2 menajdi tabel dengan relasi bentuk normal pertama table 3. Identifikasi unik pada tabel ini adalah NO PASIEN, NO DOKTER, TGL OPERASI. Dengan kata lain, jika kita mengetahui NO PASIEN, NO DOKTER dan TGL OPERASI maka kita bisa memperoleh nilai unik dan atribut-atnibut yang lainnya. Dalam hal ini dikatakan, semua atribut yang bukan sebagai key secara bersama-sama bergantung penuh kepada identifikasi unik. Identifikasi unik ini disebut sebagai primary key dari tabel 1NF.

Penyimpangan yang terjadi pada relasi bentuk normal ke pertama ini adalah sbb :Penyimpangan penyisipanJika ada pasien baru yang akan dioperasi, tapi kita belum tahu siapa dokternya dan kapan operasi dilakukan, maka kita tidak bisa menyisipkan data tentang pasien tersebut berdasarkan primary key yang ada. Untuk menyisipkan NAMA PASIEN dan ALAMAT PASIEN, kita hanya membutuhkan NO PASIEN sebagal key. Jadi kita tidak bisa menyisipkan data sebelum diketahui dokter siapa dan kapan operasi akan dilakukan. Jika kita plsahkan atribut NAMA PASIEN, ALAMAT PASIEN bersama-sama dengan NO PASIEN, maka penyisipan data pasien baru bisa dilakukan.
Hal yang sama juga terjadi jika kita ingin menyisipkan dokter yang baru mulal bekerja pada rumah sakit tersebut. Selama dokter baru tersebut belum pemah melakukan operasi, maka kita tidak bisa menyisipkan data tentang dokter tersebut ke dalam entiti. Hal ini bisa diatasi dengan memisahkan atribut NAMA DOKTER bersama-sama dengan atribut NO DOKTER menjadi satu entiti baru.Penyimpangan perubahanPasien yang merupakan langganan rumah sakit tersebut yang beberapa kali dioperasi, seperti mlsalnya pasien dengan nama JOHN, setiap kali dilakukan operasi, data-data tentang JOHN, yaitu NAMA dan ALAMAT akan tercatat dalam satu rekord. Dalam contoh ini JOHN dioperasi sebanyak empat kali, maka JOHN memiliki empat rekord. Jika suatu saat, misahiya JOHN dioperasi untuk yang ke lima kalinya, sedangkan pada seat itu JOHN sudah pindah alamat. Jadi alamat-alamat yang tercatat sebelumnya tidak berlaku lagi dan perlu diperbaharui. karena alamat JOHN tercatat dibeberapa tempat, maka pembaharuan juga harus dilakukan dibeberapa tempat. ini adalah contoh penyimpangan perubaban yang muncul pada table dengan relasi bentuk pertama.Penyimpangan perubahan ini bisa diatasi, jika atribut-atribut NAMA
PASIEN dan ALAMAT PASIEN tercatat hanya sekali untuk setiap pasien.
Hal ini bias dilakukan dengan menempatkan atribut NAMA PASIEN dan
AIAMAT PASIEN bersama-sarna dengan NO PASIEN dalam satu entiti
terpisah.Penyimpangan-penghapusan yang teijadi pada relasi bentuk
pertama ini adalah sebagai berikut: Penyimpangan penghapusanMisalnya ada pasien yang dirawat meninggal dunia, misalnya pasien dengan nama BUD!. Ketika data-data tentang BUDI dihapus, secara tidak sengaja kita juga kehilangan data-data tentang dokter yang melakukan operasi terhadap BUDI, yaltu DR. A. Kebetulan. DR. A melakukan operasi baru sekali, sehingga data-data tentang DR. A tidak ada ditempat lain. Tentunya hal. ini tidak diinginkan karena data-data tentang DR. A masih dlbutuhkan di rumahsakit tersebut.Penyimpangan penghapusan seperti pada contoh ini, bisa diatasi dengan memisahkan data-data tentang dokter menjadi satu entili terpisah, dengan demikian setiap ada pasien yang meninggal dunia dan rekordnya Ingin dihapus, kita tidak akan kehilangan data-data tentang dokter yang merawatnya.
Di samping penyimpangan di atas, pada relasi dengan bentuk normal pertama juga terjadi penyimpangan-penyimpangan tempat penyunpanan (storage Anomaly), yaftu pada kolom kolom NO PASIEN, NAMA PASIEN, ALAMAT PASIEN terdapat nilai yang ditulis berulang-ulang, ini disebabkan karena pasien dengan NAMA dan ALAMAT tersebut menjalani beberapa kali operasi. Hal yang sama juga terjadi pada kolom NO DOKTER dan NAMA DOKTER yaitu untuk dokter-dokter yang telah melakukan beberapa kali operasi. Penyimpangan ini muncul karena ada atribut-atribut yang bergantung secara penuh kepada bagian dari key. Seperti mlsa]nya NAMA PASIEN dan M4MAT PASIEN bergantung secara penuh pada NO PASIEN, dan NO PASIEN adalah bagian dari key. Demikian juga untuk atribut NAMA DOKTER yang bergantung secara penuh pad NO DOKTER yang merupakan bagian dari key.
Untuk mengatasi penyimpangan.penyimpangan yang terjadi pada bentuk normal pertama adalah pisahkan kolorn-kolom ditempat mana duplikasi data terjadi atau bangun enilti baru yang terdiri dari atribut atribut yang bergantung secara penuh pada bagian dari key, dengan keteutuan sebag benikut:
I. Key dari tabel baru adalah key dari group dupilkasi.2. Key dari tabel asal adalah sebagai atribut pada tabel baru.3 Mungkin perlu menyertakan key atau bagian dar key pada tabel asal
sebagai key pada tabel baru Group duplikasi pada pembahasan kita adalah NO PASIEN, NAMA PASIEN ALAMAT PASIEN dan key dari group ini adalah No PASIEN

Tabel-4
Sedangkan group duplikasi yang lain, yaitu NO DOKTER dan NAMA DOK. TER dipisahkan menjadi tabel DOKTER, dengan key NO DOKTER. Tabel. nya terlihat pada table-5

Tabel-5
Sedangkan entiti asal akan menjadi seperti benikut, kita sebut saja sebagal tabel MASTER. Group duplikasi pada tabel yang klta bicanakan adalah NO PASIEN, NAMA PASIEN, ALAMAT PASIEN. Bentuk tabel barn dengan nama PASIEN

Tabel-6
Hasil proses normalisasi dan relasi normal bentuk pertama, yaltu pada table-4, table-5,Tabel-6 adálah relasi beniUk iormal kedua (2NF).
Untuk melakukan pengecekan, apakah relasi dalam suatu tabel bukan merupakan bentuk normal ke dua adalah jika primary key merupakan gabungan dan beberapa atnibut dan ada atribut lain yang bergantung secara penuh pada salah satu atau bagian dan primary key.
Setiap relasi bentuk normal ice dna makaju merupakan relasi bentuk normal pertama. Sebaliknya, jika rebel bentuk normal pertama maka belum teutu merupakan relasi bentuk normal ice dua. Tabel yang ditunjukkan pada Gambar XWJ adalah relasi bentuk normal pertama, tapi bukan bentuk normal ke dna, sedangkan pada Gambar XWA, Gambar XW.5 dan Gambar XIV4 adeh relasi bentuk normal pertama dan juga relasi bentuk normal kedua.Penyunpangan-penyimpangan yang teqadi pada relasi bentuk normal pertama dapat diatasl dengan membanin entfti-entiti barn, yaltu entiti MASTER, entiti PASIEN dan entiti DOKTER. Proses nornalisasi di aim menghasm relasi bentuk normal kedua,. Relasi antara ketiga entiti dapat digambarkan sebagai benlkut PASIEN < —— >> MASTER << ———- > DOKTER
yaita antara PASIEN dan MASTER satu-ke-banyak dan antara DOKTER dan MASTER satu-ke-banyak.Jika kita ingin menyisipkan data-data tentang pasien baru, pada relasi bentuk normal kedua kita melakukannya dengan menyisipkan data teisebut ke entiti PASIEN. Demikian juga, jika data-data tentang dokter yang ingin dimasukkannya, kita bisa menyisipkarmya pada entiti DOKTER. Untuk melakukan perubahan.pembakan alamat pasien, kita tidak penlu lagi melakukan perubahan dibeberapa tempat, tapi cukup mengadakan perubahan satu rekord pada entiti PASIEN. Apabila ada rekord yang harus dihapus pada entiti MASTER, kita tidak akan kehilangan data-data tentang dokter yang dihapus pada entiti MASTER, karena semua data-data tentang dokter berada dalam entiti DOKTER.
Penyirnpangan..penyimpangan yang tenjadi pada relasi bentuk normal pertama telah dapat diatasi dengan mentransformasikan menjadi relasi bentuk normal kedua. Walaupun demikian, bukan berarti pada relasl bentuk normal kedua sudah tidak ada lagi penyimpangan-penyimpangan tersebut. Berikut ini kita lihat penyimpangan..penyimpg yang teijadi pada relasi bentuk normal kedua, perhatjkan Garnbar XW.6. Penyimpangan penyisipan Kita tidak bisa menyisipkan data-data tentang obat dan efek sarnpi. ngannya, kecuali jika obat tersebut diberikan kepada pasien. Dengan kata lain, jika kita ingin menyisipican data-data tentang obat, maka kita tenlebih dahulu hams membangun suatu relasi dengan primary key pada entiti MASTER. Penyimpangan penghapusan Penyimpangan penghapusan teijadi jika ada atribut bukan key yang bergantung penuh pada atnibut yang juga bukan key. Path gambar XIV.6, atnibut EFEK SAMPINGAN di samping bergantung path primary key, juga bergantung path atnbut OBAT YANG DJBERJK yang bukan sebagai k. Jika misainya ada pasien yang dlbCdkan PENICILLIN tapi efek sampin ya bukan DEMAM, maka EFEK SAMPINGAN liii harus dthapus atan diperbahanihi. Jika PENICILLIN dengan EFEK SAMPINGAN DEMAM mlsalnya tercatat hanya sekali, maka penghapusan ml akan mengiilangkan informasi teñtang PENICILLIN dengan EFEK SAMPINGAN DEMAM. Hal ini mungkin tidak diinginkan.Penyimpangan perubahan Jika EFEK SAMPINGAN yang dibicarakan dalam kasus penyimpangan penhapusan munculdibeberapa tempat, maka perubahan harus dilakukan dibeberapa tempat. Hal ini tentunya akan membutuhkan lebih banyak waktu dibandingkan dengan melakukan perubahan hanya pada satu tempat saja.Penyimpangan-penyimpangan yang terjadi pada relasi bentuk normal kedua sebagai akibat dari kebergantungan atribut bukan key (EFEK SAMPINGAN) pada atribut lain yang juga bukan sebagai key (OBAT YANG DIBERIKAN). Ketergantungan semacam ini disebut ketergantungan transitif (transitive Dependency).Untuk mengatasi ketergantungan transitif ini, pisahkan atribut-atribut bukan key yang bergantung pada atribut lain yang juga bukan key. Dalam catoh ini, kita bangun entiti baru, yaitu entiti OBAT dengan atribut-atribut OBAT YANG DIBERIKAN dan EFEK SAMPINGAN. Entiti MASTER sekarang tampak pada table 7 dan entiti OBAT pada table 8

Tabel-7

Proses normalisasi yang dilakukan pada relasi bentuk normal kedua menghasilkan relasi dengan bentuk normal ketiga.
Setiap relasi bentuk normal ketiga maka juga merupakan relasi bentuk normal kedua. Sebaliknya, jika relasi bentuk normal kedua maka belum tentu merupakan relasi bentuk normal ketiga. Tabel yang ditunjukkan pada table 7 adalah relasi bentuk normal ketiga dan juga relasi bentuk normal kedua.Penyimpangan-penyimpangan yang terjadi pada relasi bentuk normal kedua, dapat diatasi dengan membangun entiti baru yang terdiri dari atribut-atribut yang bergantung transitif, dan proses normalisasinya menghasil relasi bentuk normal ketiga. Transforrnasi dan relasi bentuk normal kedua ke relasi bentuk normal ketiga hampir sama dengan transformasi dan bentuk normal pertama kebentuk normal kedua. Perbedaan keduanya adaIah, tranformasi dari 1NF ke 2NF, berdasarkan relasi antara atribut bukan key dengan atribut yang sebagai key sedangbn transformasi dari 2NF ke 3NF, berdasarkan relasi antara atribut bukan key dengan atribut lain yang juga bukan key.

Jumat, 22 Februari 2013

PERTEMUAN 4(NORMALISASI,DENORMALISASI & BOYCE-CODDE)


  • Pengertian Normalisasi Data.

Normalisasi merupakan sebuah teknik dalam logical desain sebuah basis data yang mengelompokkan atribut dari suatu relasi sehingga membentuk struktur relasi yang baik (tanpa redudansi).
Normalisasi adalah proses pembentukan struktur basis data sehingga sebagian besar ambiguity bisa dihilangkan.

  • Proses normalisasi

Data diuraikan dalam bentuk tabel, selanjutnya dianalisis berdasarkan persyaratan tertentu ke beberapa tingkat.
Apabila tabel yang diuji belum memenuhi persyaratan tertentu, maka tabel tersebut perlu dipecah menjadi beberapa tabel yang lebih sederhana sampai memenuhi bentuk yang optimal.
Tahapan dalam Normalisasi Data.
Tahap Normalisasi dimulai dari tahap paling ringan (1NF) hingga paling ketat (5NF). Biasanya hanya sampai pada tingkat 3NF atau BCNF karena sudah cukup memadai untuk menghasilkan tabel-tabel yang berkualitas baik. Urutan: 1NF, 2NF, 3NF, BCNF, 4NF, 5NF.

Bentuk 1NF (First Normal Form)
Aturan :
Tidak adanya atribut multi-value, atribut komposit atau kombinasinya.
Mendefinisikan atribut kunci.
Setiap atribut dalam tabel tersebut harus bernilai atomic (tidak dapat dibagi-bagi lagi).

Bentuk 2NF (Second Normal Form)
Aturan :
Sudah memenuhi dalam bentuk normal kesatu (1NF).
Semua atribut bukan kunci hanya boleh tergantung (functional dependency) pada atribut kunci.
Jika ada ketergantungan parsial maka atribut tersebut harus dipisah pada tabel yang lain.
Perlu ada tabel penghubung ataupun kehadiran foreign key bagi atribut-atribut yang telah dipisah tadi.

Bentuk 3NF (3th Normal Form)
Aturan :
Sudah berada dalam bentuk normal kedua (2NF).
Tidak ada ketergantungan transitif (dimana atribut bukan kunci tergantung pada atribut bukan kunci lainnya).

Bentuk 4NF (4th Normal Form)
Bentuk normal 4NF terpenuhi dalam sebuah tabel jika telah memenuhi bentuk BCNF, dan tabel tersebut tidak boleh memiliki lebih dari sebuah multivalued attribute.
Untuk setiap multivalued dependencies (MVD) juga harus merupakan functional dependencies.
Bentuk 5NF (5th Normal Form)
Bentuk normal 5NF terpenuhi jika tidak dapat memiliki sebuah lossless decomposition menjadi tabel-tabel yg lebih kecil.
Jika 4 bentuk normal sebelumnya dibentuk berdasarkan functional dependency, 5NF dibentuk berdasarkan konsep join dependence. Yakni apabila sebuah tabel telah di-dekomposisi menjadi tabel-tabel lebih kecil, harus bisa digabungkan lagi (join) untuk membentuk tabel semula

  • Contoh Penerapan Normalisasi Data.


Untuk mendapatkan hasil yang paling normal, maka proses normalisasi dimulai dari normal pertama. Field-field tabel di atas yang merupakan group berulang : NoPegawai, NamaPegawai, Golongan, BesarGaji.
Solusinya hilangkan duplikasi dengan mencari ketergantungan parsial.menjadikan field-field menjadi tergantung pada satu atau beberapa field.Karena yang dapat dijadikan kunci adalah NoProyek dan NoPegawai, maka langkah kemudian dicari field-field mana yang tergantung padaNoProyek dan mana yang tergantung pada NoPegawai.



Field-field yang tergantung pada satu field haruslah dipisah dengan tepat, misalnya NoProyek menjelaskan NamaProyek dan NoPegawaimenjelaskan NamaPegawai, Golongan dan BesarGaji.
Tabel 1




      Tabel 2







Pada tabel diatas masih terdapat masalah, bahwa BesarGaji tergantung kepada Golongan nya. Padahal disini Golongan bukan merupakan field kunci. Artinya kita harus memisahkan field non-kunci Golongan danBesarGaji yang tadinya tergantung secara parsial kepada field kunciNoPegawai, untuk menghilangkan ketergantungan transitif.



  • Pengertian Denormalisasi Data.

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.
Pelanggaran terhadap Normalisasi, dan ditujukan demi pertimbangan performansi. Cara : mengendalikan redundansi untuk mengurangi perhitungan, kompleksitas perintah, & jumlah tabel yang di-Join.Konsekuensi :
Kebutuhan tambahan ruang penyimpanan.
Proses manipulasi data lebih lambat.
Denormalisasi adalah hal mendasar dalam membuat DATAWAREHOUSE

  • Tahapan dalam Denormalisasi Data.

Derived Attribute (Atribut yg terderivasi).
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.
Atribut yang berlebihan.
Atribut yang menyatakan lebih dari satu fakta.
Melanggar First Normal Form, karena tidak memiliki domain nilai yang unik
Jenis :
Encoded attribute
Concatenated Attribute
Overlapping Attribute
Alternate Attribute
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.
Contoh Penerapan Denormalisasi Data.

  • 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.
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).

  • Tahapan dalam Boyce-Codde.

Bentuk BCNF terpenuhi dalam sebuah tabel, jika untuk setiap functional dependency  Y makaàterhadap setiap atribut atau gabungan atribut dalam bentuk: X  X adalah super key.
Tabel tersebut harus di-dekomposisi berdasarkan functional dependencyyang ada, sehingga X menjadi super key dari tabel-tabel hasil dekomposisi.
 A, BCNF tidak membolehkan A sebagai bagian dari primary key.àSetiap tabel dalam BCNF merupakan 3NF. Akan tetapi setiap 3NF belum tentu termasuk BCNF . Perbedaannya, untuk functional dependency X