3. Atribut Key
• satu atau gabungan dari beberapa atribut
yang dapat membedakan semua baris data
dalam tabel secara unik (tidak boleh ada dua
atau lebih baris data dengan nilai yang sama
untuk atribut tetentu)
4. Atribut Key
SUPER KEY
• satu atau kumpulan atribut yang dapat membedakan setiap baris data dalam
sebuah tabel secara unik. Contoh : superkey di tabel mahasiswa
• (nomhs, nama, alamat, tgllahir)
• (nomhs, nama, tgllahir)
• (nomhs, nama)
• (nomhs)
CANDIDATE KEY
• kumpulan atribut minimal yang dapat membedakan setiap baris data dalam
sebuah tabel secara unik. Sebuah CK pasti superkey, tapi belum tentu sebaliknya.
Contoh : pada tabel mahasiswa
• (nomhs)
• (nama)
PRIMARY KEY
• Dari beberapa CK dapat dipilih satu untuk dijadikan PK, yang memiliki keunikan
paling baik. Contoh : dari tabel mahasiswa, yang layak dijadikan PK adalah nomhs.
5. Pengelompokan atribut :
• Atribut Deskriptif
• Merupakan atribut yang bukan merupakan anggota
dari PK
• Atribut Sederhana
• Adalah atribut atomik yang tidak dapat dipilah lagi.
Contoh : Nomhs, Nama
• Atribut Komposit
• Adalah atribut yang masih bisa diuraikan lagi menjadi
sub-atribut yang masing-masing memiliki makna.
Contoh : Alamat -> Alamat, Kota, Propinsi, Kode Pos
6. Pengelompokan atribut :
• Atribut Bernilai Tunggal
• Ditujukan pada atribut-atribut yang memiliki paling banyak satu nilai
untuk setiap baris data
Contoh : Nomhs, Nama, Tanggal lahir à hanya dapat berisi satu nilai untuk
seorang mahasiswa
• Atribut Bernilai Banyak
• Ditujukan pada atribut-atribut yang dapat diisi dengan lebih dari satu nilai,
tapi jenisnya sama. Contoh : pada tabel mahasiswa dapat ditambah atribut
HOBBY, karena seorang mahasiswa dapat memiliki beberapa hobby
• Atribut Harus Bernilai (mandatory)
• Adalah atribut yang nilainya tidak boleh kosong, atau harus ada nilainya.
Misalnya data Nomhs dan Nama mahasiswa. Nilai NULL digunakan untuk
mengisi atribut yang demikian yang nilainya belum siap atau tidak ada.
NULL (karakter ke 0) tidaksama dengan SPASI (karakter ke 32).
8. Normalisasi Data
• sebuah teknik dalam
logical desain sebuah
basis data yang
mengelompokkan
atribut dari suatu relasi
sehingga membentuk
struktur relasi yang baik
(tanpa redudansi).
• proses pembentukan
struktur basis data
sehingga sebagian
besar ambiguity bisa
dihilangkan.
9. Tujuan Normalisasi
• Tujuan normalisasi database
adalah untuk menghilangkan dan
mengurangi redudansi data dan
tujuan yang kedua adalah
memastikan dependensi data
(Data berada pada tabel yang
tepat).
• Jika data dalam database
tersebut belum di normalisasi
maka akan terjadi 3 kemungkinan
yang akan merugikan sistem
secara keseluruhan.
• INSERT Anomali : Situasi dimana
tidak memungkinkan
memasukkan beberapa jenis data
secara langsung di database.
• DELETE Anomali: Penghapusan
data yang tidak sesuai dengan
yang diharapkan, artinya data
yang harusnya tidak terhapus
mungkin ikut terhapus.
• UPDATE Anomali: Situasi dimana
nilai yang diubah menyebabkan
inkonsistensi database, dalam
artian data yang diubah
tidak sesuai dengan yang
diperintahkan atau yang
diinginkan.
10. 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.
11. Pentingnya Normalisasi
• Suatu rancangan database disebut buruk jika :
• Data yang sama tersimpan di beberapa tempat
(file atau record)
• Ketidakmampuan untuk menghasilkan informasi
tertentu
• Terjadi kehilangan informasi
• Terjadi adanya redudansi (pengulangan) atau duplikasi data sehingga
memboroskan ruang penyimpanan dan menyulitkan saat proses updating
data
• Timbul adanya NULL VALUE.
• Kehilangan informasi bisa terjadi bila pada waktu merancang database
(melakukan proses dekomposisi yang keliru).
• Bentuk normalisasi yang sering digunakan adalah 1st NF, 2nd NF, 3rd NF,
dan BCNF.
12. Normalisasi database
• Terdiri dari banyak bentuk, dalam ilmu basis
data ada setidaknya 9 bentuk normalisasi yang
ada
yaitu 1NF, 2NF, 3NF, EKNF, BCNF, 4NF, 5NF, DK
NF, dan 6NF.
• Namun dalam prakteknya dalam dunia
industri bentuk normalisasi ini yang paling
sering digunakan ada sekitar 5 bentuk.
13. Normal Form
• Data yang direkam dan dimasukkan secara
mentah dalam suatu tabel pada bentuk ini
sangat mungkin terjadi inkonsistensi dan
anomali data
14. Normal Form
• Pada bentuk ini ada beberapa ciri ciri yang
penting, yang pertama adalah akan terjadi
anomali dalam insert, update, dan delete.
• Hal ini menyebabkan beberapa fungsi DML dalam
SQL tidak dapat berjalan dengan baik.
• Sebagai contoh jika ingin menghapus penerbit
maka data judul buku akan ikut terhapus begitu
juga jika ingin menghapus peminjam, maka data
penerbit dan buku yang harusnya tidak terhapus
akan ikut hilang
15. First Normal Form (1NF)
• Bentuk normal yang pertama atau 1NF
mensyaratkan beberapa kondisi dalam sebuah
database, berikut adalah fungsi dari bentuk
normal pertama ini.
• Menghilangkan duplikasi kolom dari tabel yang
sama.
• Buat tabel terpisah untuk masing-masing
kelompok data terkait dan mengidentifikasi
setiap baris dengan kolom yang unik (primary
key).
16. • Pada intinya bentuk normalisasi 1NF ini
mengelompokkan beberapa tipe data atau
kelompok data yang sejenis agar dapat
dipisahkan sehingga anomali data dapat di
atasi. Contoh adalah ketika kita ingin
menghapus, mengupdate, atau
menambahkan data peminjam, maka kita
tidak bersinggungan dengan data buku atau
data penerbit. Sehingga inkonsistensi data
dapat mulai di jaga.
17. Second normal form (2NF)
• Syarat untuk menerapkan normalisasi bentuk
kedua ini adalah data telah dibentuk dalam 1NF,
berikut adalah beberapa fungsi normalisasi 2NF.
• Menghapus beberapa subset data yang ada pada
tabel dan menempatkan mereka pada tabel
terpisah.
• Menciptakan hubungan antara tabel baru dan
tabel lama dengan menciptakan foreign key.
• Tidak ada atribut dalam tabel yang secara
fungsional bergantung pada candidate key tabel
tersebut.
18. • Contoh di atas kita menggunakan tabel
bantuan yaitu tabel transaksi, pada intinya
bentu kedua ini adalah tidak boleh ada field
yang berhubungan dengan field lainnya secara
fungsional.
• Contoh Judul Buku tergantung dengan
id_Buku sehingga dalam bentuk 2NF judul
buku dapat di hilangkan karena telah memiliki
tabel master tersendiri.
19. Third Normal Form (3NF)
• Normalisasi database dalam bentuk 3NF bertujuan untuk
menghilangkan seluruh atribut atau field yang tidak
berhubungan dengan primary key. Dengan demikian tidak
ada ketergantungan transitif pada setiap kandidat key.
Syarat dari bentuk normal ketiga atau 3NF adalah :
• Memenuhi semua persyaratan dari bentuk normal kedua.
• Menghapus kolom yang tidak tergantung pada primary key.
• Contoh Normalisasi Database Bentuk 3NF
• Tidak semua kasus atau tabel dapat kita sesuaikan dengan
berbagai bentuk normalisasi ini, untuk contoh 3NF kita
akan mengambil contoh dari tabel order.
20. • Pada tabel pertama di atas, apakah semua
kolom sepenuhnya tergantung pada primary
key? tentu tidak, hanya saja ada satu field
yaitu total yang bergantung pada harga dan
jumlah, total dapat dihasilkan dengan
mengalikan harga dan jumlah. Bentuk 3NF
dalam tabel di atas dapat dilakukan dengan
membuang field Total.
21. • Bentuk SQL
• SELECT ORDERID, HARGA, JUMLAH, TOTAL
FROM ORDER
• Menjadi
• SELECT ORDERID, HARGA*JUMLAH AS TOTAL
FROM ORDER
22. • BCNF Boyce–Codd normal form
• Merupakan sebuah teknik normalisasi database
yang sering disebut 3.5NF, memiliki hubungan
yang sangat erat dengan bentuk 3NF. Pada
dasarnya adalah untuk menghandle anomali dan
overlooping yang tidak dapat di handle dalam
bentuk 3NF. Normalisasi database bentuk ini
tergantung dari kasus yang disediakan, tidak
semua tabel wajib di normalisasi dalam bentuk
BCNF.