RSS
Facebook
Twitter

Entity Relationship Diagram


Entity Relationship Diagram
ERD / Entity Relationship Diagram merupakan model data berupa notasi grafis dalam pemodelan data konseptual yang menggambarkan hubungan antara penyimpan satu dengan penyimpan yang lain. Model data sendiri merupakan sekumpulan cara, peralatan untuk mendeskripsikan data-data yang memiliki hubungan satu sama lain, semantiknya, serta batasan konsistensi. Model data terdiri dari model hubungan entitas dan model relasional. Diagram hubungan entitas ditemukan oleh Peter Chen dalam buku Entity Relational Model-Toward a Unified of Data. Pada saat itu diagram hubungan entitas dibuat sebagai bagian dari perangkat lunak yang juga merupakan modifikasi khusus, karena tidak ada bentuk tunggal dan standar dari diagram hubungan entitas.
 ERD adalah suatu pemodelan dari basisdata relasional yang didasarkan atas persepsi di dalam dunia nyata, dunia ini senantiasa terdiri dari sekumpulan objek yang saling berhubungan antara satu dengan yang lainnya. Suatu objek disebut entity dan hubungan yang dimilikinya disebut relationship. Suatu entity bersifat unik dan memiliki atribut sebagai pembeda dengan entity lainnya. Contoh : entity Mahasiswa, mempunyai atribut nama, umur, alamat, dan nim.

Diagram hubungan entitas digunakan untuk mengkonstruksikan model data konseptual, memodelkan struktur data dan hubungan antar data dan mengimplementasikan basis data secara logika maupun secara fisik dengan DBMS (Database Management system). Dengan diagram hubungan entitas ini kita dapat menguji model dengan mengabaikan proses yang harus dilakukan. Diagram hubungan entitas dapat membantu dalam menjawab persoalan tentang data yang diperlukan dan bagaimana data tersebut saling berhubungan.
Simbol Simbol dalam Entity Relationship Diagram

Simbol–simbol yang digunakan dalam entity relationship diagram adalah sebagai berikut ini :

1. Entity (rectangler)
    Digunakan untuk menggambarkan obyek yang diidentifikasikan ke dalam lingkungan.

2. Atribut (oval)
    Digunakan untuk menggambarkan elemen-elemen dari suatu entity, yang menggambarkan   karakter entity.


3. Hubungan (diamond)
    Entity dapat berhubungan satu sama lain. Hubungan ini disebut dengan relationship.


4. Garis (line)
    Digunakan untuk menghubungkan entity dengan relasi/hubungan, maupun entity dengan atribut.



Tahapan Perancangan ERD
1.       Identifikasi dan menetapkan seluruh himpunan Entitas
2.       Menentukan Atribut Key dari masing-masing himpunan entitas.
3.       Identifikasi dan menetapkan seluruh himpunan Relasi di antara himpunan Entitas yang ada beserta kunci tamunya (foreign key).
4.       Derajat relasi untuk setiap himpunan relasi.
5.       Melengkapi himpunan relasi dengan atribut- atribut deskriptif.

1.       Identifikasi dan menetapkan seluruh himpunan Entitas
                Sebagaimana telah disebutkan, himpunan entitas mewakili sebuah kumpulan entitas yang jelas eksistensinya dan dapat berdiri sendiri. Akan tetapi, himpunan entitas mana saja yang kita pilih tidak hanya tergantung pada jenis topik/sistem yang kita tinjau, tetapi juga ditentukan oleh seberapa jauh ruang lingkup yang kita ingin akomodasi dalam rancangan basis data. Dalam lingkup sistem perkuliahan sesungguhnya ada banyak sekali himpunan entitas yang bisa kita libatkan seperti Mahasiswa, Kuliah, Praktikum, Dosen, Asisten, Ruang, Jurusan dll.
Namun dalam lingkup sistem perkuliahan yang sederhana, kita dapat identifikasi adanya tiga buah himpunan entitas , yaitu Mahasiswa, Kuliah dan Dosen


