Bab 02 – ER Model

advertisement
Manajemen Data
Bab 2
Entity Relationship Model
Manajemen Data – Arif Djunaidy – FTIF ITS
Bab 2 - 1/24
Pokok Bahasan
Langkah-langkah dalam desain suatu basis
data ?
Overview desain basis data
Pemodelan data menggunakan Entity
Relationship Modeling (ER Model)
Manajemen Data – Arif Djunaidy – FTIF ITS
Bab 2 - 2/24
Desain Basis Data & ER Diagram (ERD)

Proses desain basis data dpt dibagi menjadi 6 langkah:
3 langkah pertama sangat relevan dengan ER model:
1. Analisis kebutuhan (Requirements Analysis)
2. Desain basis data konseptual (Conceptual Database Design)
3. Desain basis data logikal (Logical Database Design)
3 langkah berikutnya di luar cakupan desain ER:
4. Penghalusan skema (Schema Refinement)
5. Desain basis data fisik (Physical Database Design)
6. Desain aplikasi & sekuritas (Application and Security Design)
Manajemen Data – Arif Djunaidy – FTIF ITS
Bab 2 - 3/24
Contoh: Narasi Kebutuhan
Suatu perusahaan membutuhkan sebuah basis data guna mencatat semua
data pegawai, departemen, dan berbagai proyek yang ditanganinya.
Penjelasan dari sebagian data yang diperoleh setelah fase analisis dan
pengumpulan kebutuhan adalah seperti berikut:
1. Perusahaan terdiri dari sejumlah departemen, yang masing-masing
mempunyai sebuah nama dan nomor departemen yang unik. Setiap
departemen dipimpin oleh seorang pegawai yang bertindak sebagai
manajer dari departemen tersebut. Untuk ini perlu dicatat tanggal mulai
kapan manajer tersebut diangkat. Sebuah departemen dapat ditempatkan
di lebih dari satu lokasi.
2. Sebuah departemen dapat mengendalikan sejumlah proyek. Setiap proyek
mempunyai sebuah nomor dan nama yang unik, serta mempunyai satu
lokasi tertentu.
3. Data pegawai yang perlu dicatat berupa nama, nomor pegawai, alamat,
gaji, jenis kelamin, dan tempat serta tanggal lahir. Seorang pegawai
dipekerjakan di satu departemen tertentu dan dapat dilibatkan dalam
lebih dari satu proyek. Perlu dicatat jumlah jam per minggu dari setiap
pegawai yang terlibat dalam suatu suatu proyek. Selain itu perlu juga
dicatat pegawai yang menjadi atasan langsung dari sejumlah pegawai
lainnya.
4. Untuk keperluan asuransi pegawai, maka perlu dicatat anggota keluarga
dari setiap pegawai. Data yang dicatat berupa nama anggota keluarga,
tanggal lahir, jenis kelamin, dan hubungan keluarga (sebagai isteri/suami
atau anak).
Manajemen Data – Arif Djunaidy – FTIF ITS
Bab 2 - 4/24
Overview Desain Basis Data
Desain konseptual: (ER Model digunakan dlm tahap ini)





