Perancangan & Implementasi Basis Data Relasional Dengan Teknik
Normalisasi
Di susun oleh :
Nama Nim
Al – Anshar
: 5520111201
Sekolah Tinggi Manajemen Informatika dan Komputer
STMIK ADHI GUNA
2011
DAFTAR ISI
I. DAFTAR ISI...............................................................................................................2
ISI..................................................................................................................................
II. Analisa & Perancangan Basis Data...........................................................................3
1. Proses dalam metodologi
perencangan …………………………………….........4
2.
Conceptual Database Design……………………………………………………..4
3. Logical Database Design…………………………………………………………8
4. Physical Database Design………………………………………………………10
III. Teknik Normalisasi…………………... …………………………………………14
1. Pengertian Normalisasi………………………………………………………...14
2. Tujuan Normalisasi…………………………………………………………….14
3. Bentuk tidak normal……………………………………………………………14
4. Bentuk-bentuk normalisasi……………………………………………………..15
IV. DAFTAR
PUSTAKA............................................................................................18
Analisa dan Perancangan Basis Data
Database
Management System (DBMS)
Database
Management System adalah sistem software yang
dapat mendefinisikan, membuat, memelihara dan mengontrol akses ke basis data.
Fasilitas yang disediakan
oleh DBMS adalah:
- Dapat mendefinisikan basis data dengan menggunakan Data Definition Language (DDL). DDL dapat memberi fasilitas kepada pengguna untuk menspesifikasikan tipe data, struktur dan batasan aturan mengenai data yang bisa disimpan ke dalam basis data.
- Pengguna dapat menambah, mengedit, menghapus dan mendapatkan kembali data dengan menggunakan data manipulation language.
- Dapat mengontrol akses ke basis data, yaitu mencegah pengguna tanpa otoritas, sistem integrasi untuk memelihara konsistensi penyimpanan data, sistem control untuk memperbolehkan pengguna untuk akses, sistem kontrol untuk pengembalian data yang bisa mengembalikan data ke keadaan semula apabila ada kegagalan software atau hardware, catalog yang dapat diakses pengguna yang mendeskripsikan data dalam basis data.
Keuntungan:
- Konsistensi data
- Pengontrolan duplikasi data
- Semakin banyak informasi yang didapat dari data yang sama
Perancangan basis data
merupakan proses menciptakan perancangan untuk basis data yang akan mendukung
operasi dan tujuan perusahaan (Connolly,2002,p279). Dalam merancang suatu basis
data, digunakan metodologi-metodologi yang membantu dalam tahap perancangan
basis data.
Metodologi perancangan
adalah pendekatan struktur dengan menggunakan prosedur, teknik, alat, serta
bantuan dokumen untuk membantu dan memudahkan dalam proses perancangan. Dengan
menggunakan teknik metode disain ini dapat membantu dalam merencanakan,
mengatur, mengontrol, dan mengevaluasi database development project
(Connolly,2002,p418).
Proses dalam metodologi perancangan dibagi menjadi tiga tahap :
- Conseptual Database Design
- Logical Database Design
- Physical Database Design
A.
Conceptual Database Design
Conceptual database design adalah
proses membangun suatu model berdasarkan informasi yang digunakan oleh
perusahaan atau organisasi, tanpa pertimbangan perencanaan fisik.
Langkah pertama :
Membuat local conceptual data model untuk setiap pandangan yang
spesifik. Local conceptual data model terdiri dari :
a. Entitiy types
Menurut
Connoly (2002,p331), entity types adalah kumpulan objek yang mempunyai
karakteristik yang sama, dimana telah diidentifikasi oleh perusahaan.Menurut
Silberschatz (2002,p27), entity types adalah kumpulan dari entity
yang memiliki tipe dan karakteristik yang sama.
Entity dapat dibedakan menjadi dua
yaitu :
· Strong Entity : entity yang keberadaannya tidak tergantung kepada entity
lain (Fathansyah,1999,p94).
· Weak entity : entity yang keberadaannya tergantung dari entity
lain (Fathansyah,1999,p94).
Contohnya adalah entity
mahasiswa dan orang tua. Dimana mahasiswa merupakan strong entity dan
orang tua merupakan weak entity karena keberadaan entity
orang tua tergantung dari entity mahasiswa.
b. Relationship
types
Menurut Connolly (2002,p334)
definisi dari relationship types adalah kumpulan antar entity yang saling
berhubungan dan mempunyai arti.
c.Attribute dan attribute
domains
Attribute adalah karakteristik dari suatu entity atau relasi
(Connolly,2002,p338). Setiap attribute diperbolehkan untuk memiliki
nilai yang disebut dengan domain. Attribute domains adalah
kumpulan dari nilai-nilai yang diperbolehkan untuk satu atau lebih attribute.
· Simple
attribute dan Composite
attribute
Simple attribute adalah attribute
yang terdiri dari komponen tunggal dimana attribute tersebut tidak
dapat dipisahkan lagi, sedangkan composite attribute adalah attribute
yang masih dapat dipisahkan menjadi beberapa bagian. Contoh dari simple
attribute adalah nama_barang sedangkan untuk composite attribute
adalah alamat pada entity mahasiswa, karena dalam alamat bisa dibagi
menjadi bagian entiti jalan, entiti kode_pos dan entiti kota (Silberchatz,2002,p29).
· Single-valued
attribute dan Multi-valued
attribute
Single-valued attribute adalah attribute
yang memiliki satu nilai pada setiap entity, sedangkan multi-valued
attribute adalah attribute yang mempunyai beberapa nilai pada
setiap entity.Contoh dari single-valued attribute adalah Nim,
nama_Mhs, tanggal_lahir, dan lain-lain. Sedangkan untuk multi-valued
attribute contohnya adalah jam_pelajaran, hobi, dan lain-lain.
· Derived
attribute
Derived attribute merupakan attribute
yang nilai-nilainya diperoleh dari hasil perhitungan atau dapat diturunkan dari
attribute lain yang berhubungan (Silberschatz,2002,p30). Contohnya
adalah attribute umur pada entity mahasiswa dimana attribute
tersebut diturunkan dari attribute tanggal_lahir dan tanggal_hari_ini.
d. Primary key dan
alternate keys
Primary key adalah key yang telah menjadi candidate key yang
dipilih secara unik untuk mengidentifikasi suatu entity types. Candidate
key adalah kumpulan attribute minimal yang unik untuk
mengidentifikasikan suatu entity types (Connolly,2002,p340).
Alternate key adalah key yang digunakan sebagai alternatif dari key yang
telah didefinisikan (Fathansyah,1999,p104).
e. Integrity
constraints
Integrity
constraints adalah batasan-batasan yang menentukan
dalam rangka melindungi basis data untuk menghindari terjadinya inconsistent.
(Connolly,2002,p457).
Pada tahap conceptual
model,langkah-langkah yang dilakukan adalah sebagai berikut:
a. Mengidentifikasi
entity types
Bertujuan
untuk menentukan entity types utama yang dibutuhkan. Menentukan entity
dapat dilakukan dengan memeriksa user’s requirement specification.
Setelah terdefinisi, entity diberikan nama yang tepat dan jelas
seperti mahasiswa, dosen, mata_kuliah.
b. Mengidentifikasikan
relationship types
Bertujuan
untuk mengidentifikasi suatu relationship yang penting yang ada antar entity
yang telah diidentifikasi. Nama dari suatu relationship menggunakan
kata kerja seperti mempelajari, memiliki mempunyai dan lain-lain.
c. Mengidentifikasi
dan menghubungkan attribute
dengan entity atau relationship types
Bertujuan
untuk menghubungkan attribute dengan entity atau relationship
yang tepat. Attribute yang dimiliki setiap entity atau relationship
memiliki identitas atau karakteristik yang sesuai dengan memperhatikan attribute
berikut : simple/composite attribute, single/multi-valued attribute dan
derived attribute.
d. Menentukan
attribute domain
Bertujuan
untuk menentukan attribute domain pada conceptual data model.
Contohnya yaitu menentukan nilai attribute jenis_kelamin pada entity
mahasiswa dangan ‘M’ atau ‘F’ atau nilai attribute sks pada entity
mata_kuliah dengan ‘1’, ’2’, ‘3’ dan ‘4’.
e. Menentukan
candidate key dan primary key attributes
Bertujuan
untuk mengidentifikasi candidate key pada setiap entity dan
memilih primary key jika ada lebih dari satu candidate key.
Pemilihan primary key didasari pada panjang dari attribute
dan keunikan key di masa datang.
f. Mempertimbangkan
penggunaan enhance modeling concepts
(pilihan)
Pada
langkah ini bertujuan untuk menentukan specialization, generalization,
aggregation, composition. Dimana masing-masing pendekatan
dapat dilakukan sesuai dengan kebutuhan yang ada.
Specialization dan generalization
adalah proses dalam mengelompokan beberapa entity dan menghasilkan entity
yang baru. Beda dari keduanya adalah cara prosesnya, dimana spesialisasi
menggunakan proses top-down dan generalisasi menggunakan proses bottom-up.
Aggregation menggambarkan sebuah entity
types dengan sebuah relationship types dimana suatu relasi hanya
akan ada jika telah ada relationship lainnya.
g. Mengecek
redundansi
Bertujuan
untuk memeriksa conceptual model untuk menghindari dari adanya
informasi yang redundan. Yang dilakukan pada langkah ini adalah :
· Memeriksa kembali one-to-one relationship.
Setelah
entity diidentifikasikan maka kemungkinan ada dua entity yang
mewakili satu objek. Untuk itu dua entity tersebut harus di-merger
bersama. Dan jika primary key-nya berbeda maka harus dipilih salah
satu dan lainnya dijadikan alternate key.
· Menghilangkan relasi yang
redundansi.
Untuk
menekan jumlah model data, maka relationship data yang redundan harus
dihilangkan.
h. Memvalidasi
conceptual model dengan transaksi.
Bertujuan
untuk menjamin bahwa conceptual data model mendukung kebutuhan
transaksi. Dengan menggunakan model yang telah divalidasi tersebut, dapat
digunakan untuk melaksanakan operasi secara manual. Ada dua pendekatan yang mungkin untuk mejamin
bahwa local conceptual data model mendukung kebutuhan transaksi yaitu
:
· Mendeskripsikan transaksi
Memeriksa
seluruh informasi (entities, relationship, dan attribute)
yang diperlukan pada setiap transaksi yang disediakan oleh model dengan
mendokumentasikan penggambaran dari tiap kebutuhan transaksi.
· Mengunakan transaksi pathways
Pendekatan
kedua, untuk memvalidasi data model dengan keperluan transaksi yang melibatkan
diagram yang mewakili pathways diambil dari tiap transaksi secara
langsung yang terdapat pada E-R diagram menggambarkan komponen-komponen dari entity
dan relasi yang masing-masing dilengkapi dengan attribute-attribute yang
merepresentasikan seluruh fakta dari real-world yang kita tinjau
(Fathansyah,1999,p79). Sedangkan menurut Silberschartz (2002,p42), E-R diagram
dapat menyatakan keseluruhan struktur logical dari basis data dengan
menggunakan bagan.
i. Melihat
kembali conceptual data model dengan
pengguna.
Bertujuan
untuk melihat kembali conceptual model dan memastikan bahwa data model
tersebut sudah benar.
B. Logical Database Design
Logical database design adalah proses
pembuatan suatu model informasi yang digunakan pada perusahan berdasarkan pada
model data yang spesifik, tetapi tidak tergantung dari Database Management
System (DBMS) yang khusus dan pertimbangan fisik yang lain
(Connolly,2002,p441).
DBMS
adalah software yang memungkinkan pemakai untuk mendefinisi, membuat,
memelihara, dan mengontrol akses ke basis data (Connolly,2002,p16).
Fasilitas-fasilitas
yang disediakan oleh DBMS antara lain :
1. Memperbolehkan
user untuk mendefinisikan
basis data.
2. Memperbolehkan
user untuk menambah , mengubah, dan menghapus serta mengambil data dari
basis data.
3. Menyediakan
kontrol akses ke basis data. Seperti security, integrity, concurrency
control, recovery control system dan user-accessible catalog.
Langkah kedua :
membuat dan memvalidasi local logical data model untuk setiap
pandangan. Bertujuan untuk membuat local logical data model dari local
conceptual data model yang mempresentasikan pandangan khusus dari
perusahaan dan memvalidasi model tersebut untuk menjamin kebenaran strukturnya
(dengan menggunakan teknik normalisasi) dan menjamin bahwa model tersebut
mendukung kebutuhan transaksi.
Pada
perancangan model logical langkah kedua, tahapan-tahapannya adalah :
a. Menghilangkan features
yang tidak compatible dengan model relasional (pilihan). Bertujuan untuk menghasilkan model
yang kompatibel dengan model relasional. Yaitu dengan :
- Menghilangkan many-to-many (*:*) binary relationship types
- Menghilangkan many-to-many (*:*) recursive relationship types
- Menghilangkan complex relationship types
- Menghilangkan multi-valued attributes
b. Memperoleh
relasi untuk local logical data model.
Bertujuan
untuk membuat hubungan logical model yang mewakili entity, relationship
dan attribute yang telah didefinisi. Mendeskripsikan komposisi tiap
hubungan memakai Database Definition Language (DDL) untuk relasi yang
diikuti dengan daftar dari relasi attribute yang mudah lalu
mengidentifikasikan primary key dan foreign key dari suatu
relasi. Untuk memperoleh relasi untuk local data model, maka diperlukan
penjelasan untuk mendeskripsikan struktur yang mungkin dalam data model saat
ini.
Bahasa dalam basis data dapat
dibedakan menjadi dua bentuk :
· Data Definition Language (DDL)
DDL
merupakan bahasa dalam basis data yang memungkinkan pengguna untuk membuat atau
menghapus basis data, membuat atau menghapus tabel membuat struktur penyimpanan
tabel. Hasil dari kompilasi DDL adalah kumpulan tabel yang disimpan dalam file
khusus yang disebut dengan kamus data.
· Data Manipulation Language (DML)
DML
merupakan bahasa dalam basis data yang memungkinkan pengguna untuk melakukan
manipulasi data pada suatu basis data, seperti menambah, mengubah, menghapus
data dari suatu basis data.
Langkah ketiga :
Membuat dan memvalidasi global logical data model. Bertujuan untuk
menyatukan local logical data model menjadi global logical data model.
Pada
perancangan model logikal langkah ketiga, tahapan-tahapannya adalah :
a. Menggabungkan local logical data model menjadi
global model
Pada
langkah ini, setiap local logical data model menghasilkan E-R diagram,
skema relasional, kamus data dan dokumen pendukung yang mendeskripsikan constraints
dari model.
Beberapa
tugas yang harus dikerjakan adalah sebagai berikut :
· Memeriksa lembali nama dan isi
dari entities dari relationships dan candidate key.
· Memeriksa kembali nama dan isi
dari relationships/ foreign keys.
· Menggabungkan entities
atau hubungan dari local data model.
· Mengikutsertakan (tanpa
menggabungkan) entities atau relationships yang unik pada
tiap local data model.
· Menggabungkan relationships
atau foreingn key dari local data model.
· Mengikutsertakan (tanpa
menggabungkan) relationships atau foreign key unik pada tiap local
data model.
· Memeriksa untuk entities
(hubungan) dan relationships atau foreign key.
· Memeriksa integrity
constraints.
· Menggambarkan ER-diagram.
· Melakukan update dokumen.
b. Memvalidasi
global logical data model
Bertujuan
untuk memvalidasi relasi yang dibuat dari global logical data model
dengan teknik normalisasi dan menjamin bahwa model tersebut mendukung kebutuhan
transaksi
c. Mengecek pertumbuhan yang akan datang
Bertujuan
untuk menentukan apakah ada perubahan yang signifikan seperti keadaan yang
tidak terduga dimasa mendatang dan menilai apakah model logikal tersebut dapat
menampung atau menyesuaikan perubahan yang terjadi.
d. Melihat
kembali global logical data model dengan pengguna
Bertujuan
untuk menjamin model data logikal yang bersifat global telah tepat untuk
perusahaan.
C. Physical Database Design
Phisical database design adalah suatu
proses untuk menghasilkan gambaran dari implementasi basis data pada tempat
penyimpanan, menjelaskan dasar dari relasi, organisasi file dan indeks
yang digunakan untuk efisiensi data dan menghubungkan beberapa integrity
constraints dan tindakan keamanan .
Langkah keempat :
Menterjemahkan global logical data model untuk target DBMS. Bertujuan
untuk menghasilkan skema basis data relasional dalam global logical data
model yang dapat diimplemetasikan ke DBMS.
Pada perancangan
model physical, langkah-langkahnya adalah :
a. Merancang
basis relasional
Dalam
memulai merancang physical design, diperlukan untuk
mengumpulkan dan memahami informasi tentang relasi yang dihasilkan dari logical
database design. Informasi yang penting bisa didapatkan dari kamus data
dan DDL.
b. Merancang
representasi dari data yang diperoleh
Bertujuan
untuk menentukan bagaimana setiap data yang diperoleh mewakili global
logical data model ke dalam DBMS.
c. Merancang
enterprise constraints
Pada
langkah ini bertujuan untuk merancang batasan-batasan yang ada pada perusahaan.
Langkah kelima :
Merancang representasi physical. Bertujuan untuk menentukan organisasi
file yang optimal untuk penyimpanan dan menentukan indeks yang dibutuhkan untuk
meningkatkan performa.
Terdapat
tiga faktor yang memungkinkan digunakannya representasi physical :
1. Transaction throughput
2. Response time
3. Disk storage
Dalam
langkah kelima ini perlu untuk memahami system resources untuk
meningkatkan performa basis data.
- Main memory
Dengan semakin
besar main memory yang ada maka akan dapat meningkatkan performa DBMS
dan aplikasi basis data yang digunakan.
- CPU
CPU mengontrol
tugas-tugas dari system resources lain dan mengeksekusi prosesnya.
- Disk I/O
Dengan menggunakan
DBMS yang besar, maka disk I/O yang diperlukan sangat signifikan dalam
menyimpan dan mengambil data. Untuk menghindari kemacetan transfer data, maka :
Ø File sistem operasi harus dipisahkan dari file basis data.
Ø File utama basis data harus dipisahkan dari file indeks.
Ø File recovery log harus dipisahkan dari basis data yang sedang
tidak digunakan.
- Network
Ketika jumlah data
yang ditransfer telah banyak, maka dengan menggunakan network sangat
dianjurkan. Selain itu juga untuk menghindari dari kemacetan dalam mentransfer
data.
Pada langkah
kelima ini, tahapan-tahapannya adalah :
a. Menganalisis
transaksi
Bertujuan
untuk mengerti fungsi dari transaksi yang dijalankan pada basis data dan
menganalisa transaksi yang penting. Kriteria kemampuan yang harus
diidentifikasikan dalam menganalisa transaksi adalah :
· Transaksi dapat berjalan secara
sering dan akan mempunyai dampak yang signifikan pada performa.
· Transaksi yang kritis pada operasi
dan bisnis.
· Waktu selama sehari atau seminggu
ketika akan ada permintaan yang tinggi pada saat basis data dibuat.
b. Memilih file
organisasi
Bertujuan
untuk menyimpan data secara tepat ke tempat penyimpanan data. Ada beberapa pilihan struktur penyimpanan
(Silberschatz,2002,p422), yaitu :
Ø Heap
Ø Hash
Ø Sekuensial berindeks
Ø Clusters
c. Memilih indeks
Bertujuan
untuk meningkatkan performa dalam suatu sistem basis data. Salah satu
pendekatan untuk memilih organisasi file yang cocok untuk relasi
adalah untuk menyimpan tuples yang tidak disimpan dan dibuat sebanyak secondary
indexes sebagaimana diperlukan. Oleh karena itu, atribut yang digunakan
adalah:
· Atribut yang sering digunakan
untuk join operations untuk membuat lebih efisien.
· Atribut yang sering dipesan untuk
mengakses tuples pada suatu relasi didalam urutan yang menunjukkan
atribut.
d. Memperkirakan
kebutuhan ruang penyimpanan
Bertujuan
untuk memperkirakan jumlah ruang penyimpanan yang akan diperlukan dalam basis
data. Perkiraannya didasari pada ukuran setiap tabel dalam suatu relasi.
Contohnya
dalam lima
tahun mendatang berapa kapasitas hard disk yang dibutuhkan untuk
menampung data.
Langkah keenam :
Merancang pandangan pengguna. Bertujuan untuk merancang pandangan pengguna yang
telah diidentifikasi selama mengumpulkan kebutuhan dan menganalisis langkah
dari relasional Database Application Lifecycle. Contohnya pada branch
terdiri dari direktur dan manajer pandangan.
Langkah ketujuh :
Merancang keamanan. Dalam sebuah sistem basis data, keamanan adalah elemen yang
sangat penting mengingat isi dari basis data berupa informasi yang sangat
penting. menurut Silberschatz (2002,p239) ukuran keamanan yang dapat diambil
untuk melindungi basis data antara lain dari segi :
· Sistem basis data
: ada beberapa pengguna berwenang yang dizinkan untuk mengakses bagian basis
data tertentu dan ada para pengguna yang lain hanya diizinkan untuk membaca
data yang diinginkannya, tetapi tidak punya hak untuk mengubahnya. Kewajiban
dari sistem basis data ini adalah menjaga batasan seperti di atas tetap
terjaga.
· Sistem operasi :
tidak peduli betapa aman sistem basis datanya, apabila terjadi kelemahan dalam
sistem operasi. Hal ini sama artinya dengan adanya akses yang tidak diinginkan
dalam basis data. Jadi tingkat keamanan perangkat lunak dalam sistem operasi
sangatlah penting seperti halnya keamanan yang dilakukan secara fisik.
· Jaringan :
seluruh sistem basis data memperbolehkan untuk mengakses lewat terminal atau
jaringan, keamanan software-level dalam software jaringan
sangat penting sebagai keamanan fisik, keduanya dibutuhkan dalam internet dan
jaringan pribadi.
· Fisik : situs
yang mengandung sistem komputer harus secara fisik aman dari entri secara
diam-diam dan bahaya oleh para penyelundup.
· Manusia :
otorisasi pada pengguna harus dilakukan secara hati-hati untuk mengurangi
adanya kejadian dimana pengguna yang berwenang memberikan akses kepada orang
lain dengan imbalan suap atau lainnya.
TEKNIK NORMALISASI
1.Pengertian Normalisasi
Normalisasi merupakan proses
pengelompokan data elemen menjadi table-tabel yang menunjukkan entitas dan
relasinya.
Anomali
adalah proses pada basis data yang memberikan efek samping yang tidak diharap- kan (misalnya
ketidakkonsistenan data karena adanya redudansi).
- Anomali penyisipan data (insert)
- Anomali pengubahan data (update)
- Anomali penghapusan data (delete)
Bila
ada anomali maka relasi mungkin perlu dipecah menjadi beberapa tabel lagi agar diperoleh
database yang optimal.
Depedensi (Ketergantungan).
Depedensi
merupakan konsep yang menda-sari
normalisasi. Depedensi menjelaskan nilai suatu atribut yang menentukan
nilai atribut lainnya.
Jenis
depedensi antara lain:
- Depedensi Fungsional
Suatu
atribut Y mempunyai depe-densi fungsional terhadap atribut X jika dan hanya
jika setiap nilai nilai X berhubungan dengan sebuah nilai Y.
X → Y
- Depedensi Transitif
Atribut
Z mempunyai depedensi transitif terhadap X bila:
- Y memiliki depedensi fungsional terhadap X
- Z memiliki depedensi fungsional terhadap Y
2.Tujuan dari
Normalisasi
Ø
Untuk menghilangkan kerangkapan data
Ø
Untuk mengurangi kompleksitas
Ø
Untuk mempermudah pemodifikasian data
3.Bentuk tidak normal (unnormalized Form)
Bentuk ini merupakan kumpulan data
yang direkam, tidak ada keharusan mengikuti suatu format tertentu, bisa tidak
lengkap atau terduplikasi. Data dikumpulkan apa adanya sesuai dengan
kedatangannya.
contoh :
Seorang
pegawai memiliki : nomor_pegawai, nama_pegawai, nomor_klien, nama_klien,
alamat_klien, keperluan_klien
Satu orang
pegawai mungkin akan melayani lebih dari 1 orang klien.
no_pegawai nama_pegawai
no_klien nama_klien
P27 Amir
Udinsah K01
Rini Suwandi
K02 Edi Damhudi
K04 Fatwa Sari
P28 Kartika
Amelia K03 Robert Irwandi
K07 Veronica
Suci
P29 Barkah
K05 Gabriela Febrianti
P30 Mahendra K06 Siti Amiarti
K08 Sandi
Sunardi
4.Bentuk – bentuk normalisasi antara lain :
1. Bentuk normal pertama (1NF)
- Setiap
data disajikan dalam bentuk flat file (tabular/tabel)
- Seluruh
atribut kunci terdefinisikan
- Tidak
ada pengulangan group pada tabel•Semua atribut bergantung pada kunci primer
(PK)
Contoh :
no_pegawai nama_pegawai
no_klien nama_klien
P27 Amir
Udinsah K01
Rini Suwandi
P27 Amir
Udinsah K02
Edi Damhudi
P27 Amir
Udinsah K04
Fatwa Sari
P28 Kartika Amelia K03 Robert Irwandi
P28 Kartika Amelia K07 Veronica Suci
P29 Barkah K05 Gabriela Febrianti
P30 Mahendra K06 Siti Amiarti
P30 Mahendra K08 Sandi Sunardi
2. Bentuk normal kedua (2NF)
Sebuah tabel/relasi berada dalam bentuk
normal kedua jika:
·
Sudah berada dalam bentuk pertama dan
·
Semua atribut bukan kunci memiliki depedensi
sepenuhnya terhadap kunci primer (PK)
(Namun masih memungkinkan tabel dalam 2NF
menunjukkan adanya depedensi transitif; artinya ada satu atau beberapa atribut
yang masih bergantung pada atribut bukan kunci)
Contoh :
no_pegawai nama_pegawai
P27 Amir Udinsah
P28 Kartika Amelia
P29 Barkah
P30 Mahendra
no_klien nama_klien
K01 Rini Suwandi
K02 Edi Damhudi
K03 Robert Irwandi
K04 Fatwa Sari
K05 Gabriela Febrianti
K06 Siti Amiarti
K07 Veronica Suci
K08 Sandi Sunardi
3. Bentuk normal ketiga (3NF)
Sebuah
tabel/relasi berada dalam bentuk normal ketiga jika:
·
Sudah berada dalam bentuk kedua
dan
·
Tidak mengandung depedensi
transitif
Contoh :
no_pegawai no_klien
P27 K01
P27 K02
P27 K04
P28 K03
P28 K07
P29 K05
P30 K06
P30 K08
4. Bentuk BCNF (Boyce-Codd Normal Form)
BCNF
adalah kasus khusus 3NF. Sebuah tabel/relasi berada dalam bentuk BCNF jika:
·
Setiap penentu (determinan)
pada tabel adalah sebuah kunci kandidat (candidate key)
·
Jika tabel hanya mengandung
satu kunci kandidat maka bentuk 3NF sama
dengan BCNF.
DAFTAR PUSTAKA
Terima kasih telah membaca artikel tentang Perancangan & Implementasi Basis Data Relasional Dengan Teknik Normalisasi di blog Anshar Share jika anda ingin menyebar luaskan artikel ini di mohon untuk mencantumkan link sebagai Sumbernya, dan bila artikel ini bermanfaat silakan bookmark halaman ini di web browser anda, dengan cara menekan Ctrl + D pada tombol keyboard anda.