2.       Menentukan Atribut Key dari masing-masing himpunan entitas.
Atribut-atribut key yang kita sertakan di masing-masing himpunan entitas merupakan atribut terpenting yang dapat mengidentifikasi(membedakan) setiap entitas yang ada didalamnya. Keberadaan atribut ini juga akan  memberikan keyakinan tentang kebenaran eksistensi dari setiap himpunan entitas. Salah satu ciri dari himpunan entitas adalah kemandiriannya. Dengan mudah dapat kita sepakati, bahwa pengidentifikasi setiap entitas secara unik, dihimpunan entitas Mahasiswa adalah atribut nim, lalu dihimpunan entitas Kuliah adalah atribut kode_kul, dan dihimpunan entitas Dosen adalah atribut nama_dosen

3.       Identifikasi dan menetapkan seluruh himpunan Relasi di antara himpunan Entitas yang ada beserta kunci tamunya (foreign key).
Langkah ke-3 ini sangat penting dalam pembentukan Diagram E-R. Ketepatan dalam menentukan relasi yang terjadi diantara himpunan entitas akan menentukan kualitas rancangan basis data yang kita bangun. Relasi yang kita tetapkan harus dapat mengakomodasi semua fakta yang ada dan menjamin kebutuhan pengajian data, akan tetapi dalam sisi lain juga harus dibuat seoptimal mungkin agar tidak memakai ruang penyimpanan yang lebih besar. Untuk itulah , relasi yang sifatnya tidak langsung harus ditiadakan. Himpunan relasi mempelajari dan mengajar merupakan relasi langsung yang terjadi diantara himpunan entitas Mahasiswa dan Kuliah serta antara himpunan entitas Dosen dan Kuliah , dapat di gambarkan sebagai berikut:
Himpunan relasi Mempelajari akan dapat mengakomodasi adanya fakta tentang sejumlah Mhs yang menganmbil mata kuliah tertentu, demikian juga dengan himpunan relasi mengajar yang dapat mengakomodasi fakta tentang dosen yang mengajar mata kuliah tertentu.

4.       Menentukan derajat relasi untuk setiap himpunan relasi.
Karena memang fakta memperlihatkan bahwa seseorang mahasiswa boleh mengambil beberapa mata kuliah sekaligus, maka derajat relasi antara himpunan entitas mahasiswa & kuliah adalah banyak ke banyak. Sementar itu fakta yang menunjukan bahwa dosen dapat mengajar beberapa mata kuliah , maka derajat relasi antara himpunan entitas dosen dan kuliah adalah satu ke banyak, maka dapat kita gambarka Diagram E-R sebagai berikut:
            
5.       Melengkapi himpunan relasi dengan atribut- atribut deskriptif
Langkah terakhir ini merupakan langkah pelengkap sehingga tidak seperti langkah-langkah sebelumnya. Keberadaan atribut deskriptif ini merupakan refleksi pengakomodasian terhadap fakta.

Menurut Al Bahra bin Ladjamudin B (2004:189) ERD adalah suatu model jaringan yang menggunakan susunan data yang disimpan dalam sistem secara abstrak. Jadi, jelaslah bahwa ERD ini berbeda dengan DFD yang merupakan suatu model jaringan fungsi yang dilaksanakan oleh sistem. Sedangkan ERD merupakan model jaringan data yang menekankan pada struktur-struktur dan relationship data.
Diagram hubungan entitas atau yang lebih dikenal dengan sebutan ER diagram, adalah notasi grafik dari sebuah model data atau sebuah model jaringan yang menjelaskan tentang data yang tersimpan (data storage) dalam sistem secara abstrak. Diagram hubungan entitas tidak menyatakan bagaimana memanfaatkan data, membuat data, mengubah data, dan menghapus data.
Elemen-elemen Diagram Hubungan Entitas
  1. Entity
Pada ER diagram, entity digambarkan dengan sebuah bentuk persegi panjang. Entity adalah sesuatu apa saja yang ada di dalam sistem, nyata maupun abstrak dimana data tersimpan atau dimana terdapat data. Entitas diberi nama dengan kata benda dan dapat dikelompokkan dalam empat jenis nama yaitu orang, benda, lokasi, kejadian (terdapat unsur waktu di dalamnya).
  1. Relationship