entities dan relationships apa yang ada dalam suatu
perusahaan?
Informasi apa dari entities dan relationships yang hrs
disimpan dlm basis data?
integrity constraints dan business rules apa saja yang hrs
diberlakukan?
`skema’ basis data dlm ER Model dpt disajikan dlm
bentuk diagram (ER Diagram / ERD).
ERD dpt dipetakan menjadi skema relasional (tabel)
Manajemen Data – Arif Djunaidy – FTIF ITS
Bab 2 - 5/24
Dasar-dasar ER Model
ssn
name
lot
Employees
Entity: Objek dunia nyata yang dpt dibedakan secara unik
dengan objek-objek lainnya. Sebuah entity dijelaskan (dlm
DB) dengan menggunakan satu set attributes
Entity Set: Sekumpulan entities yang sama. Contoh, semua
mahasiswa, semua mata kuliah




Semua entities dalam sebuah entity set mempunyai sekumpulan
attributes yang sama (utk sementara hingga dibahas bentuk hirarki
ISA !)
Setiap entity mempunyai sebuah key (dpt lebih dari satu)
Setiap attribute mempunyai sebuah domain (satu set nilai yang
diperbolehkan untuk attribute tersebut)
Setiap attribute bersifat atomic dan single-valued
Manajemen Data – Arif Djunaidy – FTIF ITS
Bab 2 - 6/24
Dasar-dasar ER Model (L/jutan)
name
ssn
lot
since
name
ssn
dname
lot
did
Employees
budget
supervisor
Employees
Works_In
Departments
subordinate
Reports_To
Relationship: Asosiasi antara dua atau lebih entities.
 Contoh, Siti works_in Information Systems department
Relationship Set: Sekumpulan relationships yang sama.

Sebuah n-ary relationship set R merelasikan n entity sets E1 ... En;
dimana setiap relationship dlm R melibatkan entities e1  E1, ...,
en  En
• Entity set yang sama dpt berpartisipasi dlm sejumlah
relationship sets yang berbeda, atau dlm “peran” yang berbeda
dlm suatu set yang sama.
Manajemen Data – Arif Djunaidy – FTIF ITS
Bab 2 - 7/24
Jenis Relationship
Binary: melibatkan
2 buah entity
since
name
ssn
dname
lot
Employees
Unary: hanya
melibatkan 1
entity
name
ssn
budget
did
Works_In
Departments
N-ary: melibatkan lebih dari
2 buah entity
(Contoh: ternary atau 3-ary)
lot
Qty
Sup#
Pname
Sname
Part#
Price
Employees
supervisor
Reports_To
Manajemen Data – Arif Djunaidy – FTIF ITS
Suppliers
Contact
Parts
Departments
Dep#
Dname
Bab 2 - 8/24
Key Constraints
since
name
dname
ssn
lot
Employees
budget
did
Works_In
Departments
Perhatikan Works_In: seorang employee dpt bekerja di banyak
departments; sebuah department dpt mempunyai banyak
employees.
since
name
ssn
dname
lot
Employees
did
Manages
budget
Departments
Sebaliknya, setiap department paling banyak mempunyai satu
manager, berdasarkan key constraint pada relasi Manages.
Manajemen Data – Arif Djunaidy – FTIF ITS
Bab 2 - 9/24
Contoh: Instance dari “Works_In” Relationship Set
since
name
ssn
dname
lot
Employees
Manajemen Data – Arif Djunaidy – FTIF ITS
did
Works_In
budget
Departments
Bab 2 - 10/24
Kardinalitas Relationships
E1
E1
E2
E1
E1
R
1
R
E1
E2
1
E2
1-to-1
E1
E2
E1
R
M
R
E2
1
E2
M-to-1
E2
E1
E1
E1
R
1
R
M
E2
E2
E1
E2
E1
1-to M
Manajemen Data – Arif Djunaidy – FTIF ITS
R
M
R
E2
N
E2
M-to-N
Bab 2 - 11/24
Participation Constraints
Apakah setiap department mempunyai seorang manager?

Jika ya, hal ini menyatakan participation constraint: partisipasi
dari Departments dlm Manages adalah total, sedang
partisipasi Employee dlm manages adalah partial.
• Setiap nilai did dlm tabel Departments hrs muncul pada setiap
baris dalam tabel Manages (dengan nilai non-null ssn !)
since
name
ssn
dname
did
lot
Employees
Manages
budget
Departments
Works_In
Manajemen Data – Arif Djunaidy – FTIF ITS
since
Bab 2 - 12/24
Kardinalitas Relationships
(+ Participation Constraints)
E1
E1
E2
E1
E1
R
0,1
R
E1
E2
0,1
E2
1-to-1
E1
E2
E1
R
1,M
R
E2
0,1
E2
M-to-1
E2
E1
E1
R
0,1
E1
E2
E2
E1
E2
E1
1,M
R
1-to M
Manajemen Data – Arif Djunaidy – FTIF ITS
R
1,M
R
E2
1,N
E2
M-to-N
Bab 2 - 13/24
Weak Entities
Sebuah weak entity dpt diidentifikasi secara unik hanya
dengan memperhatikan key dari entity lainnya (owner
entity).



Owner entity set dan weak entity set hrs berpartisipasi dlm sebuah
one-to-many relationship set (one owner, many weak entities).
Weak entity set hrs mempunyai partisipasi total dlm identifying
relationship set.
Sebuah weak entity dapat memiliki partial key (sebuah attribute
yang bernilai unik dalam sebuah owner entity-nya, tapi dapat
bernilai sama pada owner entity yang berbeda)
name
ssn
lot
Employees
Manajemen Data – Arif Djunaidy – FTIF ITS
cost
Policy
pname
age
Dependents
Bab 2 - 14/24
ISA (`is a’) Hierarchies
name
ssn
lot
Employees
Seperti dlm C++, Java, atau
PL lainnya, attributes dpt
diwariskan (inherited).
 Jika dideklarasi “A ISA B”,
