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 untuk model logikal data lokal 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 tipe relationship binary *:*; Hilangkan tipe relationship recursive *:*; Hilangkan tipe relationship kompleks; Hilangkan tipe attribute multi-valued. 5
HILANGKAN TIPE RELATIONSHIP BINARY *:* PropertyForRent PropertyNo VIEW 0..* 0..* Client ClientNo ViewDate Comment PropertyForRent PropertyNo 1..1 0..* 0..* 1..1 Takes Viewings ViewDate Comment Request Client ClientNo 6
HILANGKAN TIPE RELATIONSHIP RECURSIVE *:* Supervisee 0..* Supervises 0..* Supervisor No Supervises 0..* 0..* No No 1..1 0..* 0..* 1..1 Supervises Supervision No SupervisedBy (Supervised) (Supervised) No No 1..1 Supervises 0..* 1..1 SupervisedBy 0..* Supervision SupervisionDate Comment 7
Hilangkan tipe relationship kompleks 8
Hilangkan tipe attribute multi-valued Branch BranchNo { PK } Address TelNo[ 1..3 ] Branch BranchNo { PK } Address Provides 1..1 1..3 Telephone TelNo { PK } 9
B. Menentukan Relasi Untuk Model Logikal Data Lokal 1) Tipe Entity Strong :Buat relasi untuk semua entity strong yang terdapatpadamodeldata. Contoh : (No, fname, lname, Position, Sex, DOB) Primary Key (No) 2) Tipe Entity Weak : Buat relasi untuk semua entity weak yang terdapat pada model data. Contoh : Preference(preType, maxrent) 3) TipeRelasiBinerOneto Many (1:*) Taruh Primary Key No kedalam attribute Client untuk relasi 1:* (No, fname, lname, Sex, Client(ClientNo, TelNo, No Position, DOB ) fname, lname ) Primary Key (No) Primary Key (ClientNo) Alternate Key telno Foreign Key (No) references (No) 10
B. Menentukan Relasi Untuk Model Logikal Data Lokal 4) Tipe Relasi Biner One to One (1:1) 1..1 States 1..1 No {PK} fname lname Position (A) Tipe Relasi Partisipasi Mandatory Dua Sisi. Relasinya disatukan seperti terlihat dibawah ini : Preference preftype maxrent Client(No, fname, lname, position, Sex, DOB, pretype, maxrent) Primary Key (No) Foreign Key (No) references (No); (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, No fname, lname) Primary Key (ClientNo) Foreign Key (No) references (No) Preference(ClientNo, preftype, MaxRent) Primary Key (ClientNo) Foreign Key (ClientNo) references Client(ClientNo) (C) 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