Model relasional adalah model yang menggunakan sejumlah tabel untuk menggambarkan data serta hubungan antara data-data. Setiap tabel memiliki sejumlah kolom, setiap kolom memiliki nama yang unik. Model relasional memiliki struktur record berformat tertentu dimana masing-masing isinya memiliki tipe-tipe yang berbeda (Misalnya tipe data untuk nomor induk pegawai adalah string, tentu berbeda dengan tipe data untuk nama [misalnya: string] yang panjangnya tidak ditentukan, bergantung pada komputer tempat aplikasi diimplementasikan.
Pada ER diagram, relationship dapat digambarkan dengan sebuah bentuk belah ketupat. Relationship adalah hubungan alamiah yang terjadi antara entitas. Pada umumnya penghubung (Relationship) diberi nama dengan kata kerja dasar, sehingga memudahkan untuk melakukan pmbacaan relasinya (bisa dengan kalimat aktif atau kalimat pasif). Penggambaran hubungan yang terjadi adalah sebuah bentuk belah ketupat dihubungkan dengan dua bentuk empat persegi panjang.
  1. Relationship Degree
Relationship degree atau derajat relationship adalah jumlah entitas yang berpartisipasi dalam satu relationship. Derajat relationship yang sering dipakai di dalam ERD:
· Unary Relationship
Unary relationship adalah model relationship yang terjadi diantara entity yang berasal dari entity set yang sama. Sering juga disebut sebagai Recursive Relationship atau Reflective Relationship.
· Binary Relationship
Binary relationship adalah model relationship antara instance-instance dari suatu tipe entitas (dua entity yang berasal dari entity yang sama). Relationship ini paling umum digunakan dalam pembuatan model data.
· Ternary Relationship
Ternary relationship merupakan antara instance-instance dari tiga tipe entitas secara serentak.
  1. Atribut Value
Atribut value atau nilai attribute adalah suatu occurrence tertentu dari sebuah attribute di dalam suatu entity atau relationship. Ada dua jenis atribut:
· Identifier (key) digunakan untuk menentukan suatu entity secara unik (primary key).
· Descriptor (nonkey attribute) digunakan untuk menspesifikasikan karakteristik dari suatu entity yang tidak unik.
  1. Kardinalitas (Cardinality)
Kardinalitas relasi menunjukkan jumlah maksimum tupel yang dapat berelasi dengan entitas pada entitas yang lain. Terdapat tiga macam kardinalitas relasi yaitu:
· One to One
Tingkat hubungan satu ke satu, dinyatakan dengan satu kejadian pada entitas pertama, hanya mempunyai satu hubungan dengan satu kejadian pada entitas yang kedua dan sebaliknya.
Yang berarti setiap tupel pada entitas A berhubungan dengan paling banyak satu tupel pada entitas B, dan begitu juga sebaliknya setiap tupel pada entitas B berhubungan dengan paling banyak satu tupel pada entitas A.
· One to Many atau Many to One
Tingkat hubungan satu ke banyak adalah sama dengan banyak ke satu. Tergantung dari arah mana hubungan tersebut dilihat. Untuk satu kejadian pada entitas yang pertama dapat mempunyai banyak hubungan dengan kejadian pada entitas yang kedua. Sebaliknya satu kejadian pada entitas yang kedua hanya dapat mempunyai satu hubungan dengan satu kejadian pada entitas yang pertama.
o    One to Many (satu ke banyak)
Yang berarti satu tupel pada entitas A dapat berhubungan dengan banyak tupel pada entitas B, tetapi tidak sebaliknya, dimana setiap tupel pada entitas B berhubungan dengan paling banyak satu tupel pada entitas A.
o    Many to One (banyak ke satu)
Yang berarti setiap tupel pada entitas A dapat berhubungan dengan paling banyak satu tupel pada entitas B, tetapi tidak sebaliknya, dimana setiap tupel pada entitas A berhubungan dengan paling banyak satu tupel pada entitas B.
· Many to Many
Tingkat hubungan kebanyakan terjadi jika tiap kejadian pada sebuah entitas akan mempunyai banyak hubungan dengan kejadian pada entitas lainnya. Baik dilihat dari sisi intitas yang pertama, maupun dilihat dari sisi yang kedua.
Yang berarti setiap tupel pada entitas A dapat berhubungan dengan banyak tupel pada entitas B, dan demikian juga sebaliknya, dimana setiap tupel pada entitas B dapat berhubungan dengan banyak tupel pada entitas A.
Macam – macam kunci Relasional
Antara data base dengan relasional merupakan data yang saling berhubungan. Pada dasar nya basis data menggunakan model Relasional karena pada model ini menggunakan kunci untuk membedakan antara satu table dengan table lainnya. Kunci-kunci yang digunakan memiliki fungsi masing-masing dalam membedakan nya. Dibawah ini macam-macam kunci pada sebuah model relasional.

1.       Super Key
Super key merupakan salah satu atau lebih atribut yang dimiliki agar dapat membedakan setiap baris data dalam table secara unik. Seperti contoh nya untuk melihat akademik suatu kampus dbutuhkan yang dapat membuka database akademik tersebut. Kata kunci nya seperti npm, nama, mhs, tanggal lahir.

2.       Candidate Key
Dalam candidate key ini merupakan atribut yang mempunyai nilai unik dan memiliki satu atribut yang dapat mengidentifikasi secara unik suatu kejadian nyata. Ada satu atribut juga yang menyatakan secara tidak langsung dimana tidak dapat membuang atribut tanpa merusak kepemilikan. Contohnya seperti npm dan nama mhs.

3.       Primary Key
Dapat mengidentifikasi secara unik suatu kejadian tapi dapat juga mewakili setiap kejadian dari suatu data. Candidate key dapat mewakili secara menyeluruh terhadap data yang ada karna dapat menjadi peluang Primary Key. Contohnya : npm

4.       Foreign Key
Atribut dengan menjadi kunci utama pada sebuah relasi tetapi pada relasi lain atribut tersebut hanya atribut biasa dari suatu relasi memiliki atribut yg menuju ke Primary Key dari relasi lain. Contohnya : npm, kode_matkul

5.       Alternate Key
Atribut yang tidak terpilih atau tidak dipakai sebagai Primary Key dan Candidate Key

6.       Composite Key
Merupakan atribut gabungan dua key atau lebih yang secara unik dapat mengidentifikasi sebuah tupel.

Untuk melakukan mapping (pemetaan) dari skema ER Diagram ke skema relasi terdapat langkah-langkah yang harus diperhatikan.
Langkah-langkah mapping:
-          Untuk setiap entitas skema relasi R yang menyertakan seluruh Simple Atribute dan Simple Attribute dari Composite Attribute yang ada, pilih salah satu atribut kunci sebagai Primary Key.
-          Untuk setiap Entitas Lemah, buatlah skema relasi R dengan mengikutsertakan seluruh Simple Attribute. Tambahkan Primary Key dari entitas kuatnya (Owner Entity type) yang akan digunakan sebagai Primary Key bersama-sama Partial Key dari Entitas Lemah (digabung).
-          Untuk setiap relasi binary 1:1, tambahkan Primary Key dari sisi yang lebih ”ringan” ke sisi (entitas) yang lebih ”berat”. Suatu sisi dianggap lebih ”berat” timbangannya apabila mempunyai partisipasi total. Tambahkan juga Simple Attribute yang terdapat pada relasi tersebut ke sisi yang lebih ”berat”.

Apabila kedua partisipasi adalah sama total, maka kedua entitas tersebut boleh digabung menjadi satu skema relasi.

-          Untuk setiap relasi binary 1:N yang tidak melibatkan entitas lemah, tentukan mana sisi yang lebih ”berat”. Sisi dianggap lebih ”berat” timbangannya adalah sisi-N. Tambahkan Primary Key dari sisi yang ”ringan” ke skema relasi sisi yang lebih ”berat”. Tambahkan juga seluruh simple attribute yang terdapat pada relasi biner tersebut.
-          Untuk setiap relasi binary M:N, buatlah skema relasi baru R dengan menyertakan seluruh simple attribute yang terdapat pada relasi biner tersebut. Tambahkan masing-masing primary key dari kedua sisi ke skema relasi R tersebut (sbg foreign key), lalu digabung menjadi satu membentuk Primary Key dari skema relasi R.
-          Untuk setiap Multivalued Attribute, buatlah skema relasi R yang menyertakan atribut dari multivalue tersebut. Tambahkan Primary Key dari relasi yang memiliki multivalued tersebut. Kedua atribut tersebut membentuk Primary Key dari skema relasi R.
-          Untuk setiap relasi n-ary dengan n>2, buatlah skema relasi R yang menyertakan seluruh Primary Key dari entitas yang ikut serta. Sejumlah n Foreign Key  tersebut akan membentuk Primary Key untuk skema relasi R. Tambahkan seluruh Simple Attribute yang terdapat pada relasi n-ary tersebut.

Diagram Skema Konsepsual / ER Diagram for the company schema





  
Referensi :
http://en.wikipedia.org/wiki/Entity%E2%80%93relationship_model

http://id.wikipedia.org/wiki/Diagram_hubungan_entitas

http://ahroihan.blogspot.com/2010/06/bab-ii-tinjauan-pustaka-2.html

http://www.edrawsoft.com/entity-relationship-diagrams.php

http://www.dbforum.com

http://artidari.blogspot.com/2012/04/simbol-simbol-dalam-entity-relationship.html

Normalisasi dan Denormalisasi


BAB 1
NORMALISASI DATA
A.      Pengertian Normalisasi Data

Normalisasi adalah teknik atau proses untuk mengorganisasikan data agar lebih efisien dalam suatu database. Pengorganisasian ke dalam bentuk tabel-tabel dan fields dari suatu relational database untuk memmenuhi kebutuhan pemakai dan untuk meminimalkan redundancy dan dependency. Normalisasi biasanya melibatkan pembagian tabel tabel yang besar menjadi tabel tabel yang lebih kecil atau ringkas (mengurangi redundancy) dan mendefinisikan hubungan antar tabel. Tujuannya untuk mempermudah manipulasi data atau memodifikasinya, memudahkan pengelompokan atribut dari relasi agar membentuk suatu relasi yang lebih baik.

Menurut Edgar F. Codd, salah seorang perintis teknologi basis data. selain dipakai sebagai metodologi tersendiri untuk menciptakan struktur tabel 9relasi) dalam basis data (dengan tujuan utnuk mengurangi kemubaziran data)  , normalisasi terkadang hanya diipakai sebagai perangkat verifikasi terhadap tabel-tabel yang dihasilkan oleh metodologi lain ( misalnya E-R). Normalisasi memberikan panduan yang sangat membantu bagi pengembang untuk mencegah penciptaan struktur tabel yang kurang fleksibel atau mengurangi keflekxibelan.

