entity relationship model - … · k3. kendaraan 1 : 1 pegawai milik kendaraan 1 1. ... jurusan,...
TRANSCRIPT
ENTITY RELATIONSHIP MODEL
ENTITY RELATIONSHIP
PENGERTIANEntity relationship Adalah jaringan yang menggunakan susunan data yang disimpan dari sistem secara abstrak.
Entity-relationship dari model terdiri dari unsur-unsurentity dan relationship antara entity-entitiy tersebut.
SIMBOL-SIMBOL ER-DIAGRAM
• ENTITY
• WEAK ENTITY
• RELATIONSHIP
• IDENTIFYING RELATIONSHIP
• ATRIBUT DERIVATIF
Notasi Arti• ATRIBUT
• ATRIBUT PRIMARY KEY
• ATRIBUT MULTI VALUE
• ATRIBUT COMPOSITE
Notasi Arti
KOMPONEN ENTITY RELATIONSHIP1. Entitas yaitu suatu kumpulan object atau sesuatu
yang dapat dibedakan atau dapat diidentifikasikansecara unik. Dan kumpulan entitas yang sejenisdisebut dengan entity set.
2. Relationship yaitu hubungan yang terjadi antarasatu entitas atau lebih.
3. Atribut, kumpulan elemen data yang membentuksuatu entitas.
4. Indicator tipe terbagi 2 yaitu :a. Indicator tipe asosiatif objectb. Indicator tipe super tipe
ENTITY SET TERBAGI ATAS :1. Strong entity set yaitu entity set yang satu atau lebih atribut
nya digunakan oleh entity set lain sebagai key.Misal : E adalah sebuah entity set dengan atribute-atributea1, a2,..,an, maka entity set tersebut direpresentasikan dalam bentuk tabel E yang terdiri dari n kolom, dimana setiap kolom berkaitan dengan atribute-atributenya.
2. Weak Entity set, Entity set yang bergantung terhadapstrong entity set.Misal :A adalah weak entity set dari atribute-atribute a1, a2, .., ardan B adalah strong entity set dengan atribute-atribute b1,b2,..,bs, dimana b1 adalah atribute primary key, maka weak entity set direpresentasikan berupa table A, dengan atribute-atribute {b1} u {a1,a2,.., ar}
NOPEG
PEGAWAI TANGGUNGANMILIK
…….. NAMA ……..
Contoh Weak Entity
Contoh Strong Entity
NOPEG NAMA200107340200307569200107341200107486
BILLYFUADNININGFINTRI
NOPEG TANGGUNGAN TANGGALLAHIR
JENISKELAMIN
200107340200307569200107341200107486
HAFIDZRENIRAFFANAIA
22-03-200613-05-199921-06-200625-10-2006
LAKI-LAKIPEREMPUANLAKI-LAKIPEREMPUAN
Contoh : Strong entity set
Weak entity set transaction
JENIS –JENIS ATRIBUTa. KEY atribut yang digunakan untuk menentukan suatu
entity secara unikb. ATRIBUT SIMPLEatribut yang bernilai tunggalc. ATRIBUT MULTI VALUE atribut yang memiliki
sekelompok nilai untuk setiap instan entityPada gambar dibawah ini, yang menjadi atribut key adalah NIP.Tgl Lahir dan Nama adalah atribut simple. Sedangkan Gelar
merupakan contoh atribut multivalue.
TGL LAHIR GELAR
NIP NAMA
PEGAWAI
NAMADEPAN
NAMATENGAH
NAMABLKNG
NAMA
PEGAWAI
d. ATRIBUT COMPOSIT Suatu atribut yang terdiri daribeberapa atribut yang lebih kecil yang mempunyai artitertentu contohnya adalah atribut nama pegawai yang terdiridari nama depan, nama tengah dan nama belakang.
d. ATRIBUT DERIVATIF Suatu atribut yg dihasilkan dari atribut yang lain. Sehingga umur yang merupakan hasil kalkulasi antara Tgl Lahir dan tanggal hari ini. Sehingga keberadaan atribut umur bergantung pada keberadaan atribut Tgl Lahir.
TGL LAHIR UMUR
PEGAWAI
DERAJAT RELATIONSHIPmenjelaskan jumlah entity yang berpartisipasi dalam suatu relationship
1. UNARY DEGREE
2. BINARY DEGREE
3. TERNARY DEGREE
PEGAWAI LAPOR
PEGAWAI KERJA DEPARTEMEN
PEGAWAI KERJA PROYEK
KOTA
MAPPING CARDINALITYBanyaknya entity yang bersesuaian dengan entity yang
lain
melalui relationship
JENIS-JENIS MAPPING :1. One to one
2. Many to One atau One to many
3. Many to many
REPRESENTASI DARI ENTITY SETEntity set direpresentasikan dalam bentuk tabel dannama yang unique. Setiap tabel terdiri dari sejumlahkolom, dimana masing-masing kolom diberi nama yang unique pula
• CARDINALITY RATIO CONSTRAINT,
Menjelaskan batasan jml keterhubungan satu entity dgn
entity lainnyaJenis Cardinality Ratio = 1:1 1:N/ N:1 M : N
P1.P2.P3.
PEGAWAI
R1.R2.R3.
MILIK
K1.K2.K3.
KENDARAAN
1 : 1
PEGAWAI MILIK KENDARAAN1 1
PROYEK
KERJA
P1.P2.P3.
PEGAWAI
R1.R2.R3.R4.
KERJA
P1.P2.P3.
M : N
PEGAWAI PROYEKM N
DEPARTEMENP1.P2.P3.P4.
PEGAWAI
R1.R2.R3.R4.
KERJA
D1.D2.D3.
1:N/
N:1
PEGAWAI KERJA DEPARTEMEN1 1
Cardinality 1:1,1:M,M:NONEONE--TOTO--ONE: ONE:
Husband Wife
ONEONE--TOTO--MANY:MANY:Customer
Order1
Order2
Order3
MANYMANY--TOTO--MANY:MANY:
STUDENTA
STUDENTB
STUDENTC
CLASS1
CLASS2
M
1
M
1
ORDER
CAN HAVE
PART
SUPPLIER
CAN HAVE
ORDER: #, DATE, PART #, QUANTITY
PART: #, DESCRIPTION, UNIT PRICE, SUPPLIER #
SUPPLIER: #, NAME, ADDRESS
A
A
A
A
B
B
B
B
E a c h i n s t a n c e o f A i s r e l a t e d t o a m i n i m u m o fz e r o a n d a m a x i m u m o f o n e i n s t a n c e o f B
E a c h i n s t a n c e o f B i s r e l a t e d t o a m i n i m u m o fo n e a n d a m a x i m u m o f o n e i n s t a n c e o f A
E a c h i n s t a n c e o f A i s r e l a t e d t o a m i n i m u m o fo n e a n d a m a x i m u m o f m a n y i n s t a n c e s o f B
E a c h i n s t a n c e o f B i s r e l a t e d t o a m i n i m u m o fz e r o a n d a m a x i m u m o f m a n y i n s t a n c e s o f A
Logical Record Structured (LRS)LRS representasi dari struktur record-record pada tabel-tabelyang terbentuk dari hasil relasi antar himpunan entitas.Menentukan Kardinalitas, Jumlah Tabel dan Foreign Key(FK)
One to One (1-1)
Supir Taksikemudi
Gambar di atas menunujukan relasi dengan kardinalitas 1-1, karena:1 supir hanya bisa mengemudikan 1 taksi, dan 1 taksi hanya bisa dikemudikan oleh 1 supir.
Relasi 1-1 akan membentuk 2 tabel:Tabel Supir (nosupir, nama, alamat)Tabel Taksi (notaksi, nopol, merk, tipe)
LRS yang terbentuk sbb:
nosupirnamaalamat
notaksinopolmerktipenosupir(FK)
atau
notaksinopolmerktipe
nosupirnamaalamat
Notaksi(FK)
One to Many (1-M)Dosen Kelasbimbing
Gambar di atas menunujukan relasi dengan kardinalitas 1-M,karena:1 Dosen bisa membimbing banyak Kelas, dan 1 Kelas hanya dibimbing oleh 1 Dosen.
Relasi 1-M akan membentuk 2 tabel:Tabel Dosen (nip, nama, alamat)Tabel Kelas (kelas, jurusan, semester, jmlmhs)
LRS yang terbentuk sbb:
nipnamaalamat
kelasjurusansemesterjmlmhsnip (FK)
Many to Many (M-M)
Mahasiswa Mtkuliahajar
Gambar di atas menunujukan relasi dengan kardinalitas M-M, karena:1 Mahasiswa bisa belajar banyak Mata Kuliah, dan 1 Mata Kuliah bisa dipelajari oleh banyak Mahasiswa.
Relasi M-M akan membentuk 3 tabel:Tabel Mahasiswa (nim, nama, alamat)Tabel Mtkuliah (kdmk, nmmk, sks)Tabel Nilai (nim, kdmk, nilai) menggunakan super key/composite key
LRS yang terbentuk sbb:
nimnamaalamat
kdmknmmksks
nim (FK)kdmk (FK)nilai
Mahasiswa
Nilai
Mtkuliah
Participation ConstraintMenjelaskan apakah keberadaan suatu entity tergantungpada hubungannya dengan entity lain.
Terdapat dua macam participation constrain yaitu:
1. Total participation constrain yaitu:Keberadaan suatu entity tergantung pada hubungannya dengan entity lain. Didalam diagram ER digambarkandengan dua garis penghubung antar entity danrelationship.
2. Partial participation, yaituKeberadaan suatu entity tidak tergantung pada hubungan dengan entity lain. Didalam diagram ER digambarkan dengan satu garis penghubung.
Contoh :Contoh :
a. TOTAL PARTICIPATIONa. TOTAL PARTICIPATION
PEGAWAI PUNYA BAGIANN 1
PEGAWAI KERJA PROYEKN 1
b. PARTIAL PARTICIPATIONb. PARTIAL PARTICIPATION
INDICATOR TIPEIndicator tipe asosiatif object berfungsi sebagai suatu objek dan suatu relationship.
SISWA KURSUSMENDAFTAR
SISWA KURSUS
PENDAFTARAN
Berubah menjadi
Indicator tipe super tipe, terdiri dari suatu object dan satusubkategori atau lebih yang dihubungkan dengan saturelationship yang tidak bernama.
PEGAWAI
PEGAWAI HONORER
PEGAWAI TETAP
PEMBUATAN DIAGRAM ER
27
Pilihan Ketika Merancang ERD
28
• Proses pembuatan diagram ER merupakan proses yang
iteratif dengan proses refinement yang umum.
• Adakalanya suatu konsep awalnya dimodelkan sebagai atribut,
kemudian dijadikan sebagai relationship, karena atribut ini
merupakan referensi ke entity type lainnya.
• Kadang-kadang, satu atribut muncul pada beberapa entity type
dan kita pertimbangkan untuk lebih baik menjadi entity type
tersendiri.
• Contoh: pada basis data UNIVERSITY, semula entity
STUDENT, INSTRUCTOR & COURSE masing-masing memiliki atribut Department. Maka DEPARTMENT dapat dijadikan entity dengan DeptName sebagai atribut dan selanjutnyadihubungkan dengan ketiga entity tersebut. Atribut lain dapat dicari kemudian.
Pilihan Ketika Merancang ERD
29
• Dapat pula diterapkan refinement yang berkebalikan dari kasus sebelumnya.
• Jika DEPARTMENT ada sebagai entity pada awal perancangan
namun hanya memiliki 1 attribute, yakni STUDENT, maka
DEPARTMENT dapat dipindahkan sebagai attribute untuk entity
STUDENT.
• Refinement pada specialization, generalization & higher degree
relationship
Konvensi Penamaan
30
• Pilih nama (untuk entity types, attributes, relationship typ
es)
yang menggambarkan maknanya
• Gunakan nama tunggal untuk entity types
• Gunakan huruf kapital untuk nama entity type dan relatio
nship types
• Gunakan huruf kapital di awal kata untuk attributes
• Gunakan huruf kecil untuk nama role
• Nama entity type cenderung menggunakan kata benda
• Nama relationship types cenderung mengunakan kata ker
ja
Alat Bantu Pemodelan Data
31
• Terdapat beberapa alat bantu untuk pemodelan konseptual
dan pemetaan model ini ke skema relasional.
• Contoh: Ms. Visio, ER-Win, DBDesigner, S-Designer (Enterprise Application Suite), ER-Studio .
• Merupakan sarana membuat dokumentasi kebutuhan aplikasi
• Antar mukanya mudah digunakan
Kelemahan Notasi ER
32
Model ER tidak mendukungabstraksi-abstraksi yang berupa spesialisasi dan
generalisasiSolusi? Enhanced ER
33
Latihan – Soal 1
• Mahasiswa meminjam buku.
• Tentukan entity dari deskripsi ini.
34
Latihan – Soal 2
• Pada saat mendaftar menjadi anggota perpustakaan Fakultas, dicatatlah nama, nomor mahasiswa dan alamat mahasiswa.
Setelah itu mereka baru bisa meminjam buku di perpustakaan.
Buku-buku yang dimiliki perpustakaan banyaksekali jumlahny.Tiap buku memiliki data nomor buku, judul, pengarang,
penerbit, tahun terbit. Satu buku bisa ditulis oleh beberapa
pengarang.
• Tentukan entity, attribute dan relationship dari
deskripsi di atas.
Latihan – Soal 3
• Seperti deskripsi soal nomor 2, namun ada beberapa tambahan penjelasan berikut ini. Seorang mahasiswa boleh
meminjam beberapa buku. Satu buku boleh dipinjam bebe-rapa mahasiswa. Semua mahasiswa sangat perlu buku
sehingga tidak ada yang tidak pernah meminjam ke
perpustakaan. Ada buku yang sangat laris dipinjam
mahasisa, namun ada pula buku yang tidak pernah
dipinjam sama sekali. Satu buku dapat memiliki memiliki
beberapa copy, namun untuk copy yang sama memiliki
satu nomor buku. Setiap peminjaman akan dicatat tan
35
36
Latihan – Soal 4
Seperti soal nomor 3, namun ada beberapa
tambahan penjelasan berikut ini. Mahasiswa
kadang-kadang terlambat mengembalikan buku,
sehingga dikenakan denda. Besarnya denda
adalah Rp 500,- per hari keterlambatan.
Mahasiswa dianggap terlambat jika
mengembalikan buku lebih lama dari 1 minggu.
37
Latihan – Soal 5
Seperti soal nomor 4, namun ada beberapa tambahan penjelasan berikut ini. Fakultas memiliki3
jurusan, dan tiap jurusan memiliki perpustakaan.
Mahasiswa boleh meminjam dari perpustakaan
manapun di jurusan tersebut. Setiap perpustakaan memiliki banyak buku. Buku yang sama hanya ada di satu perpustakaan.
38
Latihan – Soal 6
Seperti soal nomor 5, namun ada beberapa tambahan
penjelasan berikut ini. Fakultas memiliki 3 jurusan, dan tiap
jurusan memiliki perpustakaan. Setiap mahasiswa baru otomatis langsung terdaftar di satu perpustakaan, namun merekaboleh
meminjam dari perpustakaan manapun di jurusan tersebut.
39
Jawab: Latihan 1
Entity: MAHASISWA dan BUKU
40
Jawab: Latihan 2
MAHASISWA BUKU
Alamat
No_MhsNama
No_BukuJudul
Pengarang Penerbit
MEMINJAM
41
Jawab: Latihan 3
MAHASISWA BUKU
Alamat
No_MhsNama
No_BukuJudul
Pengarang Penerbit
MEMINJAM
Jumlah
M N
Tgl Pinjam
42
Jawab: Latihan 4
MAHASISWA BUKU
Alamat
No_MhsNama
No_BukuJudul
Pengarang Penerbit
MEMINJAM
Jumlah
M N
Tgl Pinjam
Tgl Kembali
Denda
43
Jawab: Latihan 5
MAHASISWA BUKU
Alamat
No_MhsNama
No_BukuJudul
PengarangPenerbit
MEMINJAM
Jumlah
M N
Tgl Pinjam
Tgl Kembali
Denda
PERPUSTAKAAN
MILIKJurusan
44
Jawab: Latihan 6
MAHASISWA BUKU
Alamat
No_MhsNama
No_BukuJudul
PengarangPenerbit
MEMINJAM
Jumlah
M N
Tgl Pinjam
Tgl Kembali
Denda
PERPUSTAKAAN
MILIKJurusan
TERDAFTAR_DI1
N
1
N
45
Latihan – Soal 7For each airplane we keep track of its identity, number of seats, and type. Its type is defined by the name, the maximum number of seats, and thecompany that produces it. Specific airplane types can land at specificairports. For each airport we need to know the name, the city, the state,and the code of it. Each flight has information about the airline, thenumber and the weekdays it operates. It also has fares, with codenumber, amount, and restrictions. A flight has several flight legs (a flightleg is for example Aalborg-Copenhagen, and Copenhagen-New York,when you are flying from Aalborg to New York via Copenhagen), fromand to an airport, with scheduled departure and arrival time respectively.Each airplane is assigned to a leg instance, which is a particularoccurrence of a flight leg on a particular date, while a leg is a non-stopportion of a flight. Each leg instance arrives to and departs from airport atspecific arrival and departure times. Finally, for each leg instance we canmake reservations of seats, based on the customer name and customerphone number. Design an ER schema that accurately reflects therequirements.
46
Latihan – Soal 8 • Consider the following set of requirements for a university database that is
used to keep track of students' transcripts.(a) The university keeps track of each student's name, student number, social
security number, current address and phone, permanent address and phone,birth date, sex, class (Stage 1, Stage 2, ..., Stage 4), major department, minordepartment (if any), and degree program (B.A., B.Sc., ..., Ph.D.). Some userapplications need to refer to the city, state, and zip of the student's permanentaddress, and to the student's last name. Both social security number andstudent number have unique values for each student.
(b) Each department is described by a name, department code, office number,office phone, and college. Both name and code have unique values for eachdepartment.
(c) Each course has a course name, description, course number, number ofsemester hours, level, and offering department. The value of course number isunique for each course.
(d) Each section has an instructor, semester, year, course, and section number.The section number distinguishes different sections of the same course thatare taught during the same semester/year; its values are 1, 2, 3, ...; up to thenumber of sections taught during each semester.
(e) A grade report has a student, section, letter grade, and numeric grade (0, 1, 2,3, 4 for F, D, C, B, A, respectively).
Referensi
47
• Elmasri & Navathe, Fundamental of Database Systems,
5th Edition, Chapter 3, 2007.
• Elmasri & Navathe, Fundamental of Database Systems,
6th Edition, Chapter 7, 2011.
• Bahan Ajar mata kuliah Basis Data Gasal 2011/2012, Siti Aminah, Fasilkom UI.