Archive for November 2020
Normalisasi
- Normalisasi
Normalisasi merupakan teknik dalam logical desain sebuah basis data yang mengelompokan atribut dari suatu relasi sehingga memebentuk struktur relasi yang baik. Tujuannya untuk menghilangkan kerangkapan data, mengurangi kompleksitas dan mempermudah pemodifikasian data.
- Proses
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 Normalisai
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.
Sebuah tabel dikatakan baik(efesien)/normal jika memenuhi kriteria berikut:
- Jika ada dekomposisi (penguraian) tebel, maka dekomposisinya harus dijamin aman. Artinya, setelah tabel tersebut diuraikan menjadi tabel-tabel baru, tabel-tabel baru tersebut bisa menghasilkan tabel semula dengan sama persis.
- Terpelihara ketergantungan fungsional pada saat perubahan data (Depedency Preservation).Tidak melanggar Boyce-Codd Normal Form (BCNF).
- Tidak melanggar Boyce-Codd Normal Form (BCNF)
- Functional Dependency
Notasi: AÞB
Notasi: A [] B
A dan B adalah atribut dari sebuah tabel. Berarti secara fungsional A menentukan B atau B tergantung pada A, jika dan hanya jika ada 2 baris data dengan nilai A yang sama, maka nilai B juga sama.
- Bentuk - bentuk Normal
1. Normal Pertama (1st Normal Form)
Aturannya Tidak adanya artibut multi-value, atribut komposit atau kombinasinya, mendefinisikan atribut kunci, setiap atribut dalam tabel tersebut harus bernilai atomic (tidak dapat dibagi-bagi lagi).
2. Normalisasi Kedua ( 2nd Normal Form )
Aturannya 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.
3. Normalisasi Ketiga ( 3rd Normal Form )
Aturannya sudah berada dalam bentuknormal kedua (2NF), tidak ada ketergantungan transitif ( dimana atribut ukan kunci tergantung pada atribut bukan kunci lainnya). Tabel-tabel yang memenuhi kriteria normalisasi ketiga, sudah siap diimplementasikan. Sebenarnya masih ada lagi bentuk normalisasi yang lain; Normalisasi Boyce-Codd, 4NF, 5NF, hanya saja jarang dipakai. pada kebanyakan kasus, normalisasi hanya samapi ketiga.
4. Boyce-Codd Normal Form ( BCNF)
Bentuk BCNF terpenuhi dalam sebuah tabel, jika untuk setiap functional dependency terhadap setiap atribut atau gabungan atribut dala bentuk : Y maka 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 termasuk BCNF. Perbedaannya, untuk functional dependency X = A, BCNF tidak membolehkan A sebagai bagian dari primary key.
5. Bentuk Normal Tahap Keempat ( 4th Normal Form / 4NF )
Bentuk normal 4NF terpenuhi dalam sebuah tabel jika telah memenuhi bentuk BCNF, dan tabel tesebut tidak boleh memiliki lebih dari sebuah multivalued atribute. Untuk setiap multivalued dependencies (MVD) juga harus merupakan functional dependencies.
6. Bentuk Normal Tahap Kelima ( 5th Normal Form / 5NF )
Bentuk normal 5NF terpenuhi jika tidak dapat memiliki sebuah lossless decomposition menjadi tabel-tabel yang lebih kecil. Jika 4 bentuk normal sebelumnya dibentuk bersadarkan functional dependency, 5NF dibentuk bersadarkan konsep join dependence. Yakni apabila sebuah tabel telah di-dekomposisi menjadi tabel-tabel lebih kecil,harus bisa digabungkan lagi untuk membentuk tabel semula.
Anomali dan Redudansi
- Anomali
Anomali adalah suatu masalah yang timbul pada suatu tabel, dimana masalah itu akan terjadi pada saat tebel akan dimanipulasi. Hal yang dapat terjadi adalah ketidak konsistenan data dan data menjadi hilang ketika data lain dihapus. Bentuk Anomali ada 3 yaitu :
- Anomali Penambahan terjadi pada saat penambahan data dilakukan ternyata ada elemen data yang masih kosong dan elemen tersebut diperlukan proses penambahan.
- Anomali Pengubahan terjadi apabila pengubahan daata yang duplikasi tetapi tidak seluruhnya diubah.
- Anomali Penghapusan terjadi jika ada suatu tupel yang tidak terpakai dihapus mengakibatkan adanya data lain yang hilang.
- Redudansi
Redudansi adalah munculnya data yang berulang kali pada tabel/relasi yang semestinya tidak diperlukan.
Redudansi dapat terjadi jika :
- Kerangakapan data dalam suatu file.
- Kerangkapan data dalam beberapa file.
TRANSFORMASI
Transformasi merupakan perubahan dari suatu bentuk ke bentuk yang lain. Berubah bentuk menjadi basis data fisik yang kita gunakan untuk membangun suatu sistem basis data, yakni ERD (Entity Relationship Diagram) ditransformasikan dalam bentuk tabel yang merupakan komponen utama pembentukan basis data. Atribut yang terdapat pada masing-masing entitas akan dinyatakan sebagai field atau kolom dari tabel yang sesuai.
- TRANSFORMASI UMUM
2. Relasi dengan derajat 1:1 yang menghubungkan dua buah entitas dan direpresentasikan dalam bentuk penambahan/penyetaraan atribut-atribut relasi ke tabel yang mewakili salah satu dari kedua himpunan entitas.
3. Relasi dengan derajat relasi 1:N yang menghubungkan dua buah himpunan entitas akan direperentasisikan dalam bentuk pemberian/pencantuman atribut key dari himpunan entitas pertama(yang berderajat 1) ke tabel yang mewakili himpunan entitas kedua(yang berderajat N). atribut ker dari himpunan entitas pertama ini menjadi atribut tambahan bagi entitas kedua.
4. Relasi dengan derajat relasi N:M yang menghubungkan dua buah himpunan entitas akan direpresentasikan dalam bentuk tabel khusus yang memiliki filed yaitu forigen key yang berasal dari primary key dari entitas-entitas yang dihubungkan.
- TRANSFORMASI ENTITAS LEMAH
Himpunan entitas lemah tidak dapat berdiri sendiri tanpa entitas kuat. Dalam mentransformasikan dari ERD ke dalam bentuk basis data fisik keduanya sama akan terbentuk sebuah tabel. Namun yang membedakan adalah jika entitas kuat jika ditransformasikan ke dalam basis data fisik langsung menjadi tabel memiliki atribut key yang bertindak sebgaia primary key dan atribut yang lain secara utuh, maka entitas lemah hanya dapat di transformasikan dalam bentuk tabel dengan menyertakan primary key dari entitas kuat dan atribut yang dimiliki oleh entitas lemah itu sendiri.
- TRANSFORMASI RELASI TUNGGAL
Relasi tunggal. Transformasi dilakukan dari/ke entitas yang sama tergantung dari derajat relasinya.
Relasi 1:N digunakan field key sebanyak dua dengan fungsi yang berbeda dan penamaan yang berdeda pula.
Relasi M:N dibentuk tabel baru yang merepresentasikan relasi tersebut. Tabel baru mendapatkan field dari semua atribut relasi(jika ada) yang ditambah dengan atribut key dari himpunan entitasnya.
- TRANSFORMASI RELASI MULTI ENTITAS (N-ARY RELATION)
Secara umum,relasi multientitas yang menghubungkan lebih dari dua himpunan entitas (N himpunan entitas,dimanaN>2) akan diimplementasikan sebagai sebuah tabel khusus(tentu saja, setiap himpunan entitas yang terlibat dalam relasi juga akan direpresentasikan dalam tabel-tabel terpisah) . Namun jika pada relasi yang menghubungkan Nbuah himpunan entitas kita dapat memastikan bahwa derajat relasi parsial diantara (N-1) buah himpunan entitas dengan suatu himpunan entitas (misalnya x) adalah satu ke-banyak, maka relasi tadi tidak perlu diwujudkan sebagai sebuah tabel khusus dan atribut-atributnya cukup dilekatkan pada himpunan entitas X tersebut.
- IMPLEMENTASI RELASI GANDA
Implementasinya ditinjau pada masing-masing relasi tanpa terikat satu sama lain berdasarkan derajat relasi masing-masing relasi tersebut.
- IMPLEMENTASI AGRESI
Dalam realitas dapat pula dijumpai adanya relasi yang secara kronologis mensyaratkan telah adanya relasi lain. Dengan kata lain, sebuah relasi terbentuk tidak hanya dari entitas tapi juga mengandung unsur dari relasi lain.
- IMPLEMENTASI SPESIALIS
Merupakan proses dekomposisi (pengelompokkan) sebuah himpunan entitas yang melahirkan himpunan entitas baru yang dilakukan secara top-down.
Proses perancangan Top Down; Membuat sub-grup dari entitas sehingga menjadi berbeda dengan entitas yang lain.
Hasil dari sub grouping adalah entitas tingkat rendah dimana salah satu atribut sebagai relasi dengan entitas diatasnya.
- IMPLEMENTASI GENERALIS
Merupakan penyatuan beberapa himpunan entitas menjadi sebuah himpunan entitas baru. Atribut dari masing-masing himpunan entitas disatukan kedalam himpunan entitas baru.
Proses perancangan bottom-up menggabungkan beberapa entitas yang mempunyai atribut yang sama menjadi entitas yang lebih tinggi tingkatnya.
Spesialisasi dan generalisasi adalah upaya penyederhanaan; dan dapat digambarkan dengan ERD.
Peristiwa spesialisasi dan generalisasi dapat diterapkan bolak-balik.