Menurut Kroenke mendefinisikan normalisasi sebagai proses untuk mengubah suatu relasi yang memiliki masalah tertentu ke dalam dua buah relasi atau lebih yang tida memiliki masalah tersebut. Masalah yang dimaksud oleh kroenke ini sering disebut dengan istilah anomali.

B.      Tahapan Pada Normalisasi Data

a.      Sekilas Sejarah Normalisasi data
1970 – Edgar F. Codd, penemu model relasi, memperkenalkan konsep normalisasi yang sekarang kita kenal dengan First Normal Form (1NF)
1971 – Codd melanjutkan untuk menetapkan konsep normalisasi Second Normal Form (2NF) dan Third Normal Form (3NF)
1974 – Codd dan Raymond F. Boyce menetapkan Boyce-Codd Normal Form (BCNF)
1977 – Fourth Normal Form (4NF) diperkenalkan oleh Ronald Fagin
1979 – Fifth Normal Form (5NF) ditetapkan oleh Ronald Fagin
1981 – Domain Key Normal Form (DKNF) diperkenalkan oleh Ronald Fagin
1982 – C Zaniolo menetapkan Elementary Key Normal Form (DKNF)
2002 – C.J Date, Hugh Darwen and Nikos Lorentzos menetapkan Sixth Normal Form (6NF)

