Normalisasi Bagian I

dokumen-dokumen yang mirip
BASIS DATA. Desain Database dan Normalisasi. Fakultas Ilmu Komputer UDINUS

SISTEM BASIS DATA AUB SURAKARTA

NORMALISASI (2) Beberapa Bentuk Normal yang penting: Bentuk Normal Pertama (1 st Normal Form) Bentuk Normal Ke-2 (2 nd Normal Form)

Normalisasi Data. Author : Minarni, S.Kom.,MM

NORMALISASI UNTUK BASIS DATA RELASIONAL

OVERVIEW BASIS DATA RELASIONAL. Oleh: Ir. M. Ramadhan, MT

Kontrak Kuliah. Bentuk-Bentuk Normalisasi. Edi Sugiarto, S.Kom, M.Kom

di definisikan hanya dengan memperhatikan functional dependencies dan key constrains

PERTEMUAN 6. Normalisasi Database (Conoly-chap 14) (Ramakisman -chap 15)

BASIS DATA (BS203) NORMALISASI. fb: NDoro Edi. Page 1

C H A P T E R 5-8. Normalisasi Database. Arif Basofi, S.Kom, MT.

Pertemuan 7-8 NORMALISASI

Modul 9 : Normalisasi 1st NF sampai dengan BCNF

BASIS DATA. Model Data Relational. Fakultas Ilmu Komputer UDINUS

NORMAL FORM. Normalisasi Table sendiri terbagi atas bentuk normal ke 1 sampai bentuk normal ke 5. lebih jelasnya

DESAIN DATABASE DAN NORMALISASI

NORMALISASI. Dr.Budi Setiyono, MT

Normalisasi Basis Data

PERTEMUAN 3 NORMALISASI

MODEL RELASIONAL. Alif Finandhita, S.Kom

Normalisasi Donny Yulianto, S.Kom