maka setiap entity A juga
termasuk dlm entity B.

hourly_wages
hours_worked
ISA
contractid
Hourly_Emps
Contract_Emps
Overlap constraints: Dapatkah Ali menjadi seorang Hourly_Emps dan
sekaligus juga sebagai seorang Contract_Emps entity? (Allowed/disallowed)
Covering constraints: Apakah setiap Employees entity hrs juga menjadi
seorang Hourly_Emps atau seorang Contract_Emps entity? (Yes/no)
Alasan pengunaan ISA:
 Utk menambah “descriptive attributes” yang berlaku secara spesifik utk
sebuah subclass tertentu.
 Utk mengidentifikasi subset nilai entitities yang diperlukan untuk
berpartisipasi dlm sebuah relationship.
Manajemen Data – Arif Djunaidy – FTIF ITS
Bab 2 - 15/24
name
ssn
Aggregation
Digunakan bilamana hrs
memodelkan sebuah
relationship yang
melibatkan entitity sets
dan relationship set.
 Aggregation
Memungkinkan utk
memperlakukan
sebuah relationship
set sbg sebuah entity
set utk tujuan
partisipasi dlm
sejumlah
relationships
(lainnya).
lot
Employees
Monitors
since
started_on
pid
pbudget
Projects


Manajemen Data – Arif Djunaidy – FTIF ITS
until
dname
did
Sponsors
budget
Departments
Monitors adalah sebuah relationship,
dengan sebuah descriptive attribute.
Dpt juga dikatakan bhw setiap sponsorship
dimonitor oleh paling sedikit seorang
employee.
Bab 2 - 16/24
Aggregation (L/jutan)
Aggregation
 Ternary Relationship
name
ssn
lot
name
ssn
Employees
lot
Employees
Monitors
until
started_on
since
started_on
pid
pbudget
pid
dname
did
pbudget
budget
Projects
Projects
Sponsors
dname
did
Monitors
budget
Departments
Departments
until
since
Manajemen Data – Arif Djunaidy – FTIF ITS
Bab 2 - 17/24
Desain Konseptual Menggunakan ER Model
Pilihan-pilihan desain:



Apakah sebuah konsep hrs dimodelkan sbg sebuah
entity atau sebuah attribute ?
Apakah sebuah konsep hrs dimodelkan sbg sebuah
entity atau sebuah relationship ?
Identifying relationship: Binary atau Ternary ? atau
Aggregation?
Constraints dalam ER Model:


Sebanyak mungkin semantik dari data dituangkan
dalam ERD
Tetapi mungkin beberapa “constraints” tidak dapat
digambarkan dalam ERD
Manajemen Data – Arif Djunaidy – FTIF ITS
Bab 2 - 18/24
Entity v.s. Attribute
Contoh, apakah address hrs dimodelkan sbg attribute dari
entity Employee atau sbg sebuah entity (yang dihubungkan
ke entity Employee oleh sebuah relationship) ?
Jawab: bergantung pada penggunaan informasi address
yang diinginkan, dan juga semantik dari data, maka salah
satu dari alternatif berikut dapat digunakan:
• Jika utk setiap Employee diperbolehkan memiliki sejumlah
addresses, maka address hrs dimodelkan sbg sebuah entity, karena
sebuah attribute tidak boleh memiliki banyak nilai (multi-valued)
• Jika struktur (city, street, dll.) dianggap penting, misalnya
diinginkan utk mencari (retrieve) data employee berdasarkan nama
city, maka address hrs dimodelkan sebagai sebuah entity (karena
nilai-nilai dari attribute harus atomic)
Manajemen Data – Arif Djunaidy – FTIF ITS
Bab 2 - 19/24
Entity v.s. Attribute (L/jutan)
Works_In4 tidak
membolehkan seorang
“employee” utk bekerja
di sebuah “department”
utk dua periode atau lebih
from
name
ssn
Namun, jika diinginkan
utk mencatat beberapa
nilai dari sebuah
“descriptive attribute” utk
setiap nilai dari sebuah
relationship, maka sebuah
entity baru Duration dapat
didefinisikan
Manajemen Data – Arif Djunaidy – FTIF ITS
to
dname
lot
did
Works_In4
Employees
budget
Departments
name
dname
lot
ssn
Employees
from
did
Works_In4
Duration
budget
Departments
to
Bab 2 - 20/24
Entity v.s. Relationship
ERD pertama OK, jika
seorang manager diberikan
since dbudget
kebijakan utk menenname
dname
ssn
lot
did
tukan budget (dbudget)
yang terpisah utk setiap
Departments
department yang
Employees
Manages2
dipimpinnya
Bgm jika seorang manager
ERD kedua ini
diberikan kebijakan utk
mengatasi persoalan !
name
menentukan budget
ssn
lot
yang meliputi semua
dname
since
dept yang dipimpinnya?
did
Employees