b.      Tahap-tahap Normalisasi Data
·         Bentuk normal kesatu (1NF) menentukan aturan-tauran yang paling dasar untuk suatu pengaturan database:
o   Menghilangkan duplikasi kolom-kolom dalam tabel yang sama
o   Membuat tabel terpisah untuk setiap grup data yang berhubungan dan mengidentifikasi setiap baris dengan suatu kolom yang unik atau sekumpulan kolom yang unik (primary key)
·         Bentuk normal kedua (2NF) selanjutnya memusatkan perhatian pada konsep menghilangkan duplikasi data:
o   Menemukan semua syaratsyarat bentuk normal kesatu
o   Hilangkan subset data yang diterapkan pada beberapa baris dari sebuah tabel dan letakkan kedalam tabel terpisah
o   Buatlah relasi antara tabeltabel baru dan tabeltabel pendahulunya melalui penggunaan Foreign Keys.
·         Bentuk normal ketiga (3NF) melakukan satu langkah besar selanjutnya:
o   Menemukan semua syaratsyarat bentuk normal kedua
o   Menghilangkan kolomkolom yang tidak secara langsung tergantung pada primary key.
·         Bentuk normal keempat (4NF) memiliki satu syarat tambahan:
o   Menemukan semua syaratsyarat bentuk normal ketiga
o   Suatu relasi adalah dalam bentuk normal keempat (4NF) jika relasi itu tidak memiliki ketergantungan banyak nilai (value)

