Basis Data
Model E‐R (Lanjutan)
By
Konsep Foreign Key
• Foreign key adalah kolom yang diambil dari primary key entitas lain yang menggunakan hubungan antar 2 tabel tsb.
Fakta Fakta
Adi, Budi dan Cici bekerja pada Adi, Budi dan Cici bekerja pada bagian Persinalia. Sedangkan bagian Persinalia. Sedangkan bagian Persinalia. Sedangkan bagian Persinalia. Sedangkan Rudi dan Santo bekerja pada Rudi dan Santo bekerja pada bagian Gudang
bagian Gudang
Dari fakta diatas dan panah relasi Dari fakta diatas dan panah relasi Dari fakta diatas dan panah relasi Dari fakta diatas dan panah relasi sebelah kiri, bagaimana cara
sebelah kiri, bagaimana cara menuliskan data yang
menuliskan data yang
menunjukkan hubungan/relasi menunjukkan hubungan/relasi antar tabel pegawai dan
antar tabel pegawai dan antar tabel pegawai dan antar tabel pegawai dan departemen?
• Menjelaskan apakah keberadaan suatu entity tergantung pada
Partisipasi Entitas pada Relasi (Participation Constraint)
hubungannya dengan entity lain .
• Terdapat 2 macam Participation Constraint : – Total Participation
– Total Participation
• Keberadaan suatu entity tergantung pada hubungannya dengan entity lain atau setiap entitas berpartisipasi paling sedikit satu dalam relasi
• Participation loan di borrower : total Æ Setiap loan pasti mempunyai customerParticipation loan di borrower : total Æ Setiap loan pasti mempunyai customer yang dihubungkan via borower
– Partial Participation
• Keberadaan suatu entity tidak tergantung pada hubungannya dengan entity lain • Keberadaan suatu entity tidak tergantung pada hubungannya dengan entity lain
atau beberapa entitias boleh tidak berpartisipasi dalam relasi. • Participation customer di borower : partial
Notasi Alternatif untuk batasan
Cardinalitas
Derajat Relasi Minimum
Menunjukkan hubungan (korespondensi) minimum
yang boleh terjadi dalam sebuah relasi antar entitas.
y g
j
Notasi (x,y) pada relasi menunjukkan derajat minimum
(x) dan derajat maksimum (y) pada sebuah relasi
l b
d
k
d
b
k
Partisipasi total bisa dinotasikan dengan memberikan
derajat relasi minimum (x) = 1
Contoh: Contoh:pada relasi “bekerja untuk” pada entitas pegawai terhadap pada relasi “bekerja untuk” pada entitas pegawai terhadap departemen Derajat relasi minimumnya adalah satu
Notasi lain untuk relasi
Notasi lain untuk relasi
Macam relasi
Macam relasi
•
relasi Biner (binary relation)
relasi Biner (binary relation)
•
relasi tunggal (unary relation)
l i
l i
i
(
l i
)
•
relasi Multi entitas (n‐ary relation)
•
relasi ganda (redundant relation)
Relasi Biner (Binary Relation)
Relasi Biner (Binary Relation)
Merupakan relasi yang terbentuk antar 2 buah
Merupakan relasi yang terbentuk antar 2 buah
entitas
Contoh: Contoh:
relasi “bekerja pada” pada entitas pegawai terhadap relasi “bekerja pada” pada entitas pegawai terhadap
tit k
tit k
entitas proyek entitas proyek
Relasi Tunggal (Unary Relation)
Merupakan relasi yang terjadi dari sebuah
entitas ke entitas yang sama
entitas ke entitas yang sama
Contoh: Contoh:
relasi memimpin pada entitas pegawai relasi memimpin pada entitas pegawai
Pegawaig N) (0 memimpin (0,N 0 ,1 )
Relasi Multi Entitas
(N ary Relation)
(N‐ary Relation)
Merupakan relasi dari 3 buah entitas atau lebih.
Seharusnya dihindari, karena akan mengaburkan
derajat relasi yang ada dalam relasi.
Contoh: Contoh: Contoh: Contoh:Instruktur Menawarkan Semester
Kursus Nama
Tahun IDSemester
Relasi Ganda
(
d
d
l
)
(Redundant Relation)
Relasi yang jumlahnya lebih dari satu untuk dua
Relasi yang jumlahnya lebih dari satu untuk dua
buah entitas
Contoh: Contoh: bekerja Pegawai Departemen (0 1) bekerja untuk (1,N) (1,1) 1 1) mengepalai (0,1) (1,1)Weak Entity ( Entitas Lemah)
Weak Entity ( Entitas Lemah)
• adalah entitas yang tidak mempunyai primary key • Keberadaannya tergantung pada keberadaan entitasKeberadaannya tergantung pada keberadaan entitas
teridentifikasi lain
– harus terhubung ke entitas teridentifikasi dengan relasi total, one‐to‐many dari entitas teridentifikasi ke entitas lemah
– relasi teridentifikasi (Identifying relationship)relasi teridentifikasi (Identifying relationship)
dinotasikan dengan jajaran genjang ganda
• Discriminator (atau kunci partial) dari entitas lemah adalah atribut yang membedakan dari entitas lainnya.
Contoh Weak Entity Sets
•
payment_number – discriminator dari entitas
payment entity
p y
y
•
Primary key dari payment adalah (loan_number,
payment_number)
Specialization
• Proses disain Top‐down; kita disain subgroupings dengan entitas yang berbeda dengan entitias lainnya. • Subgroupings ini menjadi level lebih rendah yang punya atribut atau partisipasi dalam relasi yang tidak bisa diterapkan pada level yang lebih tinggip p y g gg • Ditegaskan dengan komponen segitiga dilabeli ISA (Cth. Seorang customer “adalah seorang” manusia).• Attribute inheritance (atribut warisan) entitas lebih rendah
• Attribute inheritance (atribut warisan)– entitas lebih rendah mewarisi semua atribut dan partisipasi relasi dari entitas
Generalization (Generalisasi)
Generalization (Generalisasi)
•
Proses disain bottom‐up
p
– menggabungkan
gg
g
beberapa entitas karena memiliki kesamaan
fitur menjadi entitas level lebih tinggi
•
Specialization dan generalization saling
•
Specialization dan generalization saling
berkebalikan satu sama lain; dinyatakan
dengan E‐R diagram pada cara yang sama.
Specialization and Generalization (lanj.)
•
b
isa diperoleh multiple specializations dari entitas didasari fitur yang berbeda. y g • Cont. permanent_employee vs. temporary_employee, ditambahkan ke officer vs. secretary vs. teller S ti l d t • Setiap employee dapat – anggota dari salah satu permanent_employee atau temporary_employee, – dan juga anggota dari salah satu officer, secretary, or tellerAgregasi
P h tik l i t k b l
n Perhartikan relasi ternary works_on, sebelumnya
n Pandang kita ingin menambah manager yang ditugaskan untuk task tertentu pada pegawai di suatu cabang maka hasilnya spt p p g g y p berikut ;
Aggregation (Cont.)
• Relasi works on dan manages adalah informasi yangRelasi works_on dan manages adalah informasi yang overlapping (tumpang tindih)
– Setiap relasi manages berhubungan dengan relasi works_on – Beberapa relasi works_on belum tentu berhubungan dengan
relasi manages
• Sehingga kita tidak dapat menghapus relasi works on • Sehingga kita tidak dapat menghapus relasi works_on • Hilangkan redudansi ini dengan aggregasi – Nyatakan relasi sebagai entitas abstraky g – Ijinkan relasi diantara relasi – Abstarksi dari relasi menjadi entitas baru • Penyajian diagram berikut menggambarkan – Seorang pegawi bekerja untuk sebuah job di suatu cabang – Kombinasi dari Pegawai, cabang , dan job mempunyai
Ringkasan Symbols (lanj.)
Ringkasan Symbols (lanj.)
Mapping Table
Mapping Table
•
masing-masing tipe entitas Æ suatu
masing masing tipe entitas Æ suatu
TABEL yang unik yang mempunyai
nama sama
•
masing-masing tabel terdiri dari
kolom-kolom Æatribut-atribut dari
tipe entitas
•
Entitas lemah Æ key dari “owner”
y
Mapping Table Relationship
Mapping Table Relationship
•
Bergantung pada cardinality ratio(CR) dan
g
g p
y
( )
participation constraint (PC)
•
Untuk CR 1:1 foreign key relationship masuk ke
PC total
PC total
•
Untuk CR 1:N foreign key relationship masuk
ke sisi N (1 sisi parent, N sisi child)
(
p
)
•
Untuk CR M:N Ædibuat tabel tersendiri dengan
foreign key relationship diambil dari setiap
primary entitas yang terlibat
Mapping ke Skema Relasi (3)
Mapping Skema ER Diagram dengan
Referential Integrity Constraint
g y
Fname Minit Lname SSN Bdate Address Sex Salary SuperSSN DNO Employee
Dname DNumber MgrSSN MgrStartDate Departement
DNumber DLocation Dept_Locations
Pname PNumber PLocation DNum Project Works On 2nd PNO Works_On Hours Dependent ESSN
Dependent_name Sex Bdate Dependent
Relationship ESSN