Bab 2 Pemodelan Data Menggunakan Entity Relationship (ER) Data Model
by :
Umi Sa’adah Sa adah, S S.Kom Kom Politeknik Elektronika Negeri Surabaya e-mail :
[email protected]
OVERVIEW 1. Metodologi Pengembangan Aplikasi Database 2. ER Model - Entitas dan Atribut
- Relationship - Rasio Kardinalitas - Partisipasi
3. Notasi ER 4. Transformasi ER ke Tabel 2
M t d l i pengembangan Metodologi b APLIKASI DATABASE Studi k kasus
ER model
Tabel sementara normalisasi
Implementasi
Tabel valid Programming
Evaluasi
Dokumentasi 3
Contoh :
Database COMPANY Karakteristik dari Database COMPANY:
Company terdiri atas beberapa DEPARTMENT. DEPARTMENT Setiap department memiliki name, number, dan seorang employee yang mengepalainya (manages). Juga dicatat start date dari manager department. Sebuah department bisa memiliki beberapa lokasi. Setiap department mengontrol (control) sejumlah PROJECT. Setiap project memiliki name, number, dan terletak pada satu lokasi tertentu. 4
Contoh :
D b COMPANY Database Untuk setiap EMPLOYEE dicatat social security number (SSN), address, salary, sex, dan birth date. Setiap employee bekerja hanya untuk (works for) satu department namun boleh bekerja pada (work on) beberapa projects. Dicatat pula jumlah jam perminggu (hours) seorang employee bekerja pada setiap project. Juga dicatat direct supervisor dari setiap employee employee. Setiap employee boleh memiliki beberapa DEPENDENT (tanggungan). Untuk setiap dependent, dicatat name, sex, birth date, dan relationship mereka terhadap employee. 5
ER MODEL • ER model dibuat berdasarkan persepsi dunia nyata • ER model tidak mendeskripsikan cara data disimpan pada komputer • ER model terdiri dari entity (entitas) dan relationship l ti hi (relasi) ( l i) antara t entitas-entitas tit tit tersebut. Entitas dan relationship memiliki atribut Æ Lihat diagram ER untuk database COMPANY 6
Entitas dan Atribut Entitas adalah objek tertentu atau sesuatu di dunia nyata yang direpresentasikan dalam database - EMPLOYEE John Smith - DEPARTMENT Research - PROJECT ProductX P d tX.
Atribut adalah properties yang digunakan untuk menggambarkan b k sebuah b h entitas tit - entitas EMPLOYEE memiliki atribut Name, SSN, Address, dd S Sex, BirthDate. i h 7
Tipe Entitas Entitas-entitas yang memiliki atributatribut dasar yang sama dikelompokkan dalam sebuah tipe entitas. - tipe entitas EMPLOYEE - tipe p entitas PROJECT.
8
Atribut Kunci Setiap entitas harus mempunyai atribut dan (minimal satu) atribut kunci. kunci Entitas yang tidak mempunyai atribut kunci disebut dengan entitas lemah (weak entity) Atribut kunci (key-attribute) adalah identifier unikk d dari suatu entitas. Contoh C t h SSN d darii
EMPLOYEE.
9
At ib t Kunci Atribut K i Atribut kunci dalam sebuah entitas dapat lebih dari satu atribut. Contoh : tipe entitas MOBIL memiliki 3 atribut kunci: - No_Rangka, - No_Mesin, - Plat_No
Ketiganya disebut sebagai candidate key Æ dipilih salah l h satu t dijadikan dij dik sbg b primary i key k (kunci (k i utama) t ) Primary key yang bertamu ke tabel lawan karena sebuah relationship disebut sebagai foreign key 10
Relationship Relationship adalah hubungan antara d atau dua t llebih bih entitas tit yang berbeda b b d dengan makna tertentu - EMPLOYEE John Smith works on PROJECT ProductX - EMPLOYEE Franklin Wong manages DEPARTMENT Research
11
Relationship Derajat relationship adalah jumlah tipe entitas yang terhubungkan oleh relationship tsb. Relationship MANAGES dan WORKS_ON keduanya adalah binary relationships. relationships Lebih dari satu tipe relationship bisa menghubungkan h b k tipe-tipe ti ti entitas tit yang sama; Contoh, MANAGES dan WORKS_FOR adalah 2 relationships yang berbeda antara tipe entitas EMPLOYEE dan DEPARTMENT. 12
Tipe Relationship Relationship-relationship dari tipe yang sama dikelompokkan dik l kk menjadi j di sebuah b h tipe ti relationship. - tipe relationship WORKS_ON menghubungkan sejumlah EMPLOYEE dan sejumlah PROJECT - tipe relationship MANAGES menghubungkan sejumlah EMPLOYEE dan sejumlah DEPARTMENT. DEPARTMENT
13
Atribut Relationship • Relationship dapat juga mempunyai atribut t ib t d dan disebut di b t dengan d atribut t ib t relationship. • Atribut relationship adalah : atribut yang terbentuk ketika terjadinya relationship. relationship - hoursPerWeek dari WORKS_ON Æ nilainya menunjukkan jumlah jam perminggu dari seorang EMPLOYEE works on sebuah PROJECT.
14
Recursive Relationship • Sebuah relationship bisa menghubungkan d entitas dua tit d darii tipe ti yang sama - tipe relationship SUPERVISION menghubungkan seorang EMPLOYEE (dalam (d l posisi i i sbg b supervisee i ) dengan EMPLOYEE yang lain (dalam posisi sbg supervisor ). ) - Ini yang dinamakan recursive relationship type.
15
Rasio Kardinalitas (C di lit RRatio) (Cardinality ti ) Rasio kardinalitas : perbandingan rasio keterikatan antar entitas dalam suatu relationship Rasio kardinalitas (dari sebuah binary relationship): ~ One to One (1:1) ~ One to Many (1:N) ~ Many M to t O One (N:1) (N 1) ~ Many to Many (M:N) 16
Rasio Kardinalitas • 1:1 EMPLOYEE P1 ☻ P2 ☻ P3 ☻
mengepalai
DEPARTMENT ■ D1 ■ D2
Tipe Relationship : MANAGES
• N:1 EMPLOYEE P1 ☻ P2 ☻ P3 ☻
bekerja_pada DEPARTMENT ■ D1 ■ D2
Tipe Relationship : WORKS FOR WORKS_FOR
• N:M EMPLOYEE P1 ☻ P2 ☻ P3 ☻
mengerjakan
PROJECT ■ PR1 ■ PR2
Tipe Relationship : WORKS ON WORKS_ON 17
Partisipasi (P ti i ti ) (Participation) Partisipasi : banyaknya anggota entitas yang terlibat dalam suatu relationship Jenis Partisipasi • Total : Semua anggota entitas berpartisipasi dalam suatu relasi. Contoh : semua pegawai harus bekerja pada departemen.
• Partial : Tidak semua anggota entitas b berpartisipasi ti i i dalam d l suatu t relasi. l i Contoh : tidak semua pegawai mengepalai departemen. 18
Notasi ER Notasi
Keterangan
Notasi
A ib atomik Atribut ik Atribut multivalued
Keterangan R l i Relasi
xx
Atribut kunci
Atribut komposit
Atribut relasi
Entitas
Partisipasi total
Entitas lemah
Partisipasi parsial 19
Entitas Lemah Entitas lemah (weak entity) adalah sebuah b h entitas tit yang tid tidakk memiliki iliki atribut t ib t kunci Entitas lemah bisa diidentifikasi dengan menggunakan kombinasi dari : ~ kunci partial dari tipe weak entity. ~ kunci kuat (primary key) dari entitas kuat tertentu tempat dia terhubung 20
E tit LLemahh Entitas Contoh: • Tipe entitas DEPENDENT diidentifikasi berdasarkan dependent's first name dan birthdate serta SSN dari EMPLOYEE tertentu birthdate, tempat dia terhubung. • DEPENDENT adalah sebuah tipe entitas lemah dengan EMPLOYEE sebagai identifying entity type-nya melalui tipe relationship DEPENDENT_OF. 21
Contoh 1 Sebuah department hanya boleh memiliki satu manager dan seorang employee boleh mengepalai (MANAGES) maksimal hanya satu department. department ~ Tentukan (1,1) untuk kardinalitas dari DEPARTMENT d dalam l relationship l ti hi MANAGES ~ Tentukan (1,1) untuk kardinalitas dari EMPLOYEE dalam relationship MANAGES Æ Sehingga rasio kardinalitas dari relationship MANAGES g DEPARTMENT adl 1 : 1 antara EMPLOYEE dengan 22
Contoh 1 ~ Semua DEPARTMENT pasti memiliki seo ang kepala (manager) seorang (manage ) ~ Tidak da semua se ua EMPLOYEE O mengepalai e gepa a DEPARTMENT Æ Sehingga partisipasi DEPARTMENT dalam relatiohship MANAGES adalah total Æ Sedangkan partisipasi EMPLOYEE dalam relationship MANAGES adalah parsial 23
C t h2 Contoh Seorang employee bekerja hanya pada satu department, department tetapi sebuah department bisa memiliki sejumlah employee. employee ~ Tentukan (1,1) untuk kardinalitas dari EMPLOYEE dalam relationship WORKS_FOR WORKS FOR ~ Tentukan (1,n) untuk kardinalitas dari DEPARTMENT dalam relationship WORKS_FOR Æ Sehingga S hi rasio i kardinalitas k di lit dari d i relationship l ti hi WORKS_FOR WORKS FOR antara EMPLOYEE dengan DEPARTMENT adalah N : 1
24
C t h2 Contoh ~ Semua EMPLOYEE pasti bekerja pada sebuah b h DEPARTMENT ~ Semua DEPARTMENT p pasti memiliki EMPLOYEE yang berkerja di dalamnya Æ Sehingga partisipasi EMPLOYEE dalam relationship WORKS_FOR adalah total Æ Sedangkan partisipasi DEPARTMENT dalam relatiohship WORKS_FOR adalah total
25
T f Transformasi i ER ke k Tabel Tbl • Entitas dengan atribut atomik a11 A
a2
A a1 a2
• Entitas dengan atribut komposit a1 a33 A A a1 a2 a4
a3
a4 26
T f Transformasi ER ke k Tabel Tbl
Entitas dengan atribut multi-value aa1 A a1 a2 a2 A a3 A3 a1 a3
27
T f Transformasi ER ke k Tabel Tbl Relasi dengan RK 1:1 Total-Total a1
a2 A
1
r
b1
R
1
b2 B
atau
A a1 a2
A a1 a2 b1 r
B b1 b2 a1 r
B b1 b2 28
T f Transformasi ER ke k Tabel Tbl Total-Parsial a1
a2 A
1
r
b1
R
1
b2 B
A a1 a2 b1 r B b1 b2 29
T f Transformasi ER ke k Tabel Tbl Relasi dengan RK 1:N Total–Total | Parsial-Parsial | Total-Parsial Total Parsial | Parsial Parsial-Total Total
a1
a2 A
1
r
b1
R
N B
b2
A a1 a2 B b1 b2 a1 1 r
30
T f Transformasi ER ke k Tabel Tbl • Relasi dengan N:M Total–Total | Parsial-Parsial | Total-Parsial | Parsial-Total a1
a2 A
N
r
b1
R
MB
b2
A
a1 a2
B
b1 b2
AB a1 b1
r
31
ER di diagram
ssn
fname dnumber
Manages 1
dname
1
EMPLOYEE
DEPARTMENT
N lname address
sex salary
1
Works_for 32
C t h kkasus Contoh Transformasi dalam bentuk tabel : EMPLOYEE
DEPARTMENT
SSN
DNO
Name
Dname
DNO
MGRSSN
33