Petunjuk normalisasi ini adalah bersifat komulatif. Untuk suatu database menjadi bentuk normal kedua (2NF), pertama harus terpenuhi dahulu seluruh kriteria bentuk normal kesatu (1NF).
Sebuah tabel dikatakan baik (efisien) / normal jika memenuhi 3 kriteria sbb :
1.      Jika ada dekomposisi (penguraian) tabel, maka dekomposisinya harus dijamin aman (Lossless – Join - Decomposition). Artinya,  setelah tabel tersebut diuraikan / didekomposisi menjadi tabel – tabel baru, tabel – tabel baru tersebut bisa menghasilkan tabel semula dengan nama yang sama persis.
2.      Terpeliharanya ketergantungan fungsional pada saat perubahan data (Dependency Preservation).
3.      Tidak melanggar Boyce – Codd Normal Form (akan dijelaskan kemudian)

C.      Tujuan Normalisasi Data
1.      Untuk Menghilangkan Kerangkapan Data
2.      Untuk Mengurangi Kompleksitas
3.      Untuk Mempermudah Pemodifikasian Data

D.      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.



BAB II
DENORMALISASI DATA
A.      PENGERITAN DENORMALISASI DATA
Denormalisasi database adalah pelanggaran aturan normalisasi atau menjabarkan suatu tataan database yang telah normal untuk meningkatkan performa pengaksesan data pada database. Database yang telah normal disini dimaksudkan database yang redundansi datanya minim sehingga data yang disimpan tidak mengalami kerancuan dalam proses pengaksesan.
Apakah perbedaan normalisasi dan denormalisasi? perbedaan normalisasi dan denormalisasi adalah terletak pada redundansi data dan kompleksitas query. Pada redundansi data normalisasi lebih strik atau harus dihilangkan sebisa mungkin sehingga mengakibatkan apabila kita akan mengakses data dalam suatu database membutuhkan query yang kompleks. Berbeda dengan denormalisasi, denormalisasi disini tidak terlalu memikirkan tentang data yang redundan sehingga dalam mengakses data lebih cepat.
Mengapa Denormalisasi begitu penting?

Apabila kita menilik lebih lanjut tentang proses pengaksesan yang dilakukan database sewaktu data yang berada dalam suatu tabel ada 1000 baris dengan 100 juta baris. Hal itu akan terasa sangat beda proses kita menunggu untuk dapat melihat data. Itupun apabila kita mengaksesnya dari beberapa tabel yang setiap tabel berisikan jutaan data dan kita hanya menginginkan sebagian saja. Dari situ denormalisasi diperlukan, untuk menjaga kestabilan performa suatu sistem.
Bagaimanakah cara melakukan denormalisasi? Kita dapat melakukan denormalisasi dalam 2 jenis :
  1. melalui pembuatan kolom baru pada tabel / mengabungkan kolom pada tabel satu dengan yang lain.
  2. melalui pembuatan tabel baru.