Redundancy: dbudget yang
disimpan utk setiap dept
yang dikelola oleh seorang
manager.
Misleading: menganjurkan
dbudget utk diasosiasikan
dengan kombinasi
department-mgr
Manajemen Data – Arif Djunaidy – FTIF ITS
ISA
Managers
Manages2
Departments
dbudget
Bab 2 - 21/24
Binary v.s. Ternary Relationships
name
Jika setiap
ssn
pname
lot
age
“policy” hanya
Dependents
Employees
Covers
dimiliki oleh 1
employee, dan
Bad design
Policies
setiap dependent
dikaitkan
policyid
cost
dengan policy
name
pname
age
tsb, maka ERD
ssn
lot
petama kurang
Dependents
Employees
akurat!
ERD kedua lebih
Purchaser
Beneficiary
baik. Constraints
tambahan apa
yang terdapat
Better design
Policies
dalam ERD
policyid
cost
kedua?
Manajemen Data – Arif Djunaidy – FTIF ITS
Bab 2 - 22/24
Binary vs. Ternary Relationships (L/jutan)
Contoh sebelumnya mengilustrasikan sebuah kasus
dimana dua buah binary relationships adalah lebih baik
daripada sebuah ternary relationship
Sebuah contoh utk kasus sebaliknya: sebuah relasi ternary
Contracts merelasikan entity sets Parts (P), Departments
(D) dan Suppliers (S), dan mempunyai attribut deskriptif
qty. Tidak ada kombinasi binary relationships yang pas
utk menggantikannya:


S “dpt-menyuplai” P, D “memerlukan” P, dan D “berbisnis”
denan S  tdk mengimplikasikan bahwa D telah menyepakati utk
membeli P dari S.
Bagaimana attribut deskriptif qty hrs dicatat dalam ERD?
Manajemen Data – Arif Djunaidy – FTIF ITS
Bab 2 - 23/24
Bahan Diskusi #1:
Bnama
Pnama
Pid
PERAWAT
Bekerja
BANGSAL
Disertifikasi
Menjamin
FUNGSI
Fnama
Fid
Manajemen Data – Arif Djunaidy – FTIF ITS
Bid
1. Sebuah fungsi F1 dimana tidak ada
perawat yang tersertifikasi untuk fungsi
tersebut, dijamin oleh beberapa bangsal
(Ya/Tidak?)
2. Sorang perawat yang disertifikasi untuk
dua fungsi F1 dan F2 bekerja pada
sebuah bangsal yang menjamin tidak
ada fungsi yang menjadi tanggung
jawab bangsal tersebut (Ya/Tidak?)
3. Seorang perawat yang disertifikasi
untuk fungsi F1 bekerja untuk sebuah
bangsal yang hanya menjamin fungsi
F3 dan F4 (Ya/Tidak?)
4. Seorang perawat tidak memiliki
sertifikasi, walaupun ia bekerja pada
bangsal B1 (Ya/Tidak?)
5. Seorang perawat dengan Pid P1
disertifikasi hanya untuk fungsi-fungsi
F1 dan F2, dan tidak satupun bangsal
yang ada menjamin fungsi-fungsi
tersebut (Ya/Tidak?)
Bab 2 - 24/24
Bahan Diskusi #2:
Dengan menggunakan notasi yang dibahas dalam kuliah,
gambarkan Diagram ER untuk kasus kecil berikut yang
berkaitan dengan sebagian kecil basis data perusahaan
manufaktur.
 Basis data berisikan informasi mengenai pegawai,
