bab2 kebutuhan perencanaan database
KEBUTUHAN PERENCANAAN DATABASE
2.1
TUJUAN PERENCANAAN
Sebelum melihat pada masalah-masalah perencanaan khusus dan algoritma,
yang terbaik adalah menentukan beberapa tujuan perencanaan. Pada kenyataannya,
apa yang diinginkan hasil akhir dari proses perencanaan database relasional?
Meskipun beberapa tujuan perencanaan dapat disusun, tujuan berikut yang dianggap
jadi lebih penting, yaitu :
1.
2.
3.
4.
Memiliki kemampuan menyimpan seluruh data yang berguna dalam database.
Meniadakan kerangkapan data (redundant).
Mengusahakan banyaknya relasi di dalam database minimum.
Mempunyai relasi yang dinormalkan, sebagaimana untuk problema meminimumkan pembaharuan dan penghapusan.
Setiap tujuan ini akan dibicarakan dengan singkat.
Tujuan 1 : Kemampuan menyimpan seluruh data yang berguna dalam
database. Tujuan ini jarangjelas, tetapi ini paling penting. Database dianggap dapat
memenuhi semua data yang menarik untuk organisasi sehingga database hams direncanakan dalam suatu cara sehingga suatu tempat untuk sebuah data dapat
11
ditemukan dalam database. Tingkat pertama didalam proses perencanaan adalah
menetapkan semua atribut yangditempatkan dalam database. Suatu saat atribut telah
diidentifikasi, perencana dapat mulai untuk bingung mengenai bagaimana beberapa
relasi akan diperlukan,dan atribut yang mana akan dimasukkan ke dalam relasi
tenentu. Di dalam sebuah database untuk mikrokomputer, di sini ada problema
tambahan yaitu apakah data yang akan disimpam harns direncanakan sebagai hasil
di dalam satu database, atau mungkin dua atau beberapa database.
E_S
E_S
Supr
Emp*
125
Jones
Empt*
125
138
Smith
138
195
smith
195
200
Jones
200
I
I
I
I
supe
Jones
I
Smith
(a)
(b)
Gambar 2.1. Data rangkap yang tidak rangkap
Tujuan 2: Meniadakan kerangkapan data. Percabangan dari tujuan ini tidak
jelas untuk perencana database pemula. Kunci untuk mengerti tujuan ini adalah
menyadari bahwa ada suatu perbedaan yang nyata antara data yang rangkap dan
kerangkapan data yang rangkap.Sebagai contoh, lihat relasi E_S pada gambar 2.1(a).
Relasi ini mempunya 2 atribut, Emp#(nomor pegawai) dan Supr(pengawas).Relasi
memenuhi data yang menunjukkan pengawas yang bersangkutan dari setiap
pegawai di dalam perusahaan. Nama-nama dari para pengawas dapat ditunjukkan
beberapa kali dalam relasi. Dalam kenyataan, sebuah nama pengawas akan muncul
lagi untuk setiap pegawai yang diawasi. Catatan, meskipun 'Jones'dan 'Smith'
keduanya muncul dua kali di dalam hal E_S diberikan di dalam gambar 2.1(a), tidak
ada nama-nama rangkap yang dinamakan kerangkapan. Alasan mereka bukan
kerangkapan yang adalah jika satu dari nama-nama itu tak ada dari relasi, maka informasi hHang.Contoh gambar 2.1(b), menunjukan suatu hal dari E_Sakan terlihat
sepeni dengan nama rangkap dihapus. Dalam alasan ini, tidak ada tujuan
mengetahui nama-nama pengawas pegawai #195 dan #200.
12
Emp;t
Supr
Spone
125
Jones
135
Emp;t
Supr
Sphone
3051
125
Jones
3051
Smith
2222
135
Smith
2222
195
Smith
2222
195
Smith
-
200
Jones
3051
200
Jones
-
I
(a)
(b)
E_S
S_P
Supr
Emp;t
I
Supr
I
Sphone
I
I
125
Jones
Jones
3051
138
Smith
Smith
2222
196
Smith
200
Jones
I
Gambar 2. 2
(c)
Meniadakan
kerangkapan data
(data redundant)
Gambar 2.2(a) adalah contoh dari sebuah relasi yang mempunyai redundant
atas data yang rangkap. Relasi E_S_P Similar dengan relasi E_S tetapi memasukkan atribut Sphone, yang mana adalah nomor telephone dari pengawas (Diasumsikan
bahwa setiap pengawas hanya mempunyai sebuah nomor telephone). Dalam hal ini
nomor telephone untuk Jones dan Smith muncullebih dari sekali, dan informasi yang
rangkap pada nomor telephone adalah redundant. Alasan nomor-nomor yang
rangkap adalah kerangkapan jika, katakan, satu dari nomor-nomor telephone Jones
ditiadakan, nomor telephone Jones adalah model yang tersedia di dalam tupel yang
lain dalam relasi. Gambar 2.2(b) adalah sebuah contoh bagaimana relasi E_S_P
akan terlihatjika nomor-nomor telephone yangrangkap diganti dengan 'null' .Catatan
bahwa nomor-nomor telephone untuk Jones dan Smith tidak akan hilang,sejak
nomor-nomor itu setiap muncul d( dalam satu tupel dalam relasi. Metode ini
.
pedomankerangkapandatayangtidakmemuaskanuntuk 2 alasan.Pertama,tempat
kosong dalam basisdata harns dihindarkan, sejak program tambahan dikehendaki
untuk menghitung apa ani dari null yang sebenamya. Dalam hal ini,jika tupel ketiga,
( 195,Smith,_), yang dibaca dari relasi,nomor telephone Smith akan tidak diketahui.
Pemakai akan mempunyai cukup pengetahuan untuk melihat tupel yang lain dalam
13
relasi yang dipunyai Smith sebagai nilai atribut Supr dan tidak ada nilai null untuk
Sphone. Kedua, dan lebih kritis, relasi dalam gambar 2.2(b) dibentuk seperti itu
masalah penghapusan yang sukar dapat terjadi. Jika pegawai dengan E# = 125
meninggalkan enterprise, dan tupel (125,Jones,3051) dihapus dari relasi untuk
mengambil kenyataan ini kedalam hitungan, nomor telephone untuk Jones hHang,
sejak tidak muncul dimanapun selain di dalam relasi.
Gambar 2(c) terlihat sebagai jalan terbaik meniadakan kerangkapan nomornomor telephone. Disini relasi E_S_P akan berubah tempat dengan 2 relasi, satu
pedoman informasi dalam nomor-nomor pegawai dan nama-nama pengawas, dan
satu pedoman informasi dalam nomor-nomor telephone pengawas. Ini akan menjadi
terlihat didalam pasal berikutnya yang membagi relasi-relasi sebagai suatu cara
perencanaan baku, tetapi harus dilakukan dibawah keyakinan yang pasti. Catatan dalam gambar 2.2(c) bahwa pegawai #125 dapat segera dihapus dari relasi E_S tanpa
kehilangan nomor-nomor telephone pegawai-pegawai pengawas yang tadi, yang
disimpan dalam relasi S_P.
. Tujuan 3 : Memelihara nomor dari relasi untuk suatu minimum. Tujuan
ini perjanjian dengan kenyataan bahwa meskipun membagi satu relasi kedalam dua
atau lebih relasi yang lebih kecil boleh menjadi yang diinginkan untuk ketiadaan
masalah-masalah keyakinan, terlalu banyak relasi dalam basisdata bisa membuatnya tidak praktis untuk menggunakan suatu angka yang siap dari pemakai.
Demikian, relasi-relasi nomor tidak dapat menjadi boleh tumbuh dalam suatu cara
yang tidak terbatas.
'Tujuan 4 : Mempunyai relasi yang dinormalkan. Tujuan 4 perjanjian
dengan kenyataan relasi-relasi pasti adalah lebih susceptible untuk masalah penghapusan dan perubahan, seperti kehilangan nomor telephone pengawas dibicarakan
dalam tujuan dua yang tersebut diatas, daripada relasi yang lain. Perencana harus
belajar untuk menandai ini dengan kesanggupan relasi yang berbahaya dan menormalkannya dengan membaginya dalam suatu gaya tulisan. Normalisasi adalah
menguraikan satu relasi kedalam dua atau lebih relasi mengikuti suatu cara yang
khusus untuk menentukan pembagian. Normalisasi akan dibicarakan dalam
pasal 3.
Suatu masalah dengan rencana tujuan tiga dan empat adalah yang mereka
kerjakan didalam kebalikan untuk setiap yang lain. Tujuan tiga akan mempunyai
kompromi untuk mempertemukan ujuan empat atau,membicarakan ,tujuan empat
akan mempunya kompromi unttuk mempertemukan tujuan tiga. Ini akan menjadi
bagiandari keputusan rencana akhir.
14
2.2
RELASI UNIVERSAL
Anggap bahwa suatu basisdata keeil akan menjadi reneana untuk seorang
penasehat universitas. Penasehat mempunyai beberapa mahasiswa yang dinasehati,
semua yang tinggal di kampus, dan semua yang ada dalam departemen utama yang
sarna.
Langkah pertama dalam cara pereneanaan adalah penentuan dari semua atribut
yang penasehat inginkan untuk dimiliki dalam basisdata, dan bagaimana atribut
dihubungkan ke setiap yang lain. Informasi adalah tempatdi dalam pembiearaan oleh
penasehat, membuat pasti bahwa penasehat tahu apakah data akan di dalal.1basisdata,
bagaimana basisdata akan dipergunakan, dan apakah informasi penasehat mengharapkan untuk memperoleh dari basisdata. Setelah beberapa pertemuan oleh penasehat,
nama-nama, keadaan-keadaan pada atribut disimpan yang ditentukan menjadi:
Snum-nomor mahasiswa, suatu integer yang mempunyai nilai yang unik
untuk setiap mahasiswa dalam universitas.
Sname-nama mahasiswa, setiap mahasiswa hanya mempunyai satu nama,
tetapi ini mungkin bahwa lebiiih dari satu mahasiswa mempunya nama yang sarna.
Rnum-nomor kamar asrama kampus. Setiap mahasiswa tinggal dalam
kampus dan diberi sebuah kamar. Lebih dari satu mahasiswa yang mungkin diberi
pada spbuah kamar tunggal.
Pnum-nomor telephone mahasiswa. Setiap kamar asrama kampus
mempunyai satu telephone yang dipakai oleh semua mahasiswa dalam kamar.
Class-nomor kelas. Ini adalah nomor petunjuk sebuah kelas yang diambil
oleh seorang mahasiswa yang sebenarnya. Sebagai eontoh adalah MTH122. Penasehat hanya akan menyimpan datadalam kelas-kelas yangmempunyai kelengkapan
oleh seorang mahasiswa yang memberi.
Term-waktu kuliah. Ini waktu kuliah yang mana sebuah kelas yang diberikan
dilengkapi oleh mahasiswa. Ini mungkin bahwa seorang mahasswa yang diberi boleh
mengambil banyak kursus yang sarna dalam waktu yang berbeda.
Grade-tingkatan kelas. Tingkatan seorang mahasiswa yang diberi diterima
dalam sebuah kelas yang sebenarnya dalam suatu waktu yang diberi.
Sebuah eontoh data yang penasehat reneanakan sebagai yangakan disimpan
dalam basisdata diperlihatkan dalam gambar 2.3. Meskipun gambar ini sebuah
eontoh tabular dari data bahwa mungkin akan ada di dalam basisdata pada beberapa
saat pada waktu, tabel bukan suatu relasi.
15
ADVISOR
Snum
Sname
Rnum
Pnum
3215
Jones
120 DH
2136
3462
3567
4756
SmithA
HowesJ
AlexK
238VH
120DH
345VH
2344
2136
3321
Class
Tenn
Grade
MTH 122
F84
1.6
SCIl20
F84
2.4
PHY230
W85
2. 1
MTH 120
W85
2. 3
MTH 122
W84
2. 3
MTH123
W85
3. 5
PSY220
W85
3. 7
SCI239
W84
3. 3
EGR171
F84
3.5
PHY141
F84
1.8
MUS389
F83
4.0
Gambar 2. 3 Data yang diinginkan oleh penasehat.
3215
JonesG
120DH
2136
MTH122
F84
1.6
SCIl20
F84
2.4
PHY230
W85
2. 1
MTH 122
W85
2. 3
Gambar 2.4. Satu 'baris' dari tabel dalam gambar 3.
Untuk melukiskan mengapa tabel dalam gambar 2.3 bukan sebuah relasi, satu
'baris' akan dikeluarkan dalam gambar 2.4. Dalam gambarini, nilai field-field dalam
empat field Snum, Sname, Rnum dan Pnum adalah semua nilai-nilai tunggal,
sementara nilai-nilai dalam field-field Class, Term dan Grade mempunyai nilai-nilai
jamak. 'Baris' ini dibedakan denganjelas dari bentuk tuple yang diberikan dalam
relasi-relasi sederhana yang telah dibicarakan terlebih dahulu. Perbedaan itu adalah
semua field-field dalam baris tidak melakuka~ pengisian atribl1tbernilai tunggal.
Untuk menentukan data dalam gambar 2.3 kedalam bentuk sebuah relasi, data hams
menjadi tempat akhir juga bahwa setiap tuple mempunyai suatu hal bernilai tunggal
dalam tiap-tiap elemem dari tuple. Ini dapat selalu dilakukan oleh suatu cara
pemasukan sederhana, dengan hasil dalam hal itu menjadi gambar 2.5. Cara yang
mungkin penambahan dari sejumlah besar data rangkap, tetapi kerangkapan akan
dijadikan pemindahan yang dibelakang dalam cara rencana.
16
Tabel dalam gambar 2.5 sekarang adalah suatu hal dari sebuah relasi yang sah.
Ini ditunjuk sebagai relasi universal dari basisdata menjadi direneanakan. Relasi
universal mempunyai semua atribut dari tempat yang menarik kedalam satu relasi,
dan dapat menyimpan semua data yang akan menjadi tempat dalam basisdata pada
suatu waktu yang akan datang. Untuk basisdata yang keeil (sesuatu dengan tidak lebih
dari 15-20 atribut) relasi universal akan dapat dipergunakan dengan efektif sebagai
hal pemula dari reneana basisdata.
2.3
MASALAH-MASALAH DENGAN MENGGUNAKAN SEBUAH RELASI TUNG GAL
ADVISOR
Snum
Sname
Rnum
Pnum
Class
Tenn
Grade
32]5
JonesG
]20DH
2]36
MTH] 22
F84
1.6
32]5
JonesG
]20DH
2136
SCI120
F84
2.4
3215
JonesG
]20DH
2136
PHY230
W85
2. 1
3215
JonesG
]20DH
2136
MTH 122
W85
2. 3
3462
SmithA
238VH
2344
MTH 122
W84
2. 3
3462
SmithA
238VH
2344
MTH]23
W85
3.5
3462
SmithA
238VH
2344
PHY220
W85
3. 7
3567
HowesJ
]20DH
2136
SCI239
W84
3.3
3567
HowesJ
]20DH
2136
ERG]71
F84
3.5
3567
HowesJ
120DH
2136
PHY] 41
F84
1.8
4756
AlexK
345VH
3321
MUS389
F83
4.0
Gambar 2.5. Data dari tabel dalam gambar 2.3 ditempatkan dalam sebuah
relasi yang berlaku.
Suatu permulaan pereneana akan digoda untuk menggunakan relasi ADVISOR
dalam gambar 2.5 sebagai basisdata yang lengkap. Kelihatannya untuk menjadi
sesuatu yang terus didepannya untuk melakukan. Mengapa pemutusan ADVISOR
kedalam beberapa relasi yang lebih keeil, ketika dia dapat pedoman semua data
akan dia sendiri ? Adalah beberapa alasan mengapa relasi yang sebenarnya ini tidak
harus digunakan sebagai hanya satu di dalam basisdata. Ini akan dapat ditemukan oleh
penglihatan bagaimana basisdata akan dipergunakan, dan bagaimana data dalam
ADVISOR akan dipengaruhi oleh operasi-operasi basisdata yang pasti. Pembiearaan pusat bawah pada tiga masalah-masalah khusus: Satu dihubungkan untuk
17
pembahaman (atau modifikasi) dari data dalam basisdata; satu meliputi penghapusan
sebuah tuple dan yang lainnya meliputi penyisipan sebuah tuple baru. Masalahmasalah diluar yang dengan umumnya dihubungi untuk sebagai penyisipan, penghapusan, dan perubahan penyimpangan, dimana sebuah penyimpangan adalah suatu
variasi dari nonna.
Masalah penyisipan : Jika penasehat menentukan sebuah nasehat barn, satu
siapa yang harus belum melengkapi sebuah kelas, sebuah tuple untuk mahasiswa
akan mempunyai penempatan didalam basisdata dengan null untuk nilai atribut
Class, Tenn, dan Grade. Sebagai catatan beberapa waktu, nilai null hams dihindari.
Demikian, mahasiswa bam tidak dapat ditambahkan pada basisdata sampai sesudah
sebuah kelas menjadi lengkap .
Gambar 2.6(a) adalah sebuah contoh dari apakah ADVISOR akan terlihat
seperti jika seorang mahasiswa yang tidak hams melengkapi beberapa kelas
dikuatkan kedalam relasi menggunakan dBase II. Untaian karakter null memperlihatkan sebagai tempat kosong (dalam Class dan Tenn). Sementara nilai bilangan
null dalam tempat Grade diterjemahkan oleh dBase II sebagai sebuah 0.0. Gambar
2.6(b) memperlihatkan sebuah kemungkinan akibat dari kemunculan 0.0 dalam
tempat kosong. Disini sebuah cara penyelesaian pada Query "Daftar Snums dan
Snames dari semua mahasiswa yang diizinkan pada sisa satu tingkatan mengatakan
suatu 2.0" akan dilaksanakan. HomerH didaftar sebagai bagian mahasiswa, tetapi
HomerH tidak dilengkapi sebuah kelas tunggal.
USE ADVISOR
·List
0000 1
3215
JonesG
120DH
2136
MTH122
F84
1.6
00002
3215
JonesG
1200H
2136
SCI 120
F84
2.4
00003
3215
JonesG
1200H
2136
PHY230
W85
2. 1
00004
3215
JonesG
1200H
2136
MTH 122
W85
2. 3
00005
3462
SmithA
238VH
2344
MTH 122
W84
2. 3
00006
3462
SmithA
238VH
2344
MTH123
W85
3.5
00007
3462
SmithA
238VH
2344
PHY220
W85
3. 7
00008
3567
HowesJ
120DH
2136
SCI239
W84
3.3
00009
3567
HowesJ
120DH
2136
ERG171
F84
3.5
00010
3567
HowesJ
120DH
2136
PHY141
F84
1.8
00011
4756
AlexK
345VH
3321
MUS389
F83
4.0
00012
7890
HOwerH
121VH
7619
(a)
18
0.0
. display off Snum, Sname for Grade < 20
3215
JonesG
3567
HowesJ
7890
I HowerH
(b)
Gambar 2.6
(a) hasil penyisipan sebuah record dengan tempat kosong.
(b) kesalahan rangkap Query untuk tempat kosong.
Masalah Memperbarui : Ini adalah sejumlah besar kerangkapan data dalam
ADVISOR. Kerangkapan data selalu tanda kemungkinan dari perubahan hanya sebagian keinginan data selama sebuah operasi pembaharuan. ADVISOR mempunyai
kedua penjelasan, dan tidak terlalu jelas, kerangkapan. Penjelasan kerangkapan
adalah suatu pemberian nama mahasiswa, nomor kamar dan nomor telephone akan
didaftar beberapa kali. Dalam hal ADVISOR diberikan dalam gambar 2.5 nomor
kamar Ms.G Jones muncul tiga kali. Jika dia dihubungi penasehatnya dan mengatakan bahwa nomor kamarnya akan dirubah, Penasehat harus membuat pasti bahwa
perubahan dibuat dalam seluruh tiga tuple atau data akan menjadi tidak tetap.
Suatu kerangkapan yang tidak terlalujelas adalah nomor telephone.yang sarna
memperlihatkan untuk semua mahasiswa yang tinggal dalam kamar yang sarna.
Dalam gambar 2.5 nomor telephone untuk nomor 120DH muncul keduanya oleh
JonesG dan HowesJ. Anggap MS.G.Jonesmenceritakan penasehatnya bahwa nomor
telephonenya akan dirubah ke 777, tetapi lalai untuk menceritakan penasehat bahwa
dia mempunyai seorang pasangan kamar.
.
Jika penasehathanya merubahnomor telephonedalam tuple-tupleitu yang
dipunyai nomor mahasiswa JonesG didalamnya, lalu nomor telephone yang benar
untuk telephone yang benar untuk telephone itu yang dinomor ka,mar 120DH tidak
akan diketahui, sejak 2 perbedaan nomor untuk telephone dalatn kamar ini akan
menjadi dalam relasi.
Gambar 2.7 melukiskan penyimpangan pembaharuan yang telah lalu. Dalstm
gambar 2.7(a) nomor telephone JonesG dirubah ke 7777. Gambar 2.7(b) memberikan
dBase IIjawaban untuk Query "Daftar nomor telephone dalam kamar 120DH". Dua
nomor yang didaftar dalam jawaban untuk Query, yang mana adalah kesalahan sejak
setiap kamar hanya mempunyai satu telephone dan ~atu nomor telephone. Catatan
bahwa jawaban yang rangkap untuka Query dicetak dengan dBase II. Nomor telephone 2136 dan 777 setiap muncul dalam tiga tuple berbeda dalam hal relasi
ADVISOR dibawah pembicaraan, dan semua nilai enam memperoleh cetakan
dengan DBMS diprogram untuk menyelesaikan kerangkapan jawaban untuk Query,
jika tidak adalah permohonan yang khusus.
19
Masalah penghapusan : Dalam hal ADVISOR memberikan gambar 2.5,
sebuah tuple dengan Snum =4756 muncul hanya sekali dalam relasi. Tuple ini adalah
untuk seorang mahasiswa yang mempunyai nama AlexK. Anggap bahwa penasehat
menemukan bahwa mahasiswa ini tidak mengambil kelas MUS389 sebagaimana
ditunjukkan, dan penghapusan tuple ini dari relasi. Sejak ini hanya tuple yang
menggabungkan beberapa relasi informasi untuk mahasiswa ini, penghapusan ini
akan meniadakan mahasiswa dari basisdata. Jika penaseha mengikuti penghapusan
ini dengan suatu permohonan untuk suatu pendaftaran nama-nama semua nasehat
dari ADVISOR, nama AlexK tidak akan didaftar.
-list off
3215
JONESG
120DH
2136
MTH 122
F84
1.6
3215
JONESG
120DH
2136
SCIl20
F84
2.4
3215
JONESG
120DH
2136
PHY230
W85
2. 1
3215
JONESG
120DH
2136
MTH 122
W85
2.3
3462
SMITHA
234YH
2344
MTH 122
W84
2.3
3462
SMITHA
234YH
2344
MTH123
W85
3.5
3462
SMITHA
234YH
2344
PSY220
W85
3. 7
3567
HOWESJ
120DH
2136
SCI239
W84
3.3
3567
HOWESJ
120DH
2136
EGR171
F84
3.5
3567
HOWESJ
120DH
2136
PHY141
F84
1.8
4756
ALEXK
345YH
3321
MUS389
F83
4.0
7890
HOWERH
121YH
7619
-
replace Pnum with 7777 for Sname
00004 REPLACEMENT
0.0
= 'JONESG'
(S)
(a)
20
. display offPnum
for Rnum = '120DH'
7777
7777
7777
7777
2136
2136
2136
Gambar 2.7
(b)
(a) Merubah satu nomor telephone mahasiswa
(b) Kesalahan query mengikuti perubahan nomor telephone.
SOAL LATIHAN
1. Pada relasi ADVISOR sesuai gambar 2.5, manakah yang merupakan primary
key (kunci utama) ?
2. Pada relasi ADVISOR sesuai gambar 2. 5, identifikasikan pada data tersebut
yang mengalamiduplikasi& redudan.
.
3. Pada relasi ADVISOR sesuai gambar 2. 5, idemifikasikan pada data tersebut
yang mengalami duplikasi tetapi tidak redudan
4. Relasi PHONE dibuat untuk memberikaninformasi mengenai nama Pegawai,
Nomor TeleponRumah, Nomor Telepon untuk pesawat di kantor. Diasumsikan
bahwa * Nama Pegawai unik, satu rumah dengan satu telepon & mungkin
mempunyai telepon dengan pesawat yang berbeda-beda. * Setiap Pegawai
beberapa karyawan mempergunakan telepon secara pararel secara khusus relasi
PHONE disajikan pada gambar 2. 8
21
PHONE
NAMA
JONESKK
TELEPON RUMAH
PESAWAT
3167
JONESKK
345 - 1121
345-1121
KROFf AD
345 - 9898
4000
MARTZLK
348 -4512
3167
MARTZLK
348 - 4512
3168
RALSTONTI
345 -7766
4001
RALSTONTI
345 - 7766
4002
3168
Gambar 2. 8 Relasi PHONE
Pertanyaan:
(a) Diskusikan bahwa data relasi PHONE di atas yang redudan.
(b) Bagaimana relasi PHONE diatas diubah sehingga data redudan hilang.
(c) Gambarkan relasi dari relasi PHONE setelah menghilangkan data yang
redudan.
22
2.1
TUJUAN PERENCANAAN
Sebelum melihat pada masalah-masalah perencanaan khusus dan algoritma,
yang terbaik adalah menentukan beberapa tujuan perencanaan. Pada kenyataannya,
apa yang diinginkan hasil akhir dari proses perencanaan database relasional?
Meskipun beberapa tujuan perencanaan dapat disusun, tujuan berikut yang dianggap
jadi lebih penting, yaitu :
1.
2.
3.
4.
Memiliki kemampuan menyimpan seluruh data yang berguna dalam database.
Meniadakan kerangkapan data (redundant).
Mengusahakan banyaknya relasi di dalam database minimum.
Mempunyai relasi yang dinormalkan, sebagaimana untuk problema meminimumkan pembaharuan dan penghapusan.
Setiap tujuan ini akan dibicarakan dengan singkat.
Tujuan 1 : Kemampuan menyimpan seluruh data yang berguna dalam
database. Tujuan ini jarangjelas, tetapi ini paling penting. Database dianggap dapat
memenuhi semua data yang menarik untuk organisasi sehingga database hams direncanakan dalam suatu cara sehingga suatu tempat untuk sebuah data dapat
11
ditemukan dalam database. Tingkat pertama didalam proses perencanaan adalah
menetapkan semua atribut yangditempatkan dalam database. Suatu saat atribut telah
diidentifikasi, perencana dapat mulai untuk bingung mengenai bagaimana beberapa
relasi akan diperlukan,dan atribut yang mana akan dimasukkan ke dalam relasi
tenentu. Di dalam sebuah database untuk mikrokomputer, di sini ada problema
tambahan yaitu apakah data yang akan disimpam harns direncanakan sebagai hasil
di dalam satu database, atau mungkin dua atau beberapa database.
E_S
E_S
Supr
Emp*
125
Jones
Empt*
125
138
Smith
138
195
smith
195
200
Jones
200
I
I
I
I
supe
Jones
I
Smith
(a)
(b)
Gambar 2.1. Data rangkap yang tidak rangkap
Tujuan 2: Meniadakan kerangkapan data. Percabangan dari tujuan ini tidak
jelas untuk perencana database pemula. Kunci untuk mengerti tujuan ini adalah
menyadari bahwa ada suatu perbedaan yang nyata antara data yang rangkap dan
kerangkapan data yang rangkap.Sebagai contoh, lihat relasi E_S pada gambar 2.1(a).
Relasi ini mempunya 2 atribut, Emp#(nomor pegawai) dan Supr(pengawas).Relasi
memenuhi data yang menunjukkan pengawas yang bersangkutan dari setiap
pegawai di dalam perusahaan. Nama-nama dari para pengawas dapat ditunjukkan
beberapa kali dalam relasi. Dalam kenyataan, sebuah nama pengawas akan muncul
lagi untuk setiap pegawai yang diawasi. Catatan, meskipun 'Jones'dan 'Smith'
keduanya muncul dua kali di dalam hal E_S diberikan di dalam gambar 2.1(a), tidak
ada nama-nama rangkap yang dinamakan kerangkapan. Alasan mereka bukan
kerangkapan yang adalah jika satu dari nama-nama itu tak ada dari relasi, maka informasi hHang.Contoh gambar 2.1(b), menunjukan suatu hal dari E_Sakan terlihat
sepeni dengan nama rangkap dihapus. Dalam alasan ini, tidak ada tujuan
mengetahui nama-nama pengawas pegawai #195 dan #200.
12
Emp;t
Supr
Spone
125
Jones
135
Emp;t
Supr
Sphone
3051
125
Jones
3051
Smith
2222
135
Smith
2222
195
Smith
2222
195
Smith
-
200
Jones
3051
200
Jones
-
I
(a)
(b)
E_S
S_P
Supr
Emp;t
I
Supr
I
Sphone
I
I
125
Jones
Jones
3051
138
Smith
Smith
2222
196
Smith
200
Jones
I
Gambar 2. 2
(c)
Meniadakan
kerangkapan data
(data redundant)
Gambar 2.2(a) adalah contoh dari sebuah relasi yang mempunyai redundant
atas data yang rangkap. Relasi E_S_P Similar dengan relasi E_S tetapi memasukkan atribut Sphone, yang mana adalah nomor telephone dari pengawas (Diasumsikan
bahwa setiap pengawas hanya mempunyai sebuah nomor telephone). Dalam hal ini
nomor telephone untuk Jones dan Smith muncullebih dari sekali, dan informasi yang
rangkap pada nomor telephone adalah redundant. Alasan nomor-nomor yang
rangkap adalah kerangkapan jika, katakan, satu dari nomor-nomor telephone Jones
ditiadakan, nomor telephone Jones adalah model yang tersedia di dalam tupel yang
lain dalam relasi. Gambar 2.2(b) adalah sebuah contoh bagaimana relasi E_S_P
akan terlihatjika nomor-nomor telephone yangrangkap diganti dengan 'null' .Catatan
bahwa nomor-nomor telephone untuk Jones dan Smith tidak akan hilang,sejak
nomor-nomor itu setiap muncul d( dalam satu tupel dalam relasi. Metode ini
.
pedomankerangkapandatayangtidakmemuaskanuntuk 2 alasan.Pertama,tempat
kosong dalam basisdata harns dihindarkan, sejak program tambahan dikehendaki
untuk menghitung apa ani dari null yang sebenamya. Dalam hal ini,jika tupel ketiga,
( 195,Smith,_), yang dibaca dari relasi,nomor telephone Smith akan tidak diketahui.
Pemakai akan mempunyai cukup pengetahuan untuk melihat tupel yang lain dalam
13
relasi yang dipunyai Smith sebagai nilai atribut Supr dan tidak ada nilai null untuk
Sphone. Kedua, dan lebih kritis, relasi dalam gambar 2.2(b) dibentuk seperti itu
masalah penghapusan yang sukar dapat terjadi. Jika pegawai dengan E# = 125
meninggalkan enterprise, dan tupel (125,Jones,3051) dihapus dari relasi untuk
mengambil kenyataan ini kedalam hitungan, nomor telephone untuk Jones hHang,
sejak tidak muncul dimanapun selain di dalam relasi.
Gambar 2(c) terlihat sebagai jalan terbaik meniadakan kerangkapan nomornomor telephone. Disini relasi E_S_P akan berubah tempat dengan 2 relasi, satu
pedoman informasi dalam nomor-nomor pegawai dan nama-nama pengawas, dan
satu pedoman informasi dalam nomor-nomor telephone pengawas. Ini akan menjadi
terlihat didalam pasal berikutnya yang membagi relasi-relasi sebagai suatu cara
perencanaan baku, tetapi harus dilakukan dibawah keyakinan yang pasti. Catatan dalam gambar 2.2(c) bahwa pegawai #125 dapat segera dihapus dari relasi E_S tanpa
kehilangan nomor-nomor telephone pegawai-pegawai pengawas yang tadi, yang
disimpan dalam relasi S_P.
. Tujuan 3 : Memelihara nomor dari relasi untuk suatu minimum. Tujuan
ini perjanjian dengan kenyataan bahwa meskipun membagi satu relasi kedalam dua
atau lebih relasi yang lebih kecil boleh menjadi yang diinginkan untuk ketiadaan
masalah-masalah keyakinan, terlalu banyak relasi dalam basisdata bisa membuatnya tidak praktis untuk menggunakan suatu angka yang siap dari pemakai.
Demikian, relasi-relasi nomor tidak dapat menjadi boleh tumbuh dalam suatu cara
yang tidak terbatas.
'Tujuan 4 : Mempunyai relasi yang dinormalkan. Tujuan 4 perjanjian
dengan kenyataan relasi-relasi pasti adalah lebih susceptible untuk masalah penghapusan dan perubahan, seperti kehilangan nomor telephone pengawas dibicarakan
dalam tujuan dua yang tersebut diatas, daripada relasi yang lain. Perencana harus
belajar untuk menandai ini dengan kesanggupan relasi yang berbahaya dan menormalkannya dengan membaginya dalam suatu gaya tulisan. Normalisasi adalah
menguraikan satu relasi kedalam dua atau lebih relasi mengikuti suatu cara yang
khusus untuk menentukan pembagian. Normalisasi akan dibicarakan dalam
pasal 3.
Suatu masalah dengan rencana tujuan tiga dan empat adalah yang mereka
kerjakan didalam kebalikan untuk setiap yang lain. Tujuan tiga akan mempunyai
kompromi untuk mempertemukan ujuan empat atau,membicarakan ,tujuan empat
akan mempunya kompromi unttuk mempertemukan tujuan tiga. Ini akan menjadi
bagiandari keputusan rencana akhir.
14
2.2
RELASI UNIVERSAL
Anggap bahwa suatu basisdata keeil akan menjadi reneana untuk seorang
penasehat universitas. Penasehat mempunyai beberapa mahasiswa yang dinasehati,
semua yang tinggal di kampus, dan semua yang ada dalam departemen utama yang
sarna.
Langkah pertama dalam cara pereneanaan adalah penentuan dari semua atribut
yang penasehat inginkan untuk dimiliki dalam basisdata, dan bagaimana atribut
dihubungkan ke setiap yang lain. Informasi adalah tempatdi dalam pembiearaan oleh
penasehat, membuat pasti bahwa penasehat tahu apakah data akan di dalal.1basisdata,
bagaimana basisdata akan dipergunakan, dan apakah informasi penasehat mengharapkan untuk memperoleh dari basisdata. Setelah beberapa pertemuan oleh penasehat,
nama-nama, keadaan-keadaan pada atribut disimpan yang ditentukan menjadi:
Snum-nomor mahasiswa, suatu integer yang mempunyai nilai yang unik
untuk setiap mahasiswa dalam universitas.
Sname-nama mahasiswa, setiap mahasiswa hanya mempunyai satu nama,
tetapi ini mungkin bahwa lebiiih dari satu mahasiswa mempunya nama yang sarna.
Rnum-nomor kamar asrama kampus. Setiap mahasiswa tinggal dalam
kampus dan diberi sebuah kamar. Lebih dari satu mahasiswa yang mungkin diberi
pada spbuah kamar tunggal.
Pnum-nomor telephone mahasiswa. Setiap kamar asrama kampus
mempunyai satu telephone yang dipakai oleh semua mahasiswa dalam kamar.
Class-nomor kelas. Ini adalah nomor petunjuk sebuah kelas yang diambil
oleh seorang mahasiswa yang sebenarnya. Sebagai eontoh adalah MTH122. Penasehat hanya akan menyimpan datadalam kelas-kelas yangmempunyai kelengkapan
oleh seorang mahasiswa yang memberi.
Term-waktu kuliah. Ini waktu kuliah yang mana sebuah kelas yang diberikan
dilengkapi oleh mahasiswa. Ini mungkin bahwa seorang mahasswa yang diberi boleh
mengambil banyak kursus yang sarna dalam waktu yang berbeda.
Grade-tingkatan kelas. Tingkatan seorang mahasiswa yang diberi diterima
dalam sebuah kelas yang sebenarnya dalam suatu waktu yang diberi.
Sebuah eontoh data yang penasehat reneanakan sebagai yangakan disimpan
dalam basisdata diperlihatkan dalam gambar 2.3. Meskipun gambar ini sebuah
eontoh tabular dari data bahwa mungkin akan ada di dalam basisdata pada beberapa
saat pada waktu, tabel bukan suatu relasi.
15
ADVISOR
Snum
Sname
Rnum
Pnum
3215
Jones
120 DH
2136
3462
3567
4756
SmithA
HowesJ
AlexK
238VH
120DH
345VH
2344
2136
3321
Class
Tenn
Grade
MTH 122
F84
1.6
SCIl20
F84
2.4
PHY230
W85
2. 1
MTH 120
W85
2. 3
MTH 122
W84
2. 3
MTH123
W85
3. 5
PSY220
W85
3. 7
SCI239
W84
3. 3
EGR171
F84
3.5
PHY141
F84
1.8
MUS389
F83
4.0
Gambar 2. 3 Data yang diinginkan oleh penasehat.
3215
JonesG
120DH
2136
MTH122
F84
1.6
SCIl20
F84
2.4
PHY230
W85
2. 1
MTH 122
W85
2. 3
Gambar 2.4. Satu 'baris' dari tabel dalam gambar 3.
Untuk melukiskan mengapa tabel dalam gambar 2.3 bukan sebuah relasi, satu
'baris' akan dikeluarkan dalam gambar 2.4. Dalam gambarini, nilai field-field dalam
empat field Snum, Sname, Rnum dan Pnum adalah semua nilai-nilai tunggal,
sementara nilai-nilai dalam field-field Class, Term dan Grade mempunyai nilai-nilai
jamak. 'Baris' ini dibedakan denganjelas dari bentuk tuple yang diberikan dalam
relasi-relasi sederhana yang telah dibicarakan terlebih dahulu. Perbedaan itu adalah
semua field-field dalam baris tidak melakuka~ pengisian atribl1tbernilai tunggal.
Untuk menentukan data dalam gambar 2.3 kedalam bentuk sebuah relasi, data hams
menjadi tempat akhir juga bahwa setiap tuple mempunyai suatu hal bernilai tunggal
dalam tiap-tiap elemem dari tuple. Ini dapat selalu dilakukan oleh suatu cara
pemasukan sederhana, dengan hasil dalam hal itu menjadi gambar 2.5. Cara yang
mungkin penambahan dari sejumlah besar data rangkap, tetapi kerangkapan akan
dijadikan pemindahan yang dibelakang dalam cara rencana.
16
Tabel dalam gambar 2.5 sekarang adalah suatu hal dari sebuah relasi yang sah.
Ini ditunjuk sebagai relasi universal dari basisdata menjadi direneanakan. Relasi
universal mempunyai semua atribut dari tempat yang menarik kedalam satu relasi,
dan dapat menyimpan semua data yang akan menjadi tempat dalam basisdata pada
suatu waktu yang akan datang. Untuk basisdata yang keeil (sesuatu dengan tidak lebih
dari 15-20 atribut) relasi universal akan dapat dipergunakan dengan efektif sebagai
hal pemula dari reneana basisdata.
2.3
MASALAH-MASALAH DENGAN MENGGUNAKAN SEBUAH RELASI TUNG GAL
ADVISOR
Snum
Sname
Rnum
Pnum
Class
Tenn
Grade
32]5
JonesG
]20DH
2]36
MTH] 22
F84
1.6
32]5
JonesG
]20DH
2136
SCI120
F84
2.4
3215
JonesG
]20DH
2136
PHY230
W85
2. 1
3215
JonesG
]20DH
2136
MTH 122
W85
2. 3
3462
SmithA
238VH
2344
MTH 122
W84
2. 3
3462
SmithA
238VH
2344
MTH]23
W85
3.5
3462
SmithA
238VH
2344
PHY220
W85
3. 7
3567
HowesJ
]20DH
2136
SCI239
W84
3.3
3567
HowesJ
]20DH
2136
ERG]71
F84
3.5
3567
HowesJ
120DH
2136
PHY] 41
F84
1.8
4756
AlexK
345VH
3321
MUS389
F83
4.0
Gambar 2.5. Data dari tabel dalam gambar 2.3 ditempatkan dalam sebuah
relasi yang berlaku.
Suatu permulaan pereneana akan digoda untuk menggunakan relasi ADVISOR
dalam gambar 2.5 sebagai basisdata yang lengkap. Kelihatannya untuk menjadi
sesuatu yang terus didepannya untuk melakukan. Mengapa pemutusan ADVISOR
kedalam beberapa relasi yang lebih keeil, ketika dia dapat pedoman semua data
akan dia sendiri ? Adalah beberapa alasan mengapa relasi yang sebenarnya ini tidak
harus digunakan sebagai hanya satu di dalam basisdata. Ini akan dapat ditemukan oleh
penglihatan bagaimana basisdata akan dipergunakan, dan bagaimana data dalam
ADVISOR akan dipengaruhi oleh operasi-operasi basisdata yang pasti. Pembiearaan pusat bawah pada tiga masalah-masalah khusus: Satu dihubungkan untuk
17
pembahaman (atau modifikasi) dari data dalam basisdata; satu meliputi penghapusan
sebuah tuple dan yang lainnya meliputi penyisipan sebuah tuple baru. Masalahmasalah diluar yang dengan umumnya dihubungi untuk sebagai penyisipan, penghapusan, dan perubahan penyimpangan, dimana sebuah penyimpangan adalah suatu
variasi dari nonna.
Masalah penyisipan : Jika penasehat menentukan sebuah nasehat barn, satu
siapa yang harus belum melengkapi sebuah kelas, sebuah tuple untuk mahasiswa
akan mempunyai penempatan didalam basisdata dengan null untuk nilai atribut
Class, Tenn, dan Grade. Sebagai catatan beberapa waktu, nilai null hams dihindari.
Demikian, mahasiswa bam tidak dapat ditambahkan pada basisdata sampai sesudah
sebuah kelas menjadi lengkap .
Gambar 2.6(a) adalah sebuah contoh dari apakah ADVISOR akan terlihat
seperti jika seorang mahasiswa yang tidak hams melengkapi beberapa kelas
dikuatkan kedalam relasi menggunakan dBase II. Untaian karakter null memperlihatkan sebagai tempat kosong (dalam Class dan Tenn). Sementara nilai bilangan
null dalam tempat Grade diterjemahkan oleh dBase II sebagai sebuah 0.0. Gambar
2.6(b) memperlihatkan sebuah kemungkinan akibat dari kemunculan 0.0 dalam
tempat kosong. Disini sebuah cara penyelesaian pada Query "Daftar Snums dan
Snames dari semua mahasiswa yang diizinkan pada sisa satu tingkatan mengatakan
suatu 2.0" akan dilaksanakan. HomerH didaftar sebagai bagian mahasiswa, tetapi
HomerH tidak dilengkapi sebuah kelas tunggal.
USE ADVISOR
·List
0000 1
3215
JonesG
120DH
2136
MTH122
F84
1.6
00002
3215
JonesG
1200H
2136
SCI 120
F84
2.4
00003
3215
JonesG
1200H
2136
PHY230
W85
2. 1
00004
3215
JonesG
1200H
2136
MTH 122
W85
2. 3
00005
3462
SmithA
238VH
2344
MTH 122
W84
2. 3
00006
3462
SmithA
238VH
2344
MTH123
W85
3.5
00007
3462
SmithA
238VH
2344
PHY220
W85
3. 7
00008
3567
HowesJ
120DH
2136
SCI239
W84
3.3
00009
3567
HowesJ
120DH
2136
ERG171
F84
3.5
00010
3567
HowesJ
120DH
2136
PHY141
F84
1.8
00011
4756
AlexK
345VH
3321
MUS389
F83
4.0
00012
7890
HOwerH
121VH
7619
(a)
18
0.0
. display off Snum, Sname for Grade < 20
3215
JonesG
3567
HowesJ
7890
I HowerH
(b)
Gambar 2.6
(a) hasil penyisipan sebuah record dengan tempat kosong.
(b) kesalahan rangkap Query untuk tempat kosong.
Masalah Memperbarui : Ini adalah sejumlah besar kerangkapan data dalam
ADVISOR. Kerangkapan data selalu tanda kemungkinan dari perubahan hanya sebagian keinginan data selama sebuah operasi pembaharuan. ADVISOR mempunyai
kedua penjelasan, dan tidak terlalu jelas, kerangkapan. Penjelasan kerangkapan
adalah suatu pemberian nama mahasiswa, nomor kamar dan nomor telephone akan
didaftar beberapa kali. Dalam hal ADVISOR diberikan dalam gambar 2.5 nomor
kamar Ms.G Jones muncul tiga kali. Jika dia dihubungi penasehatnya dan mengatakan bahwa nomor kamarnya akan dirubah, Penasehat harus membuat pasti bahwa
perubahan dibuat dalam seluruh tiga tuple atau data akan menjadi tidak tetap.
Suatu kerangkapan yang tidak terlalujelas adalah nomor telephone.yang sarna
memperlihatkan untuk semua mahasiswa yang tinggal dalam kamar yang sarna.
Dalam gambar 2.5 nomor telephone untuk nomor 120DH muncul keduanya oleh
JonesG dan HowesJ. Anggap MS.G.Jonesmenceritakan penasehatnya bahwa nomor
telephonenya akan dirubah ke 777, tetapi lalai untuk menceritakan penasehat bahwa
dia mempunyai seorang pasangan kamar.
.
Jika penasehathanya merubahnomor telephonedalam tuple-tupleitu yang
dipunyai nomor mahasiswa JonesG didalamnya, lalu nomor telephone yang benar
untuk telephone yang benar untuk telephone itu yang dinomor ka,mar 120DH tidak
akan diketahui, sejak 2 perbedaan nomor untuk telephone dalatn kamar ini akan
menjadi dalam relasi.
Gambar 2.7 melukiskan penyimpangan pembaharuan yang telah lalu. Dalstm
gambar 2.7(a) nomor telephone JonesG dirubah ke 7777. Gambar 2.7(b) memberikan
dBase IIjawaban untuk Query "Daftar nomor telephone dalam kamar 120DH". Dua
nomor yang didaftar dalam jawaban untuk Query, yang mana adalah kesalahan sejak
setiap kamar hanya mempunyai satu telephone dan ~atu nomor telephone. Catatan
bahwa jawaban yang rangkap untuka Query dicetak dengan dBase II. Nomor telephone 2136 dan 777 setiap muncul dalam tiga tuple berbeda dalam hal relasi
ADVISOR dibawah pembicaraan, dan semua nilai enam memperoleh cetakan
dengan DBMS diprogram untuk menyelesaikan kerangkapan jawaban untuk Query,
jika tidak adalah permohonan yang khusus.
19
Masalah penghapusan : Dalam hal ADVISOR memberikan gambar 2.5,
sebuah tuple dengan Snum =4756 muncul hanya sekali dalam relasi. Tuple ini adalah
untuk seorang mahasiswa yang mempunyai nama AlexK. Anggap bahwa penasehat
menemukan bahwa mahasiswa ini tidak mengambil kelas MUS389 sebagaimana
ditunjukkan, dan penghapusan tuple ini dari relasi. Sejak ini hanya tuple yang
menggabungkan beberapa relasi informasi untuk mahasiswa ini, penghapusan ini
akan meniadakan mahasiswa dari basisdata. Jika penaseha mengikuti penghapusan
ini dengan suatu permohonan untuk suatu pendaftaran nama-nama semua nasehat
dari ADVISOR, nama AlexK tidak akan didaftar.
-list off
3215
JONESG
120DH
2136
MTH 122
F84
1.6
3215
JONESG
120DH
2136
SCIl20
F84
2.4
3215
JONESG
120DH
2136
PHY230
W85
2. 1
3215
JONESG
120DH
2136
MTH 122
W85
2.3
3462
SMITHA
234YH
2344
MTH 122
W84
2.3
3462
SMITHA
234YH
2344
MTH123
W85
3.5
3462
SMITHA
234YH
2344
PSY220
W85
3. 7
3567
HOWESJ
120DH
2136
SCI239
W84
3.3
3567
HOWESJ
120DH
2136
EGR171
F84
3.5
3567
HOWESJ
120DH
2136
PHY141
F84
1.8
4756
ALEXK
345YH
3321
MUS389
F83
4.0
7890
HOWERH
121YH
7619
-
replace Pnum with 7777 for Sname
00004 REPLACEMENT
0.0
= 'JONESG'
(S)
(a)
20
. display offPnum
for Rnum = '120DH'
7777
7777
7777
7777
2136
2136
2136
Gambar 2.7
(b)
(a) Merubah satu nomor telephone mahasiswa
(b) Kesalahan query mengikuti perubahan nomor telephone.
SOAL LATIHAN
1. Pada relasi ADVISOR sesuai gambar 2.5, manakah yang merupakan primary
key (kunci utama) ?
2. Pada relasi ADVISOR sesuai gambar 2. 5, identifikasikan pada data tersebut
yang mengalamiduplikasi& redudan.
.
3. Pada relasi ADVISOR sesuai gambar 2. 5, idemifikasikan pada data tersebut
yang mengalami duplikasi tetapi tidak redudan
4. Relasi PHONE dibuat untuk memberikaninformasi mengenai nama Pegawai,
Nomor TeleponRumah, Nomor Telepon untuk pesawat di kantor. Diasumsikan
bahwa * Nama Pegawai unik, satu rumah dengan satu telepon & mungkin
mempunyai telepon dengan pesawat yang berbeda-beda. * Setiap Pegawai
beberapa karyawan mempergunakan telepon secara pararel secara khusus relasi
PHONE disajikan pada gambar 2. 8
21
PHONE
NAMA
JONESKK
TELEPON RUMAH
PESAWAT
3167
JONESKK
345 - 1121
345-1121
KROFf AD
345 - 9898
4000
MARTZLK
348 -4512
3167
MARTZLK
348 - 4512
3168
RALSTONTI
345 -7766
4001
RALSTONTI
345 - 7766
4002
3168
Gambar 2. 8 Relasi PHONE
Pertanyaan:
(a) Diskusikan bahwa data relasi PHONE di atas yang redudan.
(b) Bagaimana relasi PHONE diatas diubah sehingga data redudan hilang.
(c) Gambarkan relasi dari relasi PHONE setelah menghilangkan data yang
redudan.
22