Pertemuan <<6>> <<Merancang Model Relasional Database>>
1
Learning Outcomes Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu :
• << TIK-6 >> Mahasiswa dapat menghasilkan model data relasional berdasarkan suatu model konseptual database (C3)
2
Outline Materi
• Menghilangkan feature tidak kompatibel § § § §
Menghilangkan relasi biner *:* Menghilangkan relasi rekursive *:* Menghilangkan relasi komplek Menghilangkan attribut multi-value
• Menentukan relasional logikal data lokal
untuk
model
3
Tahap 2 : Membangun dan Memvalidasi Model Logikal Data Lokal •
Membangun model logikal data lokal dari model data konseptual yang merupakan representasi NEED perusahaan, dan kemudian model divalidasi untuk menjamin struktur telah benar (menggunakan teknik normalization) dan untuk menjamin dapat mensuport kebutuhan transaksi. A. Tahap 2.1 Hilangkan features tidak kompatibel pada model relasional (tahap optional) 4
Tahap 2 : Membangun dan Memvalidasi Model Logikal Data Lokal • Menghaluskan model logikal data konseptual dengan menghilangkan features yang tidak kompatibel terhadap model relasional. Meliputi: – Hilangkan – Hilangkan – Hilangkan – Hilangkan
tipe relationship binary *:*; tipe relationship recursive *:*; tipe relationship kompleks; tipe attribute multi-valued.
5
HILANGKAN TIPE RELATIONSHIP BINARY *:*
PropertyForRent
Client
VIEW
PropertyNo
0..*
ClientNo
0..*
ViewDate Comment
1..1
0..*
PropertyForRent
0..*
1..1
Client
Viewings
PropertyNo
Takes
ViewDate Comment
Request
ClientNo
6
HILANGKAN TIPE RELATIONSHIP RECURSIVE *:*
Supervisee
Supervises 0..*
Supervisor
Staff
0..*
StaffNo Staff (Supervised)
Supervises
Staff
0..*
0..*
StaffNo
StaffNo 1..1
0..*
Staff StaffNo
Supervises
0..*
Supervision
1..1
SupervisedBy
Staff (Supervised) StaffNo
1..1
Supervises
0..*
1..1
SupervisedBy
0..*
Staff StaffNo
Supervision SupervisionDate Comment 7
Hilangkan tipe relationship kompleks
8
Hilangkan tipe attribute multi-valued Branch BranchNo { PK } Address TelNo[ 1..3 ]
Provides
Branch BranchNo { PK } Address
1..1
Telephone 1..3
TelNo { PK }
9
B.
Menentukan Relasi Untuk Model Logikal Data Lokal 1)
2) 3)
Tipe Entity Strong : Buat relasi untuk semua entity strong yang terdapatpadamodeldata. Contoh : Staff(StaffNo, fName, lName, Position, Sex, DOB) Primary Key (StaffNo) Tipe Entity Weak : Buat relasi untuk semua entity weak yang terdapat pada model data. Contoh : Preference(preType, maxRent) Tipe Relasi Biner One to Many (1:*) Taruh Primary Key StaffNo kedalam attribute Client untuk relasi 1:*
Staff(StaffNo, fName, lName, Sex, Position, DOB ) Primary Key (StaffNo)
Client(ClientNo, TelNo, StaffNo fName, lName ) Primary Key (ClientNo) Alternate Key telNo Foreign Key (StaffNo) references Staff(StaffNo)
10
B.
Menentukan Relasi Untuk Model Logikal Data Lokal 4)
Tipe Relasi Biner One to One ( 1:1) Staff 1..1
StaffNo {PK} fName lName Position
States
1..1
Preference prefType maxRent
(A) Tipe Relasi Partisipasi Mandatory Dua Sisi. Relasinya disatukan seperti terlihat dibawah ini : Client(StaffNo, fName, lName, position, Sex, DOB, preType, maxRent) Primary Key (StaffNo) Foreign Key (StaffNo) references Staff(StaffNo); (B) Tipe Relasi Partisipasi Mandatory Satu Sisi. Relasinya dirancang dengan menggunakan identifikasi entity parent dan child. 11
B.
Menentukan Relasi Untuk Model Logikal Data Lokal Untuk relasi mandatory satu sisi Primary pada entity parent dijadikan Primary Key pada entity child
Client(ClientNo, telNo, StaffNo fName, lName) Primary Key (ClientNo) Foreign Key (StaffNo) references Staff(StaffNo) (C)
Preference(ClientNo, prefType, MaxRent) Primary Key (ClientNo) Foreign Key (ClientNo) references Client(ClientNo)
Relasi One to One Partisipasi Optional Dua Sisi. Untuk relasi One to One partisipasi Optional dua sisi tidak dapat digabung seperti pada mandatory dua sisi dalam satu relasi sehingga penanganannya seperti pada relasi One to One Partisipasi Satu Sisi. 5)
Tipe Relasi Recursive One to One Penanganan relasi seperti ini mengikuti aturan relasi One to One 12