pabrik, dan produk.
 Setiap pegawai mempunyai nomor pegawai (NPeg),
nama dan gaji. Seorang pegawai diidentifikasi secara
unik berdasarkan NPeg.
 Setiap pabrik mempunyai sebuah nomor ID, nama dan
bujet. Nomor ID mengidentifikasi sebuah pabrik
dengan unik.
Manajemen Data – Arif Djunaidy – FTIF ITS
Bab 2 - 25/24
Bahan Diskusi #2 (Lanjutan):
 Setiap produk juga mempunyai ID dan nama. Nomor
ID mengidentifikasi sebuah produk secara unik.
 Setiap pegawai (bawahan) harus melaporkan paling
banyak ke seorang pegawai lain (sebagai atasan
langsung).
 Setiap pegawai boleh bekerja paling sedikit di satu
pabrik.
 Setiap produk dipabrikasi di tepat satu pabrik.
 Setiap produk dapat merupakan komponen dari
beberapa produk lainnya.
Manajemen Data – Arif Djunaidy – FTIF ITS
Bab 2 - 26/24
Bahan Diskusi #3:
Dalam suatu instansi yang melakukan registrasi
kendaraan bermotor perlu dicatat kendaraan-kendaraan
yang terdaftar (Registered-Vehicle) dan pemilik dari setiap
kendaraan yang didaftarkan (Owner). Jenis kendaraan
yang didaftarkan dapat berupa mobil (Car) atau truk
(Truck). Setiap objek dari kendaraan dicatat nomor
identifikasi (vehicle-id) yang unik untuk setiap kendaraan,
model kendaraan (model), negara pembuatnya (make), dan
tahun pembuatannya (year). Khusus untuk kendaraan
jenis mobil perlu dicatat tambahan informasi berupa tipe
mobil (style), sedang untuk jenis kendaraan truk tambahan
informasi yang perlu dicatat berupa berat kendaraan
(tonnage). Bilaman suatu objek kendaraan telah
didaftarkan, maka kendaraan tersebut akan diberi
identitas berupa nomor plat kendaraan (license plate
number) yang unik untuk setiap kendaraan.
Manajemen Data – Arif Djunaidy – FTIF ITS
Bab 2 - 27/24
Bahan Diskusi #3 (Lanjutan):
Pemilik dari kendaraan dapat terdiri dari pemilik pribadi
(Person), instansi pemerintah (Government), atau suatu
perusahaan (Company). Untuk pemilik pribadi identitas
yang perlu dicatat berupa nomor kartu penduduk yang
unik dari orang yang menjadi pemilik (SSN), nama (name),
alamat (adrress), dan nomor lisensi mengemudi (driver
license number) yang juga unik untuk setiap orang. Untuk
pemilik instansi pemerintah perlu dicatat nama instansi
(gname) yang unik untuk setiap instansi dan alamat dari
instansi (gaddress). Sedang untuk pemilik perusahaan
perlu dicatat nama perusahaan (cname) dan alamatnya
(caddress).
Manajemen Data – Arif Djunaidy – FTIF ITS
Bab 2 - 28/24
Bahan Diskusi #3 (Lanjutan):
Untuk mengetahui suatu kendaraan pernah dimiliki oleh
siapa dan juga untuk mengetahui seorang pemilik pernah
memiliki kendaraan apa saja, maka perlu dicatat data
yang berkaitan dengan korespondensi antara pemilik
kendaraan dan kendaraan-kendaraan yang pernah
dimilikinya. Informasi tambahan yang perlu dicatat
bilamana seorang pemilik telah mendaftarkan
kendaraannya adalah tanggal kapan kendaraan itu dibeli
(purchase date)
Manajemen Data – Arif Djunaidy – FTIF ITS
Bab 2 - 29/24
Akhir Bab 2
Manajemen Data – Arif Djunaidy – FTIF ITS
Bab 2 - 30/24
Download