BAB II MODEL ENTITY-RELATIONSHIP
Model E-R didasarkan pada persepsi dari sebuah dunia nyata yang terdiri dari sekumpulan objek, disebut entiti & relasi diantar objek-objek tersebut.
2.1
Konsep Dasar
Terdapat tiga notasi dasar yang bekerja pada model E-R yaitu : entity sets, relationship sets, & attributes. a. Entity Sets Sebuah entiti adalah sebuah “benda” (thing) atau “objek”(object) di dunia nyata yang dapat dibedakan dari semua objek lainnya. Entity sets adalah sekumpulan entiti yang mempunyai tipe yang sama. Kesamaan tipe ini dapat dilihat dari atribut/property yang dimiliki oleh setiap entiti. Misal kumpulan orang yang menyimpan uang pada suatu bank dapat didefinisikan sebagai entiti set nasabah. b. Relationship Sets Relationship adalah hubungan diantara beberapa entiti. Misal relasi yang menghubungkan antar Toni dengan rek. 142-099999. Relasi ini menunjukkan bahwa Toni adalah nasabah yang mempunyai nomor rekening 142-099999. Relationship set adalah sekumpulan relasi yang mempunyai tipe yang sama c. Kunci Relasi (Relation Keys) Nilai dari kunci relasi harus mengidentifikasikan sebuah baris yang unik didalam sebuah relasi. Kunci relasi terdiri dari satu atau lebih atribut-atribut relasi. Atributatribut dalam kunci relasi harus memiliki sifat sebagai berikut : - untuk satu nilai hanya mengindentifikasikan satu baris dalam satu relasi -
tidak memiliki subset yang juga merupakan kunci relasi
-
tidak dapat bernilai null
contoh TABEL PERSON berikut :
PERSON Person_Id
Date_Of_birth
Name
P1
7 July 49
Joe
P2
3 June 61
Mary
P3
11 Feb 65
Andrew
P4
22 April 64
Joe
P5
17 May 66
Jill
Person_Id adalah kunci relasi dari relasi PERSON. Dalam relasi tersebut, maksmimal hanya satu baris untuk setiap nilai Person_Id yang diberikan. Sebagai contoh, hanya satu baris dengan Person_Id = ‘P3’. Name tidak dapat dijadikan kunci relasi karena dapat lebih dari satu orang yang mempunyai nama yang sama. Relasi Person di atas memiliki kunci yang hanya terdiri dari satu atribut. Sangat dimungkinkan kunci relasi terdiri dari banyak atribut. Contoh relasi Work pada gambar di bawah mempunyai kunci relasi yang terdiri dari dua atribut yaitu : Person_Id & Proj_No
Person _Id
Proj_No Total_Time_Spent_By_Person_On_Project
P1
Proj1
20
P3
Proj1
16
P2
Proj2
35
P2
Proj3
42
P3
Proj2
17
P2
Proj1
83
P4
Proj3
41
Nilai kedua atribut, Person_Id & Proj_No diperlukan untuk menentukan satu baris yang unik. Karena untuk menentukan satu baris yang unik tidak cukup dengan Person_Id saja atau hanya dengan Proj_No.
d. Foreign Key(FK) Term FK juga banyak digunakan dalam perancangan. Sebuah FK adalah sekumpulan atribut dalam suatu relasi (misal A) sedemikian sehingga kumpulan atribut ini bukan kunci relasi A tetapi merupakan kunci dari relasi lain.
Kardinalitas Pemetaan Kardinalitas pemetaan atau rasio kardinalitas menunjukkan jumlah entity yang dapat dihubungkan ke satu entity lain dengan suatu relationship sets. Kardinalitas pemetaan meliputi : 1.
Hubungan satu ke satu (one to one). Yaitu satu entity dalam A dihubungkan dengan maksimum satu entity dalam
2.
Hubungan satu ke banyak (one to many) Yaitu satu entity dalam A dihubungkan dengan sejumlah entity dalam B. Satu entity dalam B dihubungkan dengan maksimum satu entity dalam A.
3.
Hubungan banyak ke satu (many to one) Yaitu satu entity dalam A dihubungkan dengan maksimum satu entity dalam B. Satu entity dalam B dapat dihubungkan dengan sejumlah entity dalam A.
4.
Hubungan banyak k banyak (many to many). Satu entity dalam A dihubungkan dengan sejumlah entity dalam B, & satu entity dalam B dihubungkan dengan sejumlah entity dalam A.
Gambar Kardinalitas Pemetaan :
a1
b1
a2
b2
b1 b2 a1 b3
a3
b3
a2
b4
a4
b4
a3
b5
(1) Satu ke satu a1 a2
b1
a3
b2
a4
b3
a5
(3) Banyak ke satu
(2) Satu ke banyak
a1
b1
a2
b2
a3
b3
a4
b4
(4) Banyak ke banyak
Diagram Entity-Relationship Komponen E-R diagram adalah : -
Persegi panjang (rectangles) : merepresentasikan entity sets
-
Elip (ellipses) : merepresentasikan atribut entity
-
Wajik(diamonds) : merepresentasikan relationship sets
-
Lines (garis) : merepresentasikan hubungan atribut ke entity sets & entity sets ke relatioship sets
Contoh : Diagram E-R dibawah terdiri dari 2 entity sets, customer & loan, & satu relationship set borrower. Atribut dari customer adalah nama, ktp, jalan, kota. Atribut untuk loan adalah no_pinjaman, jml_pinjaman. Hubungan entity customer ke loan adalah banyak ke banyak.
jalan
KTP
nama
no_pinj
jum_pinj
kota
Customer
Loan
Borrower
Entity Sets Lemah Adalah entity set yang tidak mempunyai primary key. Entity sets yang mempunyai primary key disebut entity sets kuat. Contoh entity lemah : payment-date loan-number
payment-number
amount
Loan
loan-payment
payment-amount
payment
Spesialisasi Proses mendesain subgrup di dalam suatu entity disebut dengan specialisasi. Suatu himpunan entity bisa memiliki suatu subgrup yang berbeda diantara entiti-entiti lain dalam himpunan tersebut. Misalnya suatu sub himpunan entity dalam suatu himpunan entity bisa memiliki atribut yang berbeda dari entity-entiti lain. Model E-R memiliki fasilitas untuk perbedaan ini. Contoh : himpunan entity account memiliki atribut account-number dan balance. Suatu account dapat diklasifikasikan lagi menjadi salah satu dari : -
savings-account
-
checking-account
(lihat gambar dibawah) setiap tipe account ini diterangkan dengan himpunan atribut yang termasuk dalam atribut-atribut dari entity set account ditambah dengan atribut tambahan. Contoh entity saving-account
diterangkan
dengan
atribut
interest-rate,
dan
checking-account
diterangkan dengan overdraft-amount. Proses spesialisasi mengijinkan pembedaan account berdasarkan tipe account. Account juga dapat dibedakan dengan cara lain, misalkan berdasarkan tipe kepemilikkan menjadi commercial-account dan personal-account. Ketika dalam suatu entity dibentuk lebih dari
satu proses spesialisasi, maka suatu entity menjadi milik dua spesialisasi tersebut. Misal suatu account bisa merupakan suatu personal account dan suatu checking account. Dalam diagram E-R, spesialisasi dilambangkan dengan komponen segitiga bertuliskan ISA. ISA juga melambangkan hubungan antara superclass-subclass. Entity yang dengan kedudukkan lebih rendah/tinggi memiliki lambing sama.
Generalisasi Disamping proses desain top-down (dari inisial entity ke level lebih rendah (subgrup)), desain juga dapat dilakukan dengan proses bottom-up, yaitu banyak entiti disintesiskan menjadi entity yang lebih tinggi berdasarkan kesamaan feature-nya. Desainer
basis
data
mungkin
mengidentifikasi
terlebih
dulu
entity
checking-account dengan atribut account-number, balance dan overdraftamount.
Ditemukan
juga
entity
set
saving-account
dengan
atribut
account-number, balance dan interest-rate. Terdapat kesamaan antara entity set checking-account dengan entity set saving-account, yaitu
keduanya memiliki beberapa atribut yang sama.
Persamaan ini dapat diekspresikan dengan generalisasi. account-number
balance
account
ISA
interrest-rate
savings-account
overdraft-amount
checking-account
ISA
standard
num-checks
interest-payment
gold
min-balance
senior
date-of-birth