Perancangan Database Bagian II (Normalisasi( Normalisasi) TUJUAN PEMBELAJARAN

Copyright 2005 PENS-ITS C H A P T E R

Basis Data 1 - TIS3333

PERANCANGAN BASIS DATA

NORMALISASI (1) E.F Codd,1970. Normalisasi dilakukan terhadap desain tabel yang sudah ada untuk: 1/28/2012 1/28/2012

PART 2: 1. Langkah Langkah Normalisasi 2. Bentuk Bentuk Normal 1 st NF, 2 nd NF, 3 rd NF, BCNF Dan bentuk-bentuk normal lainnya 3.

PERANCANGAN DATA BASE BY LILIS PUSPITAWATI, SE.,M.SI

PERTEMUAN IV ADVANCED ENTITY RELATIONSHIP DIAGRAM FAK. TEKNIK JURUSAN TEKNIK INFORMATIKA

PERTEMUAN 9. Penyempurnaan Skema dan Bentuk-bentuk Normal

BAB V. dimengerti, mudah dipelihara, mudah memprosesnya, dan mudah untuk dikembangkan sesuai kebutuhan baru

Emp_Dept(EmpName, SSN, Bdate, Address, DeptNumber, DeptName, DeptMngSSN) Emp_Proj(SSN,ProjNumber, Hours, EmpName, ProjName, ProjLoc)

Basis Data. Bagian IV SQL (3) Fak. Teknik Jurusan Teknik Informatika Universitas Pasundan

Normalisasi Database

RENCANA PROGRAM KEGIATAN PERKULIAHAN SEMESTER (RPKPS)

Konsep Normalisasi dan Anomali Tabel

ANALISA RANCANGAN DATABASE

Teknik Normalisasi. Normalisasi

PERTIMBANGAN MELAKUKAN DENORMALISASI PADA MODEL BASIS DATA RELASI. Gandung Triyono

Normalisasi. Normalisasi adalah proses pembentukan struktur basis data sehingga sebagian besar ambiguity bisa dihilangkan.

Pertemuan IV Advanced Entity Relationship Diagram Fak. Teknik Jurusan Teknik Informatika

Contents. Normalisasi. Bentuk Normalisasi. Dependency. Status Kunci (Key) Dekomposisi

Database Design II. TPI4210 Sistem dan Teknologi Informasi e-tp.ub.ac.id

NORMALISASI DAN TUGAS PRAKTEK

NORMALISASI DATA. Basis Data

NORMALISASI DAN TUGAS PRAKTEK

Dibuat oleh: Tim Pengajar Basis Data

PEMODELAN DATA (ER-D) Basis Data -1 / Dian Dharmayanti

Copyright 2005 PENS-ITS C H A P T E R. Normalisasi Database

1 BAB III OBJEK DAN METODE PENELITIAN

SISTEM BASIS DATA. Pertemuan 4. 3 SKS Semester 2 S1 Sistem Informasi Nizar Rabbi Radliya

Model Entity Relationship Bagian I

Kontrak Kuliah. Functional Dependencies. Edi Sugiarto, S.Kom, M.Kom

BAB IV PERANCANGAN BASIS DATA RELASIONAL

BAB 3 ANALISIS DAN PERANCANGAN. menentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi menjadi

MATAKULIAH BASIS DATA

Minggu ke - 5 Basis Data 1. ER-D mapping to Model Relasional dan 1NF Normalisasi Database

BAB II LANDASAN TEORI

02. Berfungsi sebagai perantara antara pemakai dengan database adalah a. Data d. Perangkat lunak b. Pemakai e. File c.

GARIS-GARIS BESAR PROGRAM PENGAJARAN PROGRAM STUDI : DIII MANAJEMEN INFORMATIKA Semester : 2

FUNCTIONALLY DEPENDENT DAN FUNCTIONALLY DETERMINES

Perancangan Basis Data

MODUL II NORMALISASI DATA

BAB II LANDASAN TEORI

BASIS DATA. Model Data Relational. Fakultas Ilmu Komputer UDINUS

Copyright 2005 PENS-ITS C H A P T E R. Normalisasi 1NF

Normalisasi Lanjut. I. Review Normalisasi

Pertemuan VII Normalization (1) Fak. Teknik Jurusan Teknik Informatika. Caca E. Supriana, S.Si.,MT.

Normalisasi Tabel Pada Basisdata Relasional

BAB II LANDASAN TEORI

C H A P T E R. Copyright 2005 PENS-ITS

GARIS-GARIS BESAR PROGRAM PENGAJARAN PROGRAM STUDI : S1 KOMPUTERISASI AKUNTANSI Semester : 2

Normalisasi adalah salah satu pendekatan logical design dari suatu database relational, dan tampaknya sedikit memiliki kemiripan dengan model ER.

P7 Perancangan Database

BASISDATA. Basis Data Secara Umum

BAB 2 LANDASAN TEORI

NORMALISASI BASISDATA 2

Teknik dan Penerapan Normalisasi

BAB III PERANCANGAN BASIS DATA DGN TEKNIK NORMALISASI

PART 2: 1. Langkah Langkah Normalisasi 2. Bentuk Bentuk Normal 1 st NF, 2 nd NF, 3 rd NF, BCNF Dan bentuk-bentuk normal lainnya. 3.

Model Relational. S# Nama Status Kota S1 Hanato 20 Bandung S2 Andi 10 Jakarta S3 Shy 25 Surabaya S4 Tina 20 Medan

Model Entity Relationship Bagian II

Desain Database. Dr. Khamami Herusantoso 1/107

Pertemuan VI Functional Dependency Fak. Teknik Jurusan Teknik Informatika. Caca E. Supriana, S.Si.,MT.

BAB 2 MODEL RELASI ENTITAS (E-R MODEL)

GARIS-GARIS BESAR PROGRAM PENGAJARAN PROGRAM STUDI : S1 SISTEM INFORMASI Semester : 2

PERTEMUAN 4 Model Data Relational

STK 572 Manajemen Data Statistik. Tim Dosen: Dr. Farit Muhammad Affendi Dr. Agus M Soleh

PERANCANGAN BASIS DATA PERTEMUAN KE -3. Rauf Fauzan, S.Kom.,M.Kom

PERTEMUAN 6 TEKNIK NORMALISASI

BAB 2 LANDASAN TEORI

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

SISTEM BASIS DATA. Pertemuan 9. Functional Dependencies. Copyright 2007 Ramez Elmasri and Shamkant B. Navathe.

TEKNOLOGI KOMUNIKASI DAN INFORMATIKA UNIVERSITAS NASIONAL 2008 DKNF 5NF 4NF BCNF 3NF 2NF 1NF

Model Relational. Dian Dharmayanti

BAB 2 LANDASAN TEORI. sistem yang masih belum terintegrasi. Namun file-based system ini memiliki. Data menjadi terpecah-pecah dan terisolasi.

Copyright 2005 PENS-ITS C H A P T E R. Normalisasi 1NF

MODUL 1 SEPUTAR PERANCANGAN DATABASE. 1.1 Entity-Relationship Model (ER Model) dan Entity Relationship Diagram (ERD)

Normalisasi. Didi Supriyadi, S.T., M.Kom Pertemuan ke-6

Transkripsi:

Normalisasi Bagian I

First Normal Form (1NF) Domain disebut atomic bila elemen yang ada di dalamnya tidak dapat dibagi menjadi unit yang lebih kecil (indivisible) Sebuah skema relasi R berada dalam kondisi 1NF jika domain seluruh atribut dalam R atomic Nilai non-atomic membuat penyimpanan data menjadi rumit dan dapat mendorong terjadinya redundansi data. Contoh : himpunan account yang disimpan untuk tiap customer, dan himpunan pemilik yang disimpan untuk tiap account

Pitfalls dalam Perancangan Basis Data Relasional Perancangan basis data relasional mensyaratkan penggunaan kumpulan relasi skema yang baik. Perancangan yang buruk dapat menyebabkan : Pengulangan informasi Ketidakmampuan dalam merepresentasikan informasi tertentu Tujuan perancangan : Menghindari redundansi data Memastikan keterhubungan antar atribut dapat direpresentasikan Memfasilitasi pengecekan update yang menyebabkan pelanggaran integritas constraint basis data Contoh : lending-schema = (branch-name, branch-city, assets, customer-name, loannumber, amount)

Pitfalls dalam Perancangan Basis Data Relasional (lanj.) Permasalahan dalam instan lending-schema : Redundansi Data untuk branch-name, branch-city, dan assets diulangi untuk tiap loan yang dibuat Tempat yang terbuang percuma Proses update yang rumit, dapat menyebabkan inkonsistensi nilai atribut, contohnya untuk atribut assets Nilai null Tidak dapat menyimpan informasi tentang sebuah branch apabila tidak ada loan Dapat diselesaikan dengan penggunaan nilai null, tetapi nilai null sulit ditangani

Decomposition Skema relasi lending-schema didekomposisi menjadi : Branch-schema = (branch-name, branch-city, assets) Loan-info-schema = (customer-name, loan-number, branchname, amount) Seluruh atribut dari skema asli (R) harus muncul di skema hasil dekomposisi (R 1, R 2 ) : R = R 1 U R 2 Lossless join decomposition untuk semua kemungkinan relasi r dalam skema R

Decomposition (lanj.) Contoh dekomposisi yang tidak memenuhi kondisi lossless join decomposition, R = (A,B) didekomposisi menjadi R 1 =(A) dan R 2 =(B)

Tujuan Normalisasi Menentukan apakah relasi tertentu berada dalam good form Dalam kasus di mana relasi R tidak berada dalam good form, maka relasi tersebut didekomposisi menjadi himpunan relasi {R 1, R 2,, R n } di mana : Setiap relasi berada dalam good form Dekomposisi memenuhi syarat lossless join decomposition Normalisasi dilakukan berdasarkan : Functional dependencies Multivalues dependencies

Lossless Join Decomposition Untuk setiap kemungkinan relasi r dalam skema R Sebuah dekomposisi R menjadi R 1 dan R 2 dikatakan lossless join jika dan hanya jika paling tidak satu dari dependency berikut berada dalam F + : R 1 R 2 R 1 R 1 R 2 R 2 Jika tidak, maka dekomposisi yang dihasilkan akan menjadi lossy

Normalisasi Menggunakan Functional Dependency Saat kita melakukan dekomposisi sebuah skema relasi R dengan himpunan functional dependency F menjadi R 1, R 2, R 3,, R n kita menginginkan : Lossless join decomposition : apabila kondisi ini tidak terpenuhi, dapat menyebabkan hilangnya informasi Tidak terdapat redundansi : relasi R i lebih disukai berada dalam kondisi Boyce-Codd Normal Form atau Third Normal Form Dependency preservation : misal F i adalah himpunan dependency F + yang hanya mengandung atribut dalam R i Lebih disukai dekomposisi memenuhi kondisi dependency preserving, yaitu : (F 1 U F 2 U F n ) + = F + Bila tidak memenuhi kondisi dependency preserving, untuk mencek pelanggaran functional dependency harus dilakukan join

Contoh R = (A,B,C) F = {A B, B C} dapat didekomposisi menggunakan dua cara : R 1 = (A,B), R 2 = (B,C) Lossless join decomposition R 1 R 2 = {B} dan B BC Dependency preserving R 1 = (A,B), R 2 = (A,C) Lossless join decomposition R 1 R 2 = {A} dan A AB Tidak dependency preserving (tidak dapat mencek B C tanpa menghitung R 1 R 2 )

Test untuk Dependency Preservation Untuk mencek apakah sebuah dependency α β preserved pada dekomposisi R menjadi R 1, R 2,, R n, dapat menggunakan prosedur berikut : result = α while (changes to result) do for each R i in decomposition t = (result R i ) + R i result = result U t Jika result mengandung semua atribut dalamβ, maka functional dependency α->β preserved Test tersebut diterapkan pada semua dependency di F untuk mencek apakakah sebuah dekomposisi memenuhi syarat dependency preserving Prosedur tersebut memerlukan polynomial time dalam pemrosesannya

Second Normal Form (2NF) Sebuah relasi berada dalam kondisi 2NF jika dan hanya jika relasi tersebut : Berada dalam kondisi 1NF Tidak ada atribut nonkey yang tergantung secara parsial dengan relasi dalam skema tersebut

Third Normal Form (3NF) Sebuah relasi berada dalam kondisi 3NF jika dan hanya jika : Berada dalam kondisi 2NF Setiap atribut nonkey bersifat nontransitively dependent pada primary key Functional dependency X A pada F + disebut transitive jika X Y dan Y A ada di F +, dan Y X tidak ada di F + 3NF mengasumsikan relasi hanya mempunyai satu candidate key 3NF tidak cukup memecahkan persoalan pada kasus di mana sebuah relasi : Mempunyai dua atau lebih candidate key, di mana Candidate key tersebut komposit Terdapat overlap

Definisi Formal 3NF Sebuah skema relasi R berada dalam kondisi 3NF jika untuk semuaα βdalam F + paling tidak satu kondisi berikut terpenuhi : α βtrivial (misal, βεα) α adalah superkey untuk R Setiap atribut A dalamβ-αterkandung dalam sebuah candidate key untuk R (tiap atribut dapat berada dalam candidate key yang berbeda) Contoh : R = (J,K,L), F = {JK L, L K} Dua candidate key : JK dan JL R berada dalam kondisi 3NF : JK L L K JK adalah superkey K terkandung dalam sebuah candidate key

Testing untuk 3NF Optimization : hanya perlu mencek functional dependency dalam F, tidak perlu mencek seluruh functional dependency dalam F + Menggunakan closure atribut untuk mencek setiap dependency α->β, apakah α superkey Jika α bukan superkey, harus dilakukan verifikasi untuk tiap atribut dalam β apakah terkandung dalam sebuah candidate key R

Tujuan Perancangan Tujuan dalam perancangan basis data relasional : Lossless join Dependency preservation Bila tujuan tersebut tidak dapat tercapai, akan terjadi : Tidak mempunyai dependency preservation redundansi SQL tidak menyediakan cara untuk menyatakan functional dependency selain penggunaan superkey. Bisa diterapkan menggunakan assertion, tetapi biayanya mahal. Bahkan jika hasil dekomposisi yang kita peroleh memenuhi syarat dependency preserving, penggunaan SQL tidak mampu untuk mentest secara efisien sebuah functional dependency yang sisi kirinya bukan merupakan key

Proses Perancangan Basis Data Secara Umum Kita mengasumsikan sebuah skema R yang tersedia : R dapat merupakan hasil saat mengubah diagram ER menjadi himpunan tabel R dapat merupakan sebuah relasi tunggal yang mengandung semua atribut yang terhubung (disebut sebagai relasi universal) Normalisasi memecah R menjadi beberapa relasi yang lebih kecil R dapat merupakan hasil dari beberapa perancangan ad hoc relasi, yang kemudian ditest/diubah menjadi bentuk normal

ER Model dan Normalisasi Saat sebuah diagram ER dirancang secara hati-hati, semua entitas didientifikasi secara benar, tabel yang digenerate dari diagram ER tersebut seharusnya tidak memerlukan proses normalisasi lagi Bagaimanapun, dalam kenyataannya perancangan dapat mengandung FD dari atribut nonkey ke atribut lainnya Contoh : entitas employee dengan atribut departmentnumber dan department-address, dan sebuah FD department-number -> department-address Perancangan yang baik akan membuat department sebagai sebuah entitas FD dari atribut nonkey dimungkinkan, tetapi jarang, sebagian besar relationship adalah binary

Denormalisasi untuk Performansi Dalam beberapa kondisi, kita mungkin menggunakan skema nonnormalized untuk meningkatkan performansi Contoh : untuk menampilkan customer-name bersama accountnumber dan balance membutuhkan join antara entitas account dan depositor Alternatif 1 : menggunakan denormalized relation yang mengandung atribut dari account dan juga dari depositor Lookup lebih cepat Membutuhkan tempat dan waktu ekstra pada update Membutuhkan coding ekstra serta kemungkinan munculnya error Alternatif 2 : menggunakan materialized view yang didefinisikan dengan Manfaat dan kekurangan sama dengan alternatif 1, selain tanpa ekstra coding dan menghindari error yang mungkin

Persoalan Perncangan Lainnya Beberapa aspek dalam perancangan basis data tidak ditangai dengan normalisasi Contoh : perancangan basis data yang buruk, yang harus dihindari : Daripada menggunakan earnings (company-id, year, amount), gunakanlah : Earnings-2000, earnings-2001, earnings-2002, etc, semuanya dalam skema (company-id, earnings) Seluruh relasi tersebut dalam BCNF, tetapi sulit membuat query yang meliputi beberapa year, dan jumlah tabel semakin bertambah sesuai dengan tahun Company-year(company-id, earnings-2000, earnings-2001, earnings- 2002) Dalam BCNF juga, tetapi query yang melibatkan tahun yang berbeda juga sulit, dan untuk setiap tahun diperlukan atribut tambahan baru Merupakan contoh dari crosstab, di mana nilai untuk sebuah atribut menjadi nama kolom Digunakan dalam spreadsheet, dan dalam tools analisis data