Cara yang pertama dilakukan apabila data yang didenormalisasi hanya kecil dan digunakan untuk mempermudah pengaksesan data apabila diakses dalam satu tabel. Sedangkan yang kedua dilakukan apabila data yang terdapat dalam tabel tersebut merupakan rangkuman / rekapitulasi dari satu atau beberapa tabel yang pengaksesannya terpisah dari tabel yang ada.
contoh :
denormalisasi pertama : total sks yang telah diambil seorang mahasiswa. ini dibentuk dari jumlah sks matakuliah yang pernah diambil.
denormalisasi kedua : pembuatan tabel jumlah kehadiran mahasiswa dalam satu semester. data ini dibentuk dari penjumlahan data harian mahasiswa.
B.      BENTUK – BENTUK DENORMALISASI
-  Atribut yang terderivasi (atribut turunan)
Atribut yang nilainya bisa diperoleh dari nilai – nilai yang sudah ada pada atribut lain
-  Atribut yang berlebihan
1.       Atribut Terkodekan (encoded attribute)
Atribut yang memiliki kode tambahan yang menunjukkan beberapa kondisi lainnya.
Contoh : id_mk di tabel matakuliah yang didalamnya sudah terkandung data program studi. Data origram studi ini sebenarnya tidak diperlukan lagi karena sudah ada atribut prog_studi di tabelkuliah

Kode kuliah SBD : ST022


2.       Atribut Gabungan (concatenated attribute)
Atribut dalam domain komposit
Contoh : atribut nim di tabel mahasiswa merupakan gabungan dari tahun masuk / angkatan dengan prigram studi dan no urut mahasiswa. Dengan demikian atribut ini sebenarnya tidak atomik karena masih bisa dibagi lagi
     NIM : 09.51.0062
Ket : angkatan.jurusan.no urut
3.       Atribut Tumpang tindih (overlapping attribute)
Atribut dengan nilai yang tidak spenuhnya ekslusif
Contoh :
Atribut semester di tabel kuliah berisikan :
1.       : matakuliah ganjil
2.       : matakuliah genap
3.       : matakuliah ganjil dan genap
Nilai 3 mencakup semester genap dan ganjil sekaligus (jadi tidak ekslusif)
4.       Atribut Bermakna Ganda (Alternate attribute)
Atribut yang memiliki arti berbeda tergantung kelompok entitasnya

-  Tabel Rekapitulasi (summary table)
Laporan hasil rekapitulasi akan selalu merupakan hasil pengolahan datri semua tabel yang ada, pengolahan tersebut meilbatkan banyak tabel sebhingga akan membutuhkan waktu yang lama. Jika hal tersebut sering diakses dan diperlukan, maka perlu dibuat tabel khusus untuk menyimpan data hasil rekapitulasi tersebut.

C.      TAHAPAN DENORMALISASI
Database dimaksudkan untuk proses transaksi online (OLTP) biasanya lebih normal dari database dimaksudkan untuk pengolahan analisis online (OLAP). Aplikasi OLTP ditandai dengan volume tinggi transaksi kecil seperti memperbarui rekor penjualan di counter kasir supermarket. Harapannya adalah bahwa setiap transaksi akan meninggalkan database dalam keadaan konsisten. Sebaliknya, database dimaksudkan untuk operasi OLAP terutama "membaca sebagian besar" database. Aplikasi OLAP cenderung untuk mengambil data historis yang telah terakumulasi selama jangka waktu yang panjang. Untuk database tersebut, berlebihan atau "denormalized" data dapat memfasilitasi aplikasi bisnis intelijen. Secara khusus, tabel dimensi dalam skema bintang sering mengandung data denormalized. Data denormalized atau berlebihan harus hati-hati dikontrol selama ekstrak, mengubah, beban (ETL) pengolahan, dan pengguna tidak diijinkan untuk melihat data sampai dalam keadaan konsisten. Alternatif dinormalisasi dengan skema bintang adalah skema kepingan salju. Dalam banyak kasus, kebutuhan untuk denormalization telah berkurang sebagai komputer dan RDBMS perangkat lunak telah menjadi lebih kuat, tapi karena volume data yang umumnya meningkat seiring dengan hardware dan kinerja perangkat lunak, database OLAP seringkali masih menggunakan skema denormalized.

