2014
2
Basis Data Pusat Bahan Ajar dan eLearningTim Dosen http://www.mercubuana.ac.id
Suatu teknik formal untuk menganalisa relasi berdasarkan primary key atau candidate key-nya dan functional dependency antar atribut.
Dilakukan dalam beberapa langkah. Setiap langkah mengacu ke bentuk normal tertentu, sesuai dengan sifat yang dimilikinya.
Setelah normalisasi diproses, relasi secara bertahap menjadi lebih terbatas/kuat bentuk formatnya dan juga mengurangi tindakan update yang anomali.
Relationship Between Normal Forms
Unnormalized Form (UNF)
Merupakan suatu table yang berisikan satu atau lebih group/data yang berulang. Membuat tabel unnormalized yaitu dengan memindahkan data dari sumber
informasi (Contoh : Form) kedalam format tabel dengan baris dan kolom.
First Normal Form (1NF)
Merupakan sebuah relasi dimana setiap irisan antara baris dan kolom berisikan satu dan hanya satu nilai.
UNF ke 1NF
Tunjuk satu atau sekumpulan atribut sebagai kunci untuk tabel unnormalized.
Identifikasikan groups yang berulang dalam tabel unnormalized yang berulang untuk kunci atribut.
cara
2. Menggantikan data yang ada dengan copy dari kunci atribut yang sesungguhnya kedalam relasi terpisah.
Contoh:
Contoh sederhana DreamHome lease. Seorang klien bernama John Kay menyewa properti di Glasgow yang dimiliki oleh Tina Murphy. Dalam kasus ini diasumsikan seorang klien dapat menyewa sebuah properti hanya satu kali dan tidak dapat menyewa lebih dari satu pada saat yang bersamaan.
Sample data yang digunakan diambil dari 2 kontrak dari 2 klien yang berbeda yaitu John Kay dan Aline Stewart yang diubah kedalam bentuk tabel sbb, disebut dengan
unnormalized table : ClientRental client No cName prope rtyNo
pAddress rentStart rentFinish rent owner No oName CR76 John Kay PG4 PG16 6 Lawrence St, Glasgow 5 Novar Dr, Glasgow 1-Jul-00 1-Sep-01 31-Aug-01 1-sep-02 350 450 CO40 CO39 Tina Murphy Tony Shaw CR56 Aline Stewart PG4 PG36 PG16 6 Lawrence St, Glasgow 2 Manor Rd, Glasgow 5 Novar Dr, Glasgow 1-Sep-99 10-Oct-00 1-Nov-02 10-Jun-00 1-Dec-01 10_Aug-03 350 375 450 CO40 CO93 CO93 Tina Murphy Tony Shaw Tony Shaw
2014
4
Basis Data Pusat Bahan Ajar dan eLearningTim Dosen http://www.mercubuana.ac.id
Group berulang = (properyNo, pAddress, rentStart, rentFinish, rent,
ownerNo, oName)
Untuk mengubah tabel unnormalized menjadi 1NF, maka harus ditetapkan terdapat 1 nilai untuk setiap kolom dan baris. Dapat dicapai dengan memindahkan group yang berulang. Sehingga menghasilkan 1NF sbb :
ClientRental
client No
cName prope rtyNo
pAddress rentStart rentFinish rent owner No
oName
CR76 John Kay PG4 6 Lawrence St,
Glasgow 1-Jul-00 31-Aug-01 350 CO40 Tina Murphy
CR76 John Kay PG16 5 Novar Dr, Glasgow
1-Sep-01 1-sep-02 450 CO39 Tony
Shaw CR56 Aline
Stewart
PG4 6 Lawrence St, Glasgow
1-Sep-99 10-Jun-00 350 CO40 Tina
Murphy CR56 Aline
Stewart PG36 2 Manor Rd, Glasgow 10-Oct-00 1-Dec-01 375 CO93 Tony Shaw CR56 Aline
Stewart
PG16 5 Novar Dr, Glasgow
1-Nov-02 10_Aug-03 450 CO93 Tony
Shaw
1NF ClientRental Relation
Kemudian tentukan candidate key untuk relasi ClientRental dalam bentuk Composite Key yaitu (clienNo, propertyNo), (clientNo, rentStart), dan (propertyNo, rentFinish). Ketiga kombinasi tadi dibandingkan dan dipilih (clientNo, propertyNo) sebagai primary key. Untuk lebih jelas primary key diletakan disebelah kiri, sbb
: ClientRental client No propertyN o
cName pAddress rentStart rentFinish rent owner No
oName
CR76 PG4 John Kay 6 Lawrence St, Glasgow
1-Jul-00 31-Aug-01 350 CO40 Tina
Murphy
CR76 PG16 John Kay 5 Novar Dr,
Glasgow
1-Sep-01 1-sep-02 450 CO39 Tony
Shaw
CR56 PG4 Aline
Stewart 6 Lawrence St, Glasgow 1-Sep-99 10-Jun-00 350 CO40 Tina Murphy
CR56 PG36 Aline
Stewart
2 Manor Rd, Glasgow
10-Oct-00 1-Dec-01 375 CO93 Tony
Shaw
CR56 PG16 Aline
Stewart
5 Novar Dr, Glasgow
1-Nov-02 10_Aug-03 450 CO93 Tony
Shaw
Second Normal Form (2NF)
Berdasarkan pada konsep full functional dependency, mengindikasikan bahwa, jika A dan B merupakan atribut dari sebuah relasi, B dikatakan fully dependent terhadap A jika B functionally dependent pada A tetapi tidak pada proper subset dari A.
2NF – merupakan sebuah relasi dalam 1NF dan setiap atribut non-primary-key bersifat fully functionally dependent pada primary key.
1NF ke 2 NF
Identifikasikan primary key untuk relasi 1NF. Identifikasikan functional dependency dalam relasi.
Jika terdapat partial dependency terhadap primary key, maka hapus dengan menempatkannya dalam relasi yang baru bersama dengan salinan determinan-nya.
Contoh
Direpresentasikan functional dependency (fd1 – fd6) untuk relasi ClientRental dengan (clientNo, propertyNo) sebagai primary key. Walaupun ClientRental memiliki 3 candidate key, tetapi yang diperhatikan hanya keterkaitan terhadap primaty key saja, karena menggunakan definisi dari 2 NF yang berhubungan hanya dengan primary key dari relasi yang bersangkutan. Sedangkan candidate key yang lain akan dipergunakan pada saat definisi umum untuk 2NF.
Pada saat identifikasi functional dependency yang ada, dimulai dengan memeriksa apakah terdapat partial dependency terhadap primary key. Atribut (cName) partially dependent pada primary key, yaitu hanya atribut clientNo (fd2), atribut (pAddress, rent, ownerNo, oName) partially dependent pada primary key, yaitu hanya atribut propertyNo (fd3), atribut (rentStart dan rentFinish) fully dependent pada seluruh primary key, yaitu clientNo dan propertyNo (fd1).
Identifikasi partial dependency pada relasi ClientRental mengindikasikan bahwa relasi tersebut tidak termasuk dalam 2NF. Untuk mengubah relasi ClientRental kedalam 2NF diperlukan pembuatan relasi baru dimana seluruh atribut non-primary-key dihapus/digantikan dengan atribut yang fully dependen. Sehingga bentuk 2NF menjadi
2014
6
Basis Data Pusat Bahan Ajar dan eLearningTim Dosen http://www.mercubuana.ac.id
clientN o cName CR76 John Kay CR56 Aline Stewart Rental o No h CR76 PG4 1-Jul-00 31-Aug-01 CR76 PG16 1-Sep-01 1-sep-02 CR56 PG4 1-Sep-99 10-Jun-00 CR56 PG36 10-Oct-00 1-Dec-01 CR56 PG16 1-Nov-02 10_Aug-03 propertyOwner property No
pAddress rent owner No
oName
PG4 6 Lawrence St, Glasgow 350 CO40 Tina Murphy PG16 5 Novar Dr, Glasgow 450 CO39 Tony Shaw PG36 2 Manor Rd, Glasgow 375 CO93 Tony Shaw
2NF relations derived from the ClentRental relation
Karena setiap atribut non-primary-key bersifat fully dependent pada primary key dalam relasi, maka relasi-relasi diatas mempunyai bentuk :
Client (clientNo, cName)
Rental (clientNo, propertyNo, rentStart, rentFinish)
PropertyOwner (propertyNo, pAddress, rent, ownerNo, oName)
Third Normal Form (3NF)
Berdasarkan pada konsep transitive dependency, yaitu suatu kondisi dimana A, B dan C merupakan atribut dari sebuah relasi, maka jika A à B dan B à C, maka C transitively dependent pada A melalui B. (menegaskan bahwa A tidak functionally dependent pada B atau C).
3NF – Adalah sebuah relasi dalam 1NF dan 2NF dan dimana tidak terdapat atribut non-primary-key attribute yang bersifat transitively dependent pada primary key.
2014
7
Basis Data Pusat Bahan Ajar dan eLearning o Identifikasikan functional dependency dalam relasi.o Jika terdapat transitive dependency terhadap primary key, hapus dengan menempatkannya dalam relasi yang baru bersama dengan salinan determinan-nya.
Contoh
Functional dependency yang ada dalam relasi Client, Rental dan PropertyOwner, yang dihasilkan dari contoh sebelumnya, sbb :
Client
fd2 clentNo cName (Partial Dependency)
Rental
fd1 clienNo, propertyNo rentStart, rentFinish (Primary Key) fd5’ clientNo, rentStart propertyNo, rentFinish (Candidate Key) fd6’ properyNo, rentStart clientNo, rentFinish (Candidate Key)
PropertyOwner
fd3 propertyNo pAddress, rent, ownerNo, oName(Partial Dependency)
fd4 ownerNo oName (Transitive Dependency)
Seluruh atribut non-primary key yang terdapat pada relasi client dan Rental bersifat functionally dependent pada masing-masing primary key-nya dan tidak memiliki transitive dependency yang dibutuhkan dalam 3NF. fd yang diberi label tanda kutip (fd5’ dan fd6’) menandakan bahwa dependency yang terdapat didalamnya telah dibandingkan sebelumnya (bandingkan dgn fd1).
Seluruh non-primary-key pada relasi PropertyOwner bersifat functionally dependen pada primary key-nya, terkecuali oName yang juga dependent pada ownerNo. Transitive dependency adalah jika suatu atribut dependent pada satu atau lebih non-primary-key.
Untuk merubah relasi PropertyOwner kedalam bentuk 3NF, harus menghilangkan transitive dependencies dengan membuat 2 relasi baru yaitu
2014
8
Basis Data Pusat Bahan Ajar dan eLearningTim Dosen http://www.mercubuana.ac.id
PropertyForRent (propertyNo, pAddress, rent, ownerNo)
Owner (ownerNo, oName)
Rental
clientNo propertyNo rentStart rentFinish
CR76 PG4 1-Jul-00 31-Aug-01 CR76 PG16 1-Sep-01 1-sep-02 CR56 PG4 1-Sep-99 10-Jun-00 CR56 PG36 10-Oct-00 1-Dec-01 CR56 PG16 1-Nov-02 10_Aug-03 PropertyForRent
propertyNo pAddress rent ownerNo
PG4 6 Lawrence St, Glasgow 350 CO40
PG16 5 Novar Dr, Glasgow 450 CO39
PG36 2 Manor Rd, Glasgow 375 CO93
Client clientNo cName CR76 John Kay CR56 Aline Stewart Owner ownerNo oName
CO40 Tina Murphy
CO39 Tony Shaw
Suatu relasi yang ada dalam 1NF dan setiap atribut non-primary-key bersifat fully functionally dependent pada candidate key.
Third normal form (3NF)
Suatu relasi yang ada dalam 1NF dan 2NF dan dimana tidak terdapat atribut non-primary-key attribute yang bersifat transitively dependent pada candidate key.
Langkah-langkah Normalisasi Unnormalized
Menghilangkan group berulang sehingga setiap irisan baris dan kolom hanya berisi satu dan hanya satu nilai
Bentuk 1 NF
Menghilangkan partial dependency terhadap primary key, sehingga didapat atribut non primary key yang fully functional dependent terhadap primary key-nya
Bentuk 2 NF
Menghilangkan transitive dependency
Bentuk 3 NF
Jika dan hanya jika setiap determinan merupakan candidate key
2014
10
Basis Data Pusat Bahan Ajar dan eLearningTim Dosen http://www.mercubuana.ac.id
Perhatikan kartu pengobatan pasien dibawah ini: Dari kartu pengobatan diatas, anda diminta untuk mengkonversinya menjadi tabel‐tabel yang terbentuk dengan teknik normalisasi.
Daftar Pustaka
1. Database system: A Practical approach to design, implementation and management 2. Sistem Manajemen Basis Data