ENTITY RELATIONSHIP MODEL
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 entity dan relationship antara entity-entitiy tersebut.
SIMBOL-SIMBOL ER-DIAGRAM Notasi Arti Notasi Arti ENTITY ATRIBUT WEAK ENTITY ATRIBUT PRIMARY KEY RELATIONSHIP IDENTIFYING R ELATIONSHIP ATRIBUT DERIV ATIF ATRIBUT MULTI VALUE ATRIBUT COMPOSITE
KOMPONEN 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}
Contoh Weak Entity NOPEG.. NAMA.. PEGAWAI MILIK TANGGUNGAN Contoh Strong Entity
Contoh : Strong entity set NOPEG 200107340 200307569 200107341 200107486 NAMA BILLY FUAD NINING FINTRI Weak entity set transaction 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
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 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. NAMA DEPAN NAMA TENGAH NAMA BLKNG NAMA PEGAWAI
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 RELATIONSHIP menjelaskan jumlah entity yang berpartisipasi dalam suatu relationship 1. UNARY DEGREE PEGAWAI LAPOR 2. BINARY DEGREE PEGAWAI KERJA DEPARTEMEN 3. TERNARY DEGREE PEGAWAI KERJA PROYEK KOTA
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 PEGAWAI MILIK KENDARAAN 1 : 1 P1. P2. P3. R1. R2. R3. K1. K2. K3. PEGAWAI MILIK KENDARAAN 1 1
PEGAWAI KERJA DEPARTEMEN 1:N/ N:1 P1. P2. P3. P4. R1. R2. R3. R4. D1. D2. D3. PEGAWAI KERJA DEPARTEMEN 1 1 PEGAWAI KERJA PROYEK M : N P1. P2. P3. R1. R2. R3. R4. P1. P2. P3. PEGAWAI M KERJA N PROYEK
Cardinality 1:1,1:M,M:N ONE-TO-ONE: ONE: Husband Wife ONE-TO-MANY: Customer Order 1 Order 2 Order 3 MANY-TO-MANY: CLASS 1 CLASS 2 STUDENT A STUDENT B STUDENT C
ORDER CAN HAVE PART CAN HAVE 1 M M 1 ORDER: #, DATE, PART #, QUANTITY PART: #, DESCRIPTION, UNIT PRICE, SUPPLIER # SUPPLIER: #, NAME, ADDRESS SUPPLIER 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) Tabel Taksi (notaksi, nopol, merk, tipe)
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 bimbing Kelas 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: nip nama alamat kelas jurusan semester jmlmhs nip (FK)
Many to Many (M-M) Mahasiswa ajar Mtkuliah 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: Mahasiswa nim nama alamat Nilai nim (FK) kdmk (FK) nilai Mtkuliah kdmk nmmk sks
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 : a. TOTAL PARTICIPATION PEGAWAI PUNYA BAGIAN N 1 b. PARTIAL PARTICIPATION PEGAWAI KERJA N 1 PROYEK
INDICATOR TIPE Indicator tipe asosiatif object berfungsi sebagai suatu objek dan suatu relationship. SISWA MENDAFTA R KURSUS Berubah menjadi 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 27
Pilihan Ketika Merancang ERD 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 28 dihubungkan dengan ketiga entity tersebut. Atribut lain dap at dicari kemudian.
Pilihan Ketika Merancang ERD 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 relationship 29
Konvensi Penamaan 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 30
Alat Bantu Pemodelan Data 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 Antar mukanya mudah digunakan 31
Kelemahan Notasi ER Model ER tidak mendukung abstraksi-abstraksi yang berupa spesialisasi dan generalisasi Solusi? Enhanced ER 32
Latihan Soal 1 Mahasiswa meminjam buku. Tentukan entity dari deskripsi ini. 33
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. 34
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 35 i satu nomor buku. Setiap peminjaman akan dicatat tan
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. 36
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. 37
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 meminjam dari perpustakaan manapun di jurusan tersebut. 38
Jawab: Latihan 1 Entity: MAHASISWA dan BUKU 39
Jawab: Latihan 2 No_Mhs Nama No_Buku Judul MAHASISWA MEMINJAM BUKU Alamat Pengarang Penerbit 40
Jawab: Latihan 3 No_Mhs Nama Jumlah No_Buku Judul MAHASISWA M MEMINJAM N BUKU Alamat Tgl Pinjam Pengarang Penerbit 41
Jawab: Latihan 4 No_Mhs Nama Denda Jumlah No_Buku Judul MAHASISWA M MEMINJAM N BUKU Alamat Tgl Pinjam Pengarang Penerbit Tgl Kembali 42
Jawab: Latihan 5 No_Mhs Nama Denda Jumlah No_Buku Judul MAHASISWA M MEMINJAM N BUKU Alamat Tgl Pinjam Pengarang Penerbit Tgl Kembali MILIK Jurusan PERPUSTAKAAN 43
Jawab: Latihan 6 No_Mhs Nama Denda Jumlah No_Buku Judul MAHASISWA M MEMINJAM N BUKU Alamat N TERDAFTAR_DI Tgl Pinjam Tgl Kembali 1 Pengarang Penerbit N MILIK Jurusan 1 PERPUSTAKAAN 44
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 requirements. 45
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). 46
Referensi Elmasri & Navathe, Fundamental of Database Systems, 5 th Edition, Chapter 3, 2007. Elmasri & Navathe, Fundamental of Database Systems, 6 th Edition, Chapter 7, 2011. Bahan Ajar mata kuliah Basis Data Gasal 2011/2012, Siti Aminah, Fasilkom UI. 47