Professional Documents
Culture Documents
Fifth Normal
Form
Sambungan …
Table with
repating group
• Mengeluarkan keberulangan kumpulan.
Remove
repeating groups
Memperkenalkan nilai single apada setiap
silangan row dan column bagi setiap table.
First Normal
Form
Keputusan table di dalam First normal
form (1NF). Table di dalam 1NF apabila
Remove partial
dependencies semua key attributes ditemui apabila
Second
semua peringatan attributes bergantung
Normal Form kepada primary key. Table di dalam
Remove transitive keadaan 1NF walaubagaimanapun masih
dependencies
boleh menjadi perlindung pada
Third Normal sebahagian kandungan.
Form
• mengeluarkan sebahagian fungsi
Remove anomalies
resulting from functional
pergantungan (functional dependencies).
Beyce-Codd
dependencies Keputusan di dalam Second Normal Form
Normal Form (2NF). Table di dalam 2NF apabila ianya
Remove multi-valued
berada dalam 1NF dan sebahagian
dependencies kandungannya tiada perlindungan. Ini
Fourth Normal bermakna 1NF secara automatik di dalam
Form
2NF jika ianya primary key, ianya
Remove remaining
anomalies
bergantung kepada ” single attributes” .
• Mengeluarkan ”transitive dependencies”
Fifth Normal
Form ( perlindungan sementara). Keputusan di
dalam Third Normal Form (3NF). Table di
dalam 3NF jika di dalamnya terdapat 3NF
dan kandungannya tiada perlindungan
sementara.
Sambung... Table with
repating group
• Mengeluarkan keputusan Remove
peringatan anomalies (error) repeating groups
Table di atas menunjukkan berlakunya perulangan iaitu data kursus telah diulang
bagi setiap pelatih. Keputusannya terdapat beberapa nilai pada beberapa bahagian di
antara sesetengah row dan column. Contohnya nilai yang terdapat pada “CourseId
( BU100,BU200 dan IS300) bagi marina. Bagi normalize table di atas anda
boleh mengunakan peringkat seperti berikut :-
Langkah pertama
(Remove Repeating Group)
StudId StudName Tel Major CourseId Course title Teacher Teacher Grade
Name Name
Ianya boleh diselesaikan dengan mudah, iaitu dengan menjadikan table di dalam (1FN)
seperti yang di lihat di atas iaitu dengan melakukan pengasingan , daripada table
di atas relation menunjukkan Bagaimana ianya dimasukkan, dimansuhkan dan diubah
anomalies nya. Ini bermakna reka bentuk relation yang asal tidak bagus dan ianya
memerlukan pengunaan normalization.
Langkah ke dua
( Remove Partial Function Dependencies)
• Bagi mengunakan langkah 2 ini kajian yang perlu dilakukan ialah
melihat pada “functional dependencies” bagi kedua relation dan pilih
primary key bagi mewujudkan relation.
• Berikut merupakan salah satu cara pergantungan
StudId = StudName, Tel, Major
CourseId = CourseTitle, Teachername, TeacherRoom
StudId,CourseId = Grade
TeacherName = TeacherRoom
• Jika di lihat bagi kes di atas boleh dilihat pergantungan bagi
StudName,Tel dan Major ialah pada StudId. Begitu juga dengan
CourseTitle, TeacherName dan TeacherRoom pada CourseId.
Begitu juga bagi yang selebihnya.
• Bagi Grade pergantungannya adalah StudId dan CourseId, disinilah
berlakunya “candidate key” di dalam relation.
• Key terdapat di dalam relation di atas ialah StudId dan CourseId.
Seperti yang di linekan, dan ianya dikenali sebagai “composite
primary key” iaitu primary key yang lebih daripada satu attribute.
Gambaran bagi penjelasan
• Gambarajah di bawah menunjukkan
Grade bergantung kepada StudId dan
CourseId.
• Begitu juga dengan 6 attributes yang
StudNam
e
lain bergantung kepada StudId dan
CourseId.
StudId Tel
• Gambaran menunjukkan masih
terdapat 6 attributes yang bergantung
Major fungsi pada Primary key
Grade • Kecuali Grade yang bergantung fungsi
hanya pada StudId dan CourseId.
CourseTitle • Ini bermakna StudId dan CourseId
diambil sebagai pengenalan bagi
CourseI Teache
Grade.
d rname • Selagi sebahagian pergantungan itu
wujud, kedua relation tersebut tidak
TeacherRoom
berada di dalam 2NF.
• Oleh itu langkah seterusnya harus
dilakukan bagi membuatng
sebahagian pergantungan dengan
mewujudkan tiga (3) relation yang baru
3 Relation di dalam 2NF
Student(StudId, Tel, Major)
Courseteacher ( courseId, CourseTitle,
TeacherName, TeacherRoom)
Registration( StudId, CourseId, Grade)
Terjemahan Table
Table menunjukkan langkah StudId Studname Tel Major
2NF, menunjukkan setiap
111 Marina 1234 BU
attribute tidak sepenuhnya
bergantung kepada key bagi 222 Anthony 2345 IS
tujuan relation.
Student
111 BU100 B
BU100 Bus_Org Wong A1
111 BU200 A
Bu200 Econs Aziz A2
111 IS300 C
IS300 Database Shoba B3
222 IS200 B
IS200 Info_sys Allen B4
CourseTeacher Registration
Langkah ke tiga (3)
(Remove Transitivi Dependencies)
• Student dan Registration secara automatik telah sedia ada di dalam
3NF.
• Walaubagaimanapun CourseTeacher masih lagi di dalam 2NF.
• Ini bermakna subject masih lagi dikira sebagai anomalies dan ianya
perlu di perbaiki dengan mengunakan cara ketiga ini.
• Lihat pada table CourseTeacher , ianya menunjukkan Pengajar
Shoba mengunakan bilik B3 , jika ianya di delete masih ada lagi
satu row yang tersimpan data pengajar Shoba tapi bagaimana
dengan jika courseId IS200 yang di delete?, jika di lihat pada mana-
mana table tiada yang selamat dan ianya akan mengakibatkan
kehilangan data tetang data IS200 yang di ajar oleh pengajar Allen.
• Anomalies di dalam table CourseTeacher wujud adalah kerana
terdapat relation yang datanya berkaitan. Entities Teacher tidak
kelihatan di dalam CourseTeacher
• Fungsi pergantungan di dalam relation boleh dilihat seperti di bawah
:-
CourseId = CourseTitle, TeacherName, TeacherRoom
TeacherName = TeacherRoom
Lihat dengan Jelas
CourseId = CourseTitle,
TeacherName, TeacherRoom
CourseId CourseTitle TeacherName TeacherRoom TeacherName = TeacherRoom
TeacherRoom bergantung
BU100 Bus_Org Wong A1
kepada TeacherName ianya
merupakan Non_key attribute.
Bu200 Econs Aziz A2 Bagi membuang “transient
dependent” ( ketidaktetapan
IS300 Database Shoba B3 pergantungan). Relation
CourseTeacher masih belum
IS200 Info_sys Allen B4
lagi di dalam 3NF
Oleh itu Bagi membuang
IS300 Database Shoba B3
ketidaktetapan pergantungan
yang terdapat pada 2NF , di
asingkan kepada dua relation
CourseTeacher iaitu “Course” dan “Teacher”
seperti berikut
Penyelesaian
CourseId CourseTitle TeacherName
•Bagi relation course , attributenya
BU100 Bus Org Wong ialah “CourseId” dan ianya
BU200 Econs Aziz
merupakan key, CourseTitle dan
Teacher.
IS300 Database Shoba
111 IS300 C
222 IS200 B
222 IS300 A
Course(CourseId,CourseName,TeacherName) Teacher(TeacherName,TeacherRoom)
StudI Tel
d CourseId
Subje
Student Grade
k
StudentId
Studnam Major
e Registration
Teacher
TeacherNam TeacherRoo
e m
Sambungan
Dibawa untuk
menjalankan latihan
AMALI