ENTITY RELATIONSHIP
PENGERTIAN
Entity relationship Adalah jaringan yang menggunakan susunan data yang disimpan dari sistem secara abstrak. Entity-relationship dari model terdiri dari unsur-unsur
SIMBOL-SIMBOL ER-DIAGRAM
• ENTITY • WEAK ENTITY • RELATIONSHIP • IDENTIFYING R ELATIONSHIP • ATRIBUT DERIV ATIF Notasi Arti • ATRIBUT • ATRIBUT PRIMARY KEY • ATRIBUT MULTI VALUE • ATRIBUT COMPOSITE Notasi ArtiKOMPONEN ENTITY RELATIONSHIP
1. Entitas yaitu suatu kumpulan object atau sesuatu
yang dapat dibedakan atau dapat diidentifikasikan
secara unik. Dan kumpulan entitas yang sejenis disebut dengan entity set.
2. Relationship yaitu hubungan yang terjadi antara satu entitas atau lebih.
3. Atribut, kumpulan elemen data yang membentuk
suatu entitas.
4. Indicator tipe terbagi 2 yaitu : a. Indicator tipe asosiatif object b. 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-atribute a1, a2,..,an, maka entity set tersebut direpresentasikan da lam bentuk tabel E yang terdiri dari n kolom, dimana setia p kolom berkaitan dengan atribute-atributenya.
2. Weak Entity set, Entity set yang bergantung terhadap strong entity set.
Misal :
A adalah weak entity set dari atribute-atribute a1, a2, .., ar dan B adalah strong entity set dengan atribute-atribute b1, b2,..,bs, dimana b1 adalah atribute primary key, maka we ak entity set direpresentasikan berupa table A, dengan atri bute-atribute {b1} u {a1,a2,.., ar}
NOPEG
PEGAWAI MILIK TANGGUNGAN
…….. NAMA ……..
Contoh Weak Entity
NOPEG NAMA 200107340 200307569 200107341 200107486 BILLY FUAD NINING FINTRI
NOPEG TANGGUNGAN TANGGAL
LAHIR JENIS KELAMIN 200107340 200307569 200107341 200107486 HAFIDZ RENI RAFFA NAIA 22-03-2006 13-05-1999 21-06-2006 25-10-2006 LAKI-LAKI PEREMPUAN LAKI-LAKI PEREMPUAN
Contoh : Strong entity set
JENIS –JENIS ATRIBUT
a. KEY atribut yang digunakan untuk menentukan suatu entity secara unik
b. ATRIBUT SIMPLE atribut yang bernilai tunggal
c. ATRIBUT MULTI VALUE atribut yang memiliki sekelompok nilai untuk setiap instan entity
Pada 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
NAMA DEPAN NAMA TENGAH NAMA BLKNG NAMA PEGAWAI
d. ATRIBUT COMPOSIT Suatu atribut yang terdiri dari beberapa atribut yang lebih kecil yang mempunyai arti tertentu contohnya adalah atribut nama pegawai yang terdiri dari 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
DERAJAT RELATIONSHIP
menjelaskan jumlah entity yang berpartisipasi dalam suatu relationship
1. UNARY DEGREE
2. BINARY DEGREE
3. TERNARY DEGREE
PEGAWAI LAPOR
PEGAWAI KERJA DEPARTEMEN
PEGAWAI KERJA PROYEK
MAPPING CARDINALITY
Banyaknya 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 SET
Entity set direpresentasikan dalam bentuk tabel dan nama yang unique. Setiap tabel terdiri dari sejumlah kolom, dimana masing-masing kolom diberi nama ya ng unique pula
• CARDINALITY RATIO CONSTRAINT,
Menjelaskan batasan jml keterhubungan satu entity d gn
entity lainnya
Jenis 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 KENDARAAN
PROYEK KERJA P1. P2. P3. PEGAWAI R1. R2. R3. R4. KERJA P1. P2. P3. M : N PEGAWAI PROYEK M N DEPARTEMEN P1. P2. P3. P4. PEGAWAI R1. R2. R3. R4. KERJA D1. D2. D3. 1:N/ N:1
PEGAWAI KERJA DEPARTEMEN
Cardinality 1:1,1:M,M:N
ONEONE--TOTO--ONE: ONE:
Husband Wife
ONE
ONE--TOTO--MANY:MANY: Customer
Order 1 Order 2 Order 3 MANY
MANY--TOTO--MANY:MANY:
STUDENT A STUDENT B STUDENT C CLASS 1 CLASS 2
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 f z 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 f o 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 f o 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 f z 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-tabel yang terbentuk dari hasil relasi antar himpunan entitas.
Menentukan Kardinalitas, Jumlah Tabel dan Foreign Key (FK)
One to One (1-1)
Supir kemudi Taksi
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)
LRS yang terbentuk sbb: nosupir nama alamat notaksi nopol merk tipe nosupir(FK) atau notaksi nopol merk tipe nosupir nama alamat Notaksi(FK)
One to Many (1-M)
Dosen Kelas
bimbing
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)
LRS yang terbentuk sbb: nip nama alamat kelas jurusan semester jmlmhs nip (FK)
Many to Many (M-M)
Mahasiswa Mtkuliah
ajar
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: nim nama alamat kdmk nmmk sks nim (FK) kdmk (FK) nilai Mahasiswa Nilai Mtkuliah
Participation Constraint
Menjelaskan apakah keberadaan suatu entity tergantu ng
pada hubungannya dengan entity lain.
Terdapat dua macam participation constrain yaitu: 1. Total participation constrain yaitu
:
Keberadaan suatu entity tergantung pada hubungan nya dengan entity lain. Didalam diagram ER digamb arkan
dengan dua garis penghubung antar entity dan relationship.
2. Partial participation, yaitu
Keberadaan suatu entity tidak tergantung pada hub ungan dengan entity lain. Didalam diagram ER diga mbarkan dengan satu garis penghubung.
Contoh : Contoh :
a. TOTAL PARTICIPATION a. TOTAL PARTICIPATION
PEGAWAI PUNYA BAGIAN
N 1 PEGAWAI KERJA PROYEK N 1 b. PARTIAL PARTICIPATION b. PARTIAL PARTICIPATION
INDICATOR TIPE
Indicator tipe asosiatif object berfungsi sebagai suatu objek dan suatu relationship.
SISWA MENDAFTAR KURSUS
SISWA KURSUS
PENDAFTARA N
Indicator tipe super tipe, terdiri dari suatu object dan satu subkategori atau lebih yang dihubungkan dengan satu relationship yang tidak bernama.
PEGAWAI
PEGAWAI HONORER
PEGAWAI TETAP
PEMBUATAN DIAGRAM ER
Pilihan Ketika Merancang ERD
28
• Proses pembuatan diagram ER merupakan proses yang iteratif dengan proses refinement yang umum.
• Adakalanya suatu konsep awalnya dimodelkan sebagai atrib ut,
kemudian dijadikan sebagai relationship, karena atribut ini merupakan referensi ke entity type lainnya.
• Kadang-kadang, satu atribut muncul pada beberapa entity t ype
dan kita pertimbangkan untuk lebih baik menjadi entity type tersendiri.
• Contoh: pada basis data UNIVERSITY, semula entity
STUDENT, INSTRUCTOR & COURSE masing-masing memi liki atribut Department. Maka DEPARTMENT dapat dijadika n entity dengan DeptName sebagai atribut dan selanjutnya dihubungkan dengan ketiga entity tersebut. Atribut lain dap at dicari kemudian.
Pilihan Ketika Merancang ERD
29
• Dapat pula diterapkan refinement yang berkebalikan dari ka sus sebelumnya.
• Jika DEPARTMENT ada sebagai entity pada awal perancangan namun hanya memiliki 1 attribute, yakni STUDENT, maka
DEPARTMENT dapat dipindahkan sebagai attribute untuk entit y
STUDENT.
• Refinement pada specialization, generalization & higher deg ree
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 konseptu al
dan pemetaan model ini ke skema relasional.
• Contoh: Ms. Visio, ER-Win, DBDesigner, S-Designer (Enter prise Application Suite), ER-Studio .
• Merupakan sarana membuat dokumentasi kebutuhan aplikas i
Kelemahan Notasi ER
32
Model ER tidak mendukung
abstraksi-abstraksi yang
berupa spesialisasi dan
generalisasi
33
Latihan – Soal 1
• Mahasiswa meminjam buku.
34
Latihan – Soal 2
• Pada saat mendaftar menjadi anggota perpustakaan Fakul tas, dicatatlah nama, nomor mahasiswa dan alamat mahasi swa.
Setelah itu mereka baru bisa meminjam buku di perpustak aan.
Buku-buku yang dimiliki perpustakaan banyaksekali jumla hny.Tiap buku memiliki data nomor buku, judul, pengaran g,
penerbit, tahun terbit. Satu buku bisa ditulis oleh beberap a
pengarang.
• Tentukan entity, attribute dan relationship dari deskripsi di atas.
Latihan – Soal 3
• Seperti deskripsi soal nomor 2, namun ada beberapa t ambahan penjelasan berikut ini. Seorang mahasiswa b oleh
meminjam beberapa buku. Satu buku boleh dipinjam b ebe-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 memili ki
beberapa copy, namun untuk copy yang sama memilik i
satu nomor buku. Setiap peminjaman akan dicatat tan
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
37
Latihan – Soal 5
Seperti soal nomor 4, namun ada beberapa tam
bahan penjelasan berikut ini. Fakultas memiliki
3
jurusan, dan tiap jurusan memiliki perpustakaa
n.
Mahasiswa boleh meminjam dari perpustakaan
manapun di jurusan tersebut. Setiap perpustak
aan memiliki banyak buku. Buku yang sama ha
nya 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 otom atis langsung terdaftar di satu perpustakaan, namun mereka boleh
39
Jawab: Latihan 1
40
Jawab: Latihan 2
MAHASISWA BUKU Alamat No_Mhs Nama No_Buku Judul Pengarang Penerbit MEMINJAM41
Jawab: Latihan 3
MAHASISWA BUKU Alamat No_Mhs Nama No_Buku Judul Pengarang Penerbit MEMINJAM Jumlah M N Tgl Pinjam42
Jawab: Latihan 4
MAHASISWA BUKU Alamat No_Mhs Nama No_Buku Judul Pengarang Penerbit MEMINJAM Jumlah M N Tgl Pinjam Tgl Kembali Denda43
Jawab: Latihan 5
MAHASISWA BUKU Alamat No_Mhs Nama No_Buku Judul Pengarang Penerbit MEMINJAM Jumlah M N Tgl Pinjam Tgl Kembali Denda PERPUSTAKAAN MILIK Jurusan44
Jawab: Latihan 6
MAHASISWA BUKU Alamat No_Mhs Nama No_Buku Judul Pengarang Penerbit MEMINJAM Jumlah M N Tgl Pinjam Tgl Kembali Denda PERPUSTAKAAN MILIK Jurusan TERDAFTAR_DI 1 N 1 N45
Latihan – Soal 7
For 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 the company that produces it. Specific airplane types can land at specific
airports. 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, the
number and the weekdays it operates. It also has fares, with code
number, amount, and restrictions. A flight has several flight legs (a flight leg is for example Aalborg-Copenhagen, and Copenhagen-New York, when you are flying from Aalborg to New York via Copenhagen), from and to an airport, with scheduled departure and arrival time respectively. Each airplane is assigned to a leg instance, which is a particular
occurrence of a flight leg on a particular date, while a leg is a non-stop portion of a flight. Each leg instance arrives to and departs from airport at specific arrival and departure times. Finally, for each leg instance we can make reservations of seats, based on the customer name and customer phone number. Design an ER schema that accurately reflects the
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, minor department (if any), and degree program (B.A., B.Sc., ..., Ph.D.). Some user applications need to refer to the city, state, and zip of the student's permanent address, and to the student's last name. Both social security number and
student 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 each department.
(c) Each course has a course name, description, course number, number of
semester hours, level, and offering department. The value of course number is unique 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 that are taught during the same semester/year; its values are 1, 2, 3, ...; up to the number 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.