Denormalization juga digunakan untuk meningkatkan kinerja pada komputer yang lebih kecil seperti pada perangkat cash-register dan mobile komputerisasi, karena ini dapat menggunakan data untuk melihat-up saja (lookup harga misalnya). Denormalization juga dapat digunakan ketika tidak ada RDBMS ada untuk platform (seperti Palm), atau tidak ada perubahan yang harus dibuat untuk data dan respon cepat sangat penting.

- Non-pertama Bentuk normal (NF ² atau N1NF)

Denormalization adalah kata kebalikan dari normalisasi. Dalam pengakuan bahwa denormalization dapat disengaja dan berguna, bentuk non-normal pertama adalah definisi dari desain database yang tidak sesuai dengan bentuk normal pertama, dengan memungkinkan "set dan set set menjadi atribut domain" (Schek 1982). Bahasa yang digunakan untuk query dan memanipulasi data dalam model harus diperluas sesuai untuk mendukung nilai-nilai tersebut.

Salah satu cara untuk melihat hal ini adalah dengan mempertimbangkan nilai-nilai terstruktur seperti menjadi jenis khusus nilai (domain), dengan mereka sendiri domain-spesifik bahasa. Namun, apa yang biasanya dimaksud dengan non-1NF model adalah pendekatan di mana model relasional dan bahasa yang digunakan untuk query itu diperluas dengan mekanisme umum untuk struktur tersebut, misalnya, model relasional bersarang mendukung penggunaan hubungan sebagai domain nilai-nilai, dengan menambahkan dua operator tambahan (sarang dan unnest) ke aljabar relasional yang dapat membuat dan meratakan hubungan bersarang, masing-masing.

Bentuk Pertama
Orang                 Favorite Colour
Bob                     Blue
Bob                     Red
Jane                    Green
Jane                    Yellow
Jane                    Red


Asumsikan seseorang memiliki beberapa warna favorit.  Jelas, warna favorit terdiri dari satu set warna, dimodelkan oleh tabel yang diberikan. Untuk mengubah 1NF ke dalam tabel ² NF ("sarang” Operator) diperlukan sesuatu yang memperluas aljabar relasional dari bentuk normal yang lebih tinggi. Menerapkan ("sarang" operator) untuk tabel 1NF menghasilkan tabel berikut NF ²:
Non Bentuk Pertama

Orang                 Favorite Colour
Bob                     Blue, Red
Jane                    Green, Yellow,Red

Untuk mengubah ini kembali NF ² tabel menjadi 1NF suatu “perombakan”, Operator diperlukan untuk memperluas aljabar relasional dari bentuk normal lebih tinggi. Unnest, dalam hal ini, akan membuat "warna" ke dalam tabel sendiri.

Meskipun "perombakan" adalah invers matematika untuk "sarang", operator "sarang" tidak selalu kebalikan matematis "unnest". Kendala lain yang dibutuhkan adalah untuk operator untuk menjadi bijektif, yang ditutupi oleh Bentuk Normal partisi (PNF).



BAB III
BOYCE – CODD NORMAL FORM

Boyce-Codd bentuk normal (atau BCNF atau 3.5NF) 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 sebagai awalnya didefinisikan.

Tanggal Chris telah menunjukkan bahwa definisi dari apa yang sekarang kita kenal sebagai BCNF muncul dalam sebuah makalah oleh Ian Heath tahun 1971. Tanggal menulis:

     "Sejak definisi yang mendahului definisi sendiri Boyce dan Codd oleh beberapa tiga tahun, tampaknya bagi saya bahwa BCNF harus dengan hak untuk dipanggil Heath bentuk normal. Tapi itu tidak."

Jika skema relasional dalam BCNF maka semua redundansi berdasarkan ketergantungan fungsional telah dihapus, meskipun jenis lain redundansi mungkin masih ada. Sebuah skema relasional R dalam Boyce-Codd bentuk normal jika dan hanya jika untuk setiap satu yang dependensi X Y, setidaknya salah satu dari kondisi berikut berlaku:

-          X Y adalah ketergantungan fungsional sepele (Y X)
-          X adalah superkey untuk skema R




  • Blogger news

  • Blogroll

  • About