07 database design
TRANSCRIPT
-
8/16/2019 07 Database Design
1/103
1/107
Desain Database
Dr. Khamami Herusantoso
-
8/16/2019 07 Database Design
2/103
2/107
Agenda
Database planning
System definition
Requirement collection & analysis
Database design
Dr. Khamami Herusantoso
-
8/16/2019 07 Database Design
3/103
Sekolah Tinggi Ilmu Statistik (STIS)
Database planning
System defnition
Requirementolletion ! analysis
"oneptual dbdesign
#ogial db design
$hysial db design
%mplementation
Data on&ersion !loading
'esting
(perational maintenane
)ppliation
design
D*+S seletion
,opt-
$rototyping ,opt-
Db Design
Dr. Khamami Herusantoso
D* SystemDe&elopment#ieyle
-
8/16/2019 07 Database Design
4/103
/107
Step 1: Database Planning
Mengatur aktivitas-aktivitas yang memungkinkan
tahapan database system development lifecycle
dilaksanakan seefisien dan seefektif mungkin
Dua langkah penting dalam perencanaan:
1 Mendefinisikan mission statement untuk database
system
! Mengideintifikasi mission ob"ectives
Dr. Khamami Herusantoso
-
8/16/2019 07 Database Design
5/103
/107
(i) Mission Statement
Paparan misi menolong dalam men"elaskan tu"uan
dari proyek database dan memberikan arah yang
lebih "elas kepada pembuatan database system
yang efisien dan efektif
Dr. Khamami Herusantoso
-
8/16/2019 07 Database Design
6/103
/107
Perusahaan Broker (Property)
#ontoh: tu"uan dari Dream$ome database system adalah
untuk mengelola data yang digunakan dan dibuat guna
mendukung bisnis sewa properti oleh client dan pemilik
properti, dan juga untuk membantu kerjasama dan
information sharing diantara cabang
Dr. Khamami Herusantoso
-
8/16/2019 07 Database Design
7/1037/107
(ii) Mission Objeti!es
Setiap sasaran misi hendaknya dapat mengiden-
tifikasi tugas tertentu yg harus didukung oleh
database
Dr. Khamami Herusantoso
-
8/16/2019 07 Database Design
8/103/107
"#ample: Mission Objeti!es $or
Dream%ome Database System
Dr %hamami $erusantoso
-
8/16/2019 07 Database Design
9/103
Sekolah Tinggi Ilmu Statistik (STIS)
Database planning
System defnition
Requirementolletion ! analysis
"oneptual dbdesign
#ogial db design
$hysial db design
%mplementation
Data on&ersion !loading
'esting
(perational maintenane
)ppliation
design
D*+S seletion
,opt-
$rototyping ,opt-
Db Design
Dr. Khamami Herusantoso
-
8/16/2019 07 Database Design
10/103
10/107
Step &: System De$inition
Men"elaskan:
1 scope dan batasan dari database system
! vie-vie utama dari pemakai
'ser vie mendefinisikan apa-apa yang diminta
pada database system dari sudut pandang:
.(abatan peker"aan )misal* manager atau supervisor + atau
.,nterprise application area )misal* marketing * personnel *
or stock control +
Dr. Khamami Herusantoso
-
8/16/2019 07 Database Design
11/103
-
8/16/2019 07 Database Design
12/103
12/107
'ontoh: ser ie*
Dr. Khamami Herusantoso
-
8/16/2019 07 Database Design
13/103
13/107
Database planning
System definition
Requirement collection& analysis
#onceptual db design
ogical db design
.hysical db design
/mplementation
Data conversion & loading
0esting
perational maintenance
2pplication designD3MS selection )opt+
.rototyping )opt+
Db Design
Dr. Khamami Herusantoso
-
8/16/2019 07 Database Design
14/103
1/107
Step +: ,e-uirements 'olletion
and Analysis
.roses pengumpulan dan penganalisaan informasi
tentang bagian organisasi yang akan disupport
oleh sistem database yang akan dibuat
$asil diatas digunakan untuk mengidentifikasi
permintaan pemakai terhadap sistem yang baru
$asil dari step ini adalah users’ requirements
specification document
Dr. Khamami Herusantoso
-
8/16/2019 07 Database Design
15/103
1/107
Akti!itas yang Dilakukan
1 /dentifikasi aplikasi utama dan kelompok pemakai
yang akan menggunakan database yang akan
dirancang
! Studi dan analisa dokumentasi yang ada yang
berhubungan dengan aplikasi yang akan dibuat
4 Studi lingkungan operasi dan rencana penggunaaninformasi
2nalisa "enis transaksi dan frekuensi pelaksanaannya
Dr. Khamami Herusantoso
-
8/16/2019 07 Database Design
16/103
1/107
,e-uirement . Spei$iation Do
Dr. Khamami Herusantoso
-
8/16/2019 07 Database Design
17/103
17/107
,e-uirement . Spei$iation Do
Dr. Khamami Herusantoso
-
8/16/2019 07 Database Design
18/103
1/107
Database planning
System definition
Requirement collection
& analysis
#onceptual db design
ogical db design
.hysical db design
/mplementation
Data conversion & loading
0esting
perational maintenance
2pplication designD3MS selection )opt+
.rototyping )opt+
Db Design
Dr. Khamami Herusantoso
-
8/16/2019 07 Database Design
19/103
14/107
Database Design
.roses untuk membuat sebuah rancangan
database yang akan mendukung mission
statement dan mission objective perusahaan
2pproach:3ottom-up
0op-don
Dr. Khamami Herusantoso
-
8/16/2019 07 Database Design
20/103
20/107
Bottom/p and 0op/Do*n Approah
Sumber
data
)laporan*
form dll+
'nnormali5ed
6orm )'76+ubah ke
format tabel
3entuk
normal
pertama
)176+
hilangkanketergantungan
parsial
3entuknormal tahap
kedua )!76+
hilangkanketergantungan
transitif
3entuknormal tahap
ketiga )476+
hilangkangroup
berulang
Diagram ,R
Dunia 7yata
buat diagram ,R
petakan ke tabel
-
8/16/2019 07 Database Design
21/103
21/107
Database Design Approahes
3ottom-up: represented by normali5ation process
Dimulai dari level atribut-atribut dasar )yaitu entitas*
properti dan relationship+* dimana dengan analisa dariasosiasi diantara atribut-atribut tsb* atribut dikelompokkan
men"adi tabel-tabel yang merepresentasikan tipe entitas
dan hubungan diantara entitas
0epat untuk perancangan Database yang sederhana
dengan "umlah atribut yang relatif sedikit
Dr. Khamami Herusantoso
-
8/16/2019 07 Database Design
22/103
22/107
'ontoh: Peranangan Database
Bottom/up
%umpulan atribut: NIP, Nama, NoUnit, NamaUnit,
NIPtasan, Nama tasan
Dr. Khamami Herusantoso
NIP Nama NoUnit NamaUnit NIPAtasan NamaAtasan
881 3udi 81 Set"en 889 udi
88! udo 81 Set"en 889 udi
884 0uti 8! 3..% 88; ono
88; ono 8! 3..% 88< ani
88= eni 84 D(. 88> uni
889 udi 81 Set"en 818 ana
-
8/16/2019 07 Database Design
23/103
23/107
'ontoh: Peranangan Database
Bottom/up (lanjutan)
Dikelompokkan kedalam tiga "enis entitas )dengan
proses normalisasi+ .egaai )atribut ke-1 dan ke-
!+* 'nit )atribut ke-4 dan ke-;+* dan 2tasan )atribut
ke-= dan ke-9+
,ntitas-entitas tersebut men"adi tabel
Dr. Khamami Herusantoso
-
8/16/2019 07 Database Design
24/103
2/107
Database Design Approahes
0op-Don: illustrated by the ,R model concepts
Dimulai dari pengembangan data model yang berisikan
beberapa high-level entitas dan relationship* dankemudian mengaplikasikan top-don refinement secara
berturut-turut untuk mengidentifikasi entitas dengan level
yang lebih rendah* relationship dan atribut-atribut yang
terasosiasi
0epat untuk perancangan Database yang kompleks
Dr. Khamami Herusantoso
-
8/16/2019 07 Database Design
25/103
2/107
'ontoh: Peranangan Database
0op/Do*n
d i
p e c a
h
7/. 7ama 7ama'nit
.egaai
7/. 7ama
7o'nit
'nit
7ama'nit7o'nit
.egaai
3eker"a
Dr. Khamami Herusantoso
-
8/16/2019 07 Database Design
26/103
2/107
Database planning
System definition
Requirement collection
& analysis
#onceptual db design
ogical db design
.hysical db design
/mplementation
Data conversion & loading
0esting
perational maintenance
2pplication designD3MS selection )opt+
.rototyping )opt+
Db Design
Dr. Khamami Herusantoso
-
8/16/2019 07 Database Design
27/103
27/107
'oneptual Database Design
.roses pembuatan sebuah model dari data yang
digunakan pada sebuah perusahaan* tidak
bergantung pada pertimbangan fisik
Model data dibuat dengan menggunakan informasi yang
tertulis dalam users’ requirements specification
Model data konseptual adalah sumber dari
informasi untuk fase perancangan logikal
Dr. Khamami Herusantoso
-
8/16/2019 07 Database Design
28/103
2/107
ogial Database Design
.roses pembuatan sebuah model berdasarkan
pada sebuah model data yang spesifik )misalnya
relasional+* tetapi tidak bergantung pada D3MS
tertentu dan pertimbangan fisik lainnya
Model data konseptual diproses dan dipetakan ke
model data logikal hasilnya adalah tabel-tabel
relational yang telah dinormalisasi
Dr. Khamami Herusantoso
-
8/16/2019 07 Database Design
29/103
-
8/16/2019 07 Database Design
30/103
30/107
conceptual DB design
Logical DB design
Physical DB
Design
buat diagram ER
Bottom/p and 0op/Do*n
Approah
Sumber
data
)laporan*
form dll+
'nnormali5ed
6orm )'76+ubah ke
format tabel
3entuk
normal
pertama)176+
hilangkan
ketergantunganparsial
3entuk
normal tahap
kedua )!76+
hilangkan
ketergantungantransitif
3entuk
normal tahap
ketiga )476+
hilangkan
groupberulang
Diagram ,R
Dunia 7yata
petakan ke tabel
-
8/16/2019 07 Database Design
31/103
31/107
Pemodelan DataDengan "ntity
,elationship (",)
.okok 3ahasan ke-;
-
8/16/2019 07 Database Design
32/103
32/107
Agenda
%onsep model ,R
Multiplicity
Dr. Khamami Herusantoso
-
8/16/2019 07 Database Design
33/103
33/107
"ntity ,elationship Diagram
Staff
staff7o
Super&ises
mgrStart
Datebranch7o
3ranch
Registers
client7o .referenceState
s
1
M 1
1
M
1 M
1Supervisee
Supervisor 1
M 1
+anage
#lient
Has
Dr. Khamami Herusantoso
States
-
8/16/2019 07 Database Design
34/103
3/107
2onsep Model ",
1 0ipe?himpunan entitas )entity type+
! 0ipe?himpunan relasi )relationship type+
4 2tribut )attributes+
Dr. Khamami Herusantoso
-
8/16/2019 07 Database Design
35/103
3/107
13 0ipe "ntitas
0ipe entitas )entity type+%umpulan dari ob"ek-ob"ek yang memiliki properti?
karakteristik yang sama* yang diidentifikasi oleh suatu
perusahaan?pemakai memiliki keberadaan yang bebas
%e"adian ,ntitas )entity occurrence+b"ek?instance dari tipe entitas yang dapat
diidentifikasikan secara unik
Dr. Khamami Herusantoso
-
8/16/2019 07 Database Design
36/103
3/107
'ontoh 0ipe "ntitas
Dr. Khamami Herusantoso
-
8/16/2019 07 Database Design
37/103
37/107
Diagram ", dari 0ipe "ntitas Sta$$
dan Branh
Dilambangkan sebagai empat persegi pan"ang
yang diberi label dengan nama entitas* yang
biasanya merupakan kata benda tunggal
$uruf pertama nama entitas adalah huruf besar
Dr. Khamami Herusantoso
-
8/16/2019 07 Database Design
38/103
3/107
&3 0ipe ,elasi
0ipe relasi )relationship type+Sekumpulan asosiasi?hubungan diantara "enis entitas
yang memiliki arti tertentu
%e"adian relasi )relationship occurrence+ 2sosiasi?hubungan yang dapat diidentifikasi secara unik*
termasuk satu occurrence untuk setiap "enis entitas yang
berpartisipasi
Dr. Khamami Herusantoso
-
8/16/2019 07 Database Design
39/103
34/107
Diagram ", dari ,elasi Branh
%as Sta$$
7ama relasi adalah kata ker"a atau frase yang
mengandung kata ker"a )eg* !upervises &
"eased#y +
$uruf pertama dari setiap kata adalah huruf besar
Dr %hamami $erusantoso
3ranch Staff $as
@3ranch has staffA
-
8/16/2019 07 Database Design
40/103
0/107
Semanti 4et 0ipe ,elasi %as
entity occurrence entity occurrencerelationship occurrence
Dr. Khamami Herusantoso
-
8/16/2019 07 Database Design
41/103
1/107
Derajat ,elasi
Dera"at relasi )degree of a relationship+
(umlah entitas yang berpartisipasi dalam suatu relasi
Dera"at relasi:
Dua disebut biner )binary+
0iga disebut ternary
,mpat disebut quaternary
Dr. Khamami Herusantoso
-
8/16/2019 07 Database Design
42/103
2/107
,elasi Biner: O*ns dan %as
ns
3ranch Staff $as
@3ranch has staffA
Dr. Khamami Herusantoso
-
8/16/2019 07 Database Design
43/103
3/107
,elasi 0ernary: ,egisters
Relasi direpresentasikan dengan menggunakan
lambang diamond
7ama relasi dituliskan didalam diamond tersebut
Staf mendaftarkan klien pada
sebuah kantor cabang
Dr. Khamami Herusantoso
-
8/16/2019 07 Database Design
44/103
/107
,elasi 5uaternary: Arranges
.engumpul derma membuat taaran
)bid+ atas nama pembeli yang
didukung oleh institusi keuangan
Dr. Khamami Herusantoso
-
8/16/2019 07 Database Design
45/103
/107
6enis ,elasi
Relasi tunggal )recursive?unary relationship+
Suatu relasi dimana "enis entitas yang sama
berpartisipasi lebih dari sekali dengan fungsi yangberbeda-beda
Relasi dapat diberikan nama fungsi )role name+
untuk menun"ukkan tu"uan dari setiap "enis entitasyang berpartisipasi pada sebuah relasi
Dr. Khamami Herusantoso
-
8/16/2019 07 Database Design
46/103
/107
,elasi 0unggal: Super!ises dgn 4ama
7ungsi Super!isor dan Super!ises
Staff Super
vises
Supervisor
Supervisee
Role name
Dr. Khamami Herusantoso
" tit 0 i i M l l i D
-
8/16/2019 07 Database Design
47/103
7/107
"ntitas yang 0erasosiasi Melalui Dua
,elasi Berbeda Dengan 4ama 7ungsi
Manages
$as
Dr. Khamami Herusantoso
-
8/16/2019 07 Database Design
48/103
/107
+3 Atribut
2tribut
.roperti dari sebuah entitas atau relasi
Domain atribut
$impunan dari nilai-nilai yang mungkin dari satu atau
lebih atribut
Dr. Khamami Herusantoso
-
8/16/2019 07 Database Design
49/103
4/107
6enis Atribut
2tribut sederhana )simple?atomic attribute+
2tribut komposit?campuran )composite attribute+
2tribut bernilai-tunggal )single-valued 2ttribute+
2tribut bernilai-"amak )multi-valued 2ttribute+ 2tribut turunan )derived attribute+
Dr. Khamami Herusantoso
-
8/16/2019 07 Database Design
50/103
0/107
Atribut sederhana
2tribut yang terdiri dari komponen tunggal dengan
keberadaan bebas
#ontoh: jabatan dan gaji pada entitas staf
ga"i "abatan
Dr. Khamami Herusantoso
-
8/16/2019 07 Database Design
51/103
1/107
Atribut 2omposit8'ampuran
2tribut terdiri dari beberapa komponen* setiap
komponen keberadaannya bebas
#ontoh: atribut alamat pada entitas #ranch yang dapat
dipecah men"adi nama jalan* kota dan kode pos$
%eputusan untuk memecah atribut ini bergantung pada
vie pemakai terhadap data
alamat
"alan kota pos
Dr. Khamami Herusantoso
-
8/16/2019 07 Database Design
52/103
2/107
Atribut Bernilai/0unggal
2tribut yang menyimpan nilai tunggal untuk setiap
occurrence%instance dari sebuah entitas
#ontoh* setiap occurrence dari entitas #ranch memiliki nomor branch )branchNo+ atribut yang
bernilai tunggal
branch7
o
Dr. Khamami Herusantoso
-
8/16/2019 07 Database Design
53/103
3/107
Atribut bernilai/jamak
2tribut yang menyimpan nilai "amak untuk setiap
occurrence dari tipe entitas
#ontoh* setiap occurrence dari tipe entitas #ranch dapat memiliki nilai atribut telNo lebih dari satu
tel7o
Dr. Khamami Herusantoso
-
8/16/2019 07 Database Design
54/103
/107
Atribut 0urunan
2tribut yang merepresentasikan sebuah nilai dari
turunan nilai sebuah atribut atau himpunan atribut yang
berhubungan )atribut-atribut tersebut tidak selalu harus
dari tipe entitas yang sama+
#ontoh 2tribut durasi yang dihitung dari atribut rent!tart dan rent&inish
2tribut total!taff yang dihitung dengan menghitung total "umlah
kemunculan dari entitas staff
durasi
Dr. Khamami Herusantoso
' t h Di ", b t
-
8/16/2019 07 Database Design
55/103
/107
'ontoh Diagram ", beserta
Atributnya
,mployee DepartmentBorks6or bdate
nip
name
lnamefname
seC address salaryname number location
number of employees
degree
Dr. Khamami Herusantoso
multi-valued
attribute
derived
attribute
composite
attributeattribute as
.%
' t h Di ", b t
-
8/16/2019 07 Database Design
56/103
/107
'ontoh Diagram ", beserta
Atributnya
,mployee DepartmentBorks6or bdate
nip
name
lnamefname
seC address salaryname number location
number of employees
degree
Dr. Khamami Herusantoso
multi-valued
attribute
derived
attribute
composite
attributeattribute as
.%
year
attribute for
relationship
-
8/16/2019 07 Database Design
57/103
7/107
0ipe "ntitas
0ipe ,ntitas %uat )!trong 'ntity (ype+
0ipe ,ntitas emah ))eak 'ntity (ype+
Dr. Khamami Herusantoso
-
8/16/2019 07 Database Design
58/103
/107
0ipe "ntitas 2uat
0ipe entitas yang keberadaannya bebas dari
keberadaan entitas lain
0iap occurrence dari entitas ini secara unik dapat
diidentifikasi dengan menggunakan atribut primarykey dari tipe entitas tsb
,mployeebdate
nip
name
lnamefname
seC address salary
degree
Dr. Khamami Herusantoso
-
8/16/2019 07 Database Design
59/103
-
8/16/2019 07 Database Design
60/103
0/107
Multipliity
Dalam sebuah relationship pada Database
terdapat batasan-batasan yang terstruktur
)!tructural *onstraints+
0ipe utama dari batasan disebut multiplicity yang
mencerminkan aturan dari sistem yang akan
dibuat oleh user
Dr. Khamami Herusantoso
-
8/16/2019 07 Database Design
61/103
1/107
Multipliity
Dera"at relasi yang paling umum adalah biner
)binary +
Rasio kardinalitas )Multiplicity+ dari relasi biner:
Satu-ke-satu?one-to-one )1:1+
Satu-ke-banyak?one-to-many )1:+ atau 1:7
3anyak-ke-banyak?many-to-many ):+ atau M:7 atau 7:7
Dr. Khamami Herusantoso
Semanti 4et dari 0ipe ,elasi Sta$$
-
8/16/2019 07 Database Design
62/103
2/107
Semanti 4et dari 0ipe ,elasi Sta$$
Manages Branh
Dr. Khamami Herusantoso
Multipliity dari ,elasi Sta$$ Manages
-
8/16/2019 07 Database Design
63/103
3/107
Multipliity dari ,elasi Sta$$ Manages
Branh (1:1)
Staff
staff7o
3ranch
branch7o
Manages1 1
Multiplicity
Seorang Staff mengelola8 atau 1 3ranchSebuah 3ranch dikelolaoleh hanya 1 Staff
Dr. Khamami Herusantoso
Semanti 4et dari 0ipe ,elasi Sta$$
-
8/16/2019 07 Database Design
64/103
/107
Semanti 4et dari 0ipe ,elasi Sta$$
O!ersees Property7or,ent
Dr. Khamami Herusantoso
Multipliity dari 0ipe ,elasi Sta$$ O!ersees
-
8/16/2019 07 Database Design
65/103
/107
Multipliity dari 0ipe ,elasi Sta$$ O!ersees
Property7or,ent (1:M)
Staff
staff7o
.roperty6orRent
property7o
versees1 M
Seorang Staff mengaasi8 atau banyak .roperty
Sebuah .roperty diaasioleh 8 atau 1 Staff
Dr. Khamami Herusantoso
Semanti 4et dari 0ipe ,elasi 4e*spaper
-
8/16/2019 07 Database Design
66/103
/107
Semanti 4et dari 0ipe ,elasi 4e*spaper
Ad!ertises Property7or,ent
Dr. Khamami Herusantoso
Multipliity dari 0ipe ,elasi 4e*spaper
-
8/16/2019 07 Database Design
67/103
7/107
Multipliity dari 0ipe ,elasi 4e*spaper
Ad!ertises Property7or,ent (M:4)
7espaper
name
.roperty6orRent
property7o
2dvertisesM 7
Sebuah .roperty diiklankan
oleh 8 atau banyak koran
Sebuah koran mengiklankan
1 atau banyak .roperty
Dr. Khamami Herusantoso
-
8/16/2019 07 Database Design
68/103
/107
2omponen Multipliity
Multiplicity dibentuk dari dua tipe batasan?restriksi
pada relasi yaitu:
%ardinalitas )cardinality + dan
3atasan partisipasi ) participation constraint +
Dr. Khamami Herusantoso
-
8/16/2019 07 Database Design
69/103
4/107
2omponen Multipliity
%ardinalitas
Menerangkan "umlah maksimum dari occurrence relasi
yang mungkin bagi sebuah entitas yang berpartisipasidalam suatu tipe relasi
3atasan partisipasi
Menentukan apakah semua atau hanya sebagian entitas
occurrence sa"a yang berpartisipasi pada sebuah relasi
Dr. Khamami Herusantoso
Multipliity Sebagai 2ardinalitas dan
-
8/16/2019 07 Database Design
70/103
70/107
Multipliity Sebagai 2ardinalitas dan
Batasan Partisipasi
Staff
staff7o
3ranch
branch7o
Manages1 1
sebuah branch dikelola
oleh maC seorang staff
seorang staff mengelola
maC sebuah branch
Cardinality
semua branch harus ada
yang mengelola )mandatory+
tidak semua staff
"adi pengelola )optional+
participation
ratio cardinality
1:1
Dr. Khamami Herusantoso
-
8/16/2019 07 Database Design
71/103
71/107
Baalah9
Staff
staff7o
Super&ises
mgrStart
Datebranch7o
3ranch
Registers
client7o .referenceState
s
1
M 1
1
M
1 M
1Supervisee
Supervisor 1
M 1
+anage
#lient
Has
Dr. Khamami Herusantoso
-
8/16/2019 07 Database Design
72/103
72/107
atihan Penulisan ",D
Dr. Khamami Herusantoso
-
8/16/2019 07 Database Design
73/103
77/107
Pemetaan Diagram ",
ke 0abel
.okok 3ahasan ke-=
-
8/16/2019 07 Database Design
74/103
7/107
Agenda
0u"uan pemetaan
.emetaan berdasarkan entity type
.emetaan berdasarkan relationship type
.emetaan berdasarkan attribute
Dr. Khamami Herusantoso
-
8/16/2019 07 Database Design
75/103
-
8/16/2019 07 Database Design
76/103
0/107
N
Diagram ",
Dr %hamami $erusantoso
Staff
staffNo
fName lName
position
sex
DOB
name
ClientclientNo
fName lName
telNoname
Preference
prefType maxRent
Property ForRent
propertyNo
street city
type
rent
rooms
address
postcode
Registers
1
1States
1
view Date
comment
Views N
M
-
8/16/2019 07 Database Design
77/103
1/107
Pemetaan Diagram ", ke 0abel
.emetaan dilakukan berdasarkan element berikut:1 0ipe entitas kuat )strong entity types+
! 0ipe entitas lemah )eak entity types+
4 0ipe relasi biner ne-to-many )1:+; 0ipe relasi biner ne-to-one )1:1+
= 0ipe relasi recursive?unary
9 0ipe relasi biner many-to-many ):+E 0ipe relasi kompleks
-
8/16/2019 07 Database Design
78/103
2/107
13 Pemetaan "ntitas 2uat (Strong
"ntity)
'ntuk setiap strong entity * buatlah sebuah tabelyang meliputi semua atribut sederhana yang ada
pada entitas tersebut
(ika ada atribut komposit* tambahkan hanya
bagian atribut sederhananya sa"a
Dr %hamami $erusantoso
-
8/16/2019 07 Database Design
79/103
3/107
'ontoh Pemetaan
#ontoh: hasil pemetaan dari entitas Staff adalahSta )staff7o* f7ame* l7ame* position* seC* D3+
Primary !ey staff7o
Dr %hamami $erusantoso
staNo Name lName Position Se" D#B
Staff
staff7o
f7ame l7ame
position
seC
D3
7ame
-
8/16/2019 07 Database Design
80/103
-
8/16/2019 07 Database Design
81/103
/107
'ontoh Pemetaan
$asil pemetaan eak entity Preference:Preerence )pref0ype* maCRent+
Primary !ey 0idak ada )pada saat ini+
Dr %hamami $erusantoso
pre$ype ma"Rent
.reference
pref0ype maCRent
-
8/16/2019 07 Database Design
82/103
/107
%asil Pemetaan Semua "ntitas
Dr %hamami $erusantoso
staffNo fName lName Position Sex DOB
clientNo fName lName telNo
Staff
Client
Staff
staffNo
fName lName
position
sex
DOB
name
Client
clientNo
fName lName
telNoname
S
-
8/16/2019 07 Database Design
83/103
7/107
%asil Pemetaan Semua "ntitas
Dr %hamami $erusantoso
property No street city postcode type rooms rent
PropertyForRent
prefType maxRentPreference
Preference
prefType maxRent
Property ForRent
propertyNo
street city
type
rent
rooms
address
postcode
+ P t , l i Bi 1 4
-
8/16/2019 07 Database Design
84/103
/107
+3 Pemetaan ,elasi Biner 1:4
'ntuk setiap relasi biner 1:7* entitas pada sisi 1dari relasi di"adikan entitas parent dan entitas pada
sisi banyak )7+ di"adikan sebagai entitas child
'ntuk merepresentasikan relationship ini*
duplikasikan atribut .% ke tabel yang
merepresentasikan entitas child yang berfungsi
sebagai 6%
Dr %hamami $erusantoso
' t h P t
-
8/16/2019 07 Database Design
85/103
4/107
'ontoh Pemetaan
$asil pemetaan dari relasi !taff +egisters *lient
Sta )staff7o* f7ame* l7ame* position* seC* D3+G Primary key staff7o
Client )client7o* f7ame* l7ame* tel7o* staff7o+G Primary key client7o* 2lternate key tel7o*
G %oreign key staff78 reerences Staff)staff7o+
Dr %hamami $erusantoso
' t h P t
-
8/16/2019 07 Database Design
86/103
40/107
'ontoh Pemetaan
Dr %hamami $erusantoso
staffNo fName lName Position Sex DOB
clientNo fName lName telNo staffNo
dupliasian
Staff
Client
Staff
Client
Registers
N
1
; P t , l i Bi 1 1
-
8/16/2019 07 Database Design
87/103
41/107
;3 Pemetaan ,elasi Biner 1:1
a .artisipasi Mandatory pada dua sisi relasi 1:1
Habungkan entitas yang terlibat ke dalam satu tabel dan
pilih salah satu .% sebagai .% pada tabel baru tsb
Dr %hamami $erusantoso
'ontoh Pemetaan (Mandatory di
-
8/16/2019 07 Database Design
88/103
42/107
'ontoh Pemetaan (Mandatory di
Dua Sisi)
#lient !tates .referencesetiap klien harus punya satu preference dan setiap
preference harus dimiliki oleh satu klien
ClientPre )client7o* f7ame* l7ame* tel7o* pref0ype*
maCRent* staff7o+
Primary key client7o
%oreign key staff7o reerences Staff)staff7o+
Dr %hamami $erusantoso
-
8/16/2019 07 Database Design
89/103
P t , l i Bi 1 1
-
8/16/2019 07 Database Design
90/103
4/107
Pemetaan ,elasi Biner 1:1
b .artisipasi Mandatory pada salah satu sisi relasi biner 1:1
/dentifikasi entitas parent dan child dengan menggunakan
batasan partisipasi
G ,ntitas dengan partisipasi optional pada relationship di"adikansebagai entitas parent* dan entitas dengan partisipasi mandatory
di"adikan sebagai entitas child
(ika relasi mempunyai atribut* tambahkan atribut tersebutpada tabel child
Dr %hamami $erusantoso
'ontoh Pemetaan (Mandatory pada salah
satu sisi)
-
8/16/2019 07 Database Design
91/103
4/107
satu sisi)
(ika #lient !tates .reference memiliki partisipasioptional pada entitas #lientlien boleh tidak mempunyai preference tetapi setiap
preference harus dimiliki oleh satu klien
Client )client7o* f7ame* l7ame* tel7o* staff7o+G Primary key client7o
G %oreign key staff7o reerences Staff)staff7o+
Preerence )client7o* pref0ype* maCRent+G Primary key client7o
G %oreign key client7o reerences #lient)client7o+
Dr %hamami $erusantoso
-
8/16/2019 07 Database Design
92/103
P t , l i Bi 1 1
-
8/16/2019 07 Database Design
93/103
47/107
Pemetaan ,elasi Biner 1:1
c .artisipasi optional pada dua sisi relasi 1:1G .enentuan entitas parent dan child adalah bebas
Dr %hamami $erusantoso
'ontoh Pemetaan (Opsional pada dua sisi)
-
8/16/2019 07 Database Design
94/103
4/107
'ontoh Pemetaan (Opsional pada dua sisi)
Sta Uses Car (idak semua staff menggunakan mobil dan tidak semua
mobil digunakan oleh seorang staff
(ika tidak ada info tambahan* maka pilihannya adalah
bebasF duplikasikan nilai .% pada entitas Sta ke entitas
Car * atau sebaliknya
(ika diasumsikan baha hampir semua mobil digunakan
oleh staff dan hanya sebagian kecil dari staff menggunakan
mobil:G Staff sebagai entitas parent dan #ar sebagai entitas child
Dr %hamami $erusantoso
-
8/16/2019 07 Database Design
95/103
'ontoh 6ika di salah/satu sisi Partisipasi Mandatory
-
8/16/2019 07 Database Design
96/103
100/107
'ontoh 6ika di salah/satu sisi Partisipasi Mandatory
Dr %hamami $erusantoso
staffNo fName lName Position Sex DOB supNo
Sta
dupliasi daristaffNo
staffNo
fName lName
position
sex
DOB
name
Supervises Staff
1$
1
'ontoh 6ika di dua sisi Partisipasi
-
8/16/2019 07 Database Design
97/103
101/107
Optional
Dr %hamami $erusantoso
Super!ise
staffNo fName lName Position Sex DOB
staffNoSr staffNoSe
Sta
dupliasi daristaffNo yg merupaanF% di ta!el ini
staffNo
fName lName
position
sex
DOB
name
Supervises Staff
1$
1
= Pemetaan ,elasi Biner 4:M
-
8/16/2019 07 Database Design
98/103
102/107
=3 Pemetaan ,elasi Biner 4:M
3uat sebuah tabel untuk merepresentasikan relasi tsbdan tambahkan semua atribut relasi tersebut
Duplikasikan atribut .% dari entitas yang berpatisipasi
pada relasi ke dalam tabel baru Duplikat tsb bertindak
sebagai 6%
6% ini adalah "uga sebagai .% dari tabel baru tsb )tetapimungkin dengan kombinasi dari suatu atribut relasi tsb+
#ontoh: #lient -iews .roperty6orRent
Dr %hamami $erusantoso
'ontoh Pemetaan (many/to/
-
8/16/2019 07 Database Design
99/103
103/107
( y
many)
Dr %hamami $erusantoso
Client
clientNo fName lName telNo
property
No
street city postcode type rooms rent
PropertyForRent
clientNo propertyNo viewDate comment
"lient
#roperty$orRent
"lient#roperty
view Date
comment
Views
N
M
> Pemetaan ,elasi 2ompleks
-
8/16/2019 07 Database Design
100/103
10/107
>3 Pemetaan ,elasi 2ompleks
3uat tabel baru untuk merepresentasikan relasi tsbdan tambahkan atribut yang ada pada relasi tsb ke
tabel baru
Duplikat atribut .% dari semua entitas yang
berpartisipasi dan tambahkan ke tabel baru tsb
untuk men"adi 6%
Dr %hamami $erusantoso
Pemetaan ,elasi 2ompleks
-
8/16/2019 07 Database Design
101/103
10/107
Pemetaan ,elasi 2ompleks
Dr %hamami $erusantoso
Relasi ternary Registers
Staff
Client
Registers
N
1
Branc&
!ranc&
No
clientNo
StaffNo
1
Date'oined
clientNo branchNo staffNo dateoined
Registration
? Multi !alued attributes
-
8/16/2019 07 Database Design
102/103
10/107
?3 Multi/!alued attributes
3uatlah sebuah tabel baru untukmerepresentasikan atribut multi-valued )bernilai
"amak+
Duplikasikan .% dari entitas dan tambahkan pada
tabel baru tsb yang berfungsi sebagai 6%
Dr %hamami $erusantoso
'ontoh Pemetaan (multi/!alued
-
8/16/2019 07 Database Design
103/103
attribute)
#ontoh pada 3ranch user vieBranch )branch7o* street* city* postcode+
G Primary key branch7o
$elephone )tel7o* branch7o+G Primary key tel7o
G %oreign key branch7o reerence 3ranch)branch7o+
branchNo street city postcode telNo
branchNo telNo
%ran&h
#honeBranch !ranc&No
street city
postcode
telNotelNo