ENTITY-RELATIONSHIP DIAGRAM (ERD) Budhi Irawan, S.Si, M.T Entity-Relationship Diagram (ERD) Merupakan diagram yang menggambarkan hubungan (relationship) antar entitas (entity). Symbol E-R Diagram Symbol Keterangan Symbol Keterangan = Entity = Atribut Komposit = Weak Entity = Relationship = Identifying Relationship = Atribut Derivatif E1 = Atribut E1 ______ = Atribut Kunci = Atribut Multivalue R 1 R E2 N E2 = Total Participation Of E2 In R = Cardinality Ratio 1:N For E1:E2 In R Tahap Pembuatan Entity Relationship Diagram 1. Mengidentifikasikan dan menetapkan seluruh himpunan entity yang akan terlibat. 2. Menentukan atribut-atribut dari setiap entity. 3. Menentukan atribut primary key dari setiap entity. Tahap Pembuatan Entity Relationship Diagram 4. Menentukan relationship antar entity. 5. Menentukan atribut-atribut dari setiap relationship (jika ada). 6. Menentukan Cardinality Rasio. 7. Menentukan Participation Constraint. Kamus Data Menjelaskan nama entity set beserta atribut-atributnya. Contoh : Untuk entity set mahasiswa dengan atribut nim, nama dan alamat. Maka kamus datanya berupa : mahasiswa = {nim, nama, alamat}. Kamus Data Keterangan : Mahasiswa adalah Nama Entity Set. NIM, Nama, Alamat adalah Nama Atribut. Contoh : ERD One to One nip nama_dosen Dosen kode_pro 1 Mengepalai 1 nama_pro Prodi Contoh : ERD One to Many nip nama_dosen Dosen kode_mk 1 Mengajar N nama_mk Matakuliah Contoh : ERD Many to Many nim nama_mhs Mahasiswa kode_mk M Mengambil N nama_mk Matakuliah Transformasi E-R Diagram ke Basis Data Relational Tahap-Tahap Transformasi : 1.Entity-Relationship Diagram menjadi Basis Data. 2.Entity menjadi Tabel dan Atribut menjadi kolom/field dari tabel. 3.Entitas lemah key dari “owner” (entitas kuat) ke tabel entitas lemah. 4.Setiap tipe entity dibuat suatu tabel yang memuat semua atribut simple, sedangkan untuk atribut komposit hanya dimuat komponen-komponennya saja. Transformasi E-R Diagram ke Basis Data Relational Contoh : city name id state street zip_code address customer Tabel Customer id name street city state zip_code Transformasi E-R Diagram ke Basis Data Relational (lanj) 5.Setiap tabel yang mempunyai atribut multivalue, buatlah tabel baru dimana primary key-nya merupakan gabungan dari primary key dari tabel tersebut dengan atribut multivalue. Transformasi E-R Diagram ke Basis Data Relational (lanj) Tabel Proyek nama_proyek no_proyek no_proyek nama_proyek lokasi i Tabel Lokasi_Proyek proyek no_proyek lokasi Transformasi E-R Diagram ke Basis Data Relational (lanj) 6.Setiap Unary Relationship 1:N, selain membuat tabel baru berdasarkan entity, buat juga tabel baru berdasarkan relationship-nya dengan atribut kunci tamu (foreign key) berdasarkan atribut kunci dari entity tersebut dan atribut kunci alternatif sebagai primary key-nya. Transformasi E-R Diagram ke Basis Data Relational (lanj) Tabel Employee employee_id employee_name employee_name N employee_id Tabel Supervision employee Supervision 1 supervisor_id employee_id Transformasi E-R Diagram ke Basis Data Relational (lanj) 7.Untuk CR 1:1 dengan atau tanpa total participation maka akan dibuat tabel baru berdasarkan relationship, dimana kolom-kolomnya terdiri dari alternate key, dan primary key dari masing-masing entity. Transformasi E-R Diagram ke Basis Data Relational (lanj) nip nama_dos Tabel Dosen nip Nama_dos Dosen 1 periode Tabel kaprodi Mengepalai periode kode_pro nip 1 Tabel Prodi Prodi kode_pro kode_pro nama_pro nama_pro Transformasi E-R Diagram ke Basis Data Relational (lanj) 8.Untuk CR 1:N dengan atau tanpa total participation maka primary key dari sisi 1 masuk ke sisi N. Transformasi E-R Diagram ke Basis Data Relational (lanj) nip nama_dos Tabel Dosen nip nama_dos Dosen 1 Perwalian Tabel Mahasiswa N Mahasiswa nim nama_mhs nim nama_mhs nip Transformasi E-R Diagram ke Basis Data Relational (lanj) 9.Untuk CR M:N dibuat tabel tersendiri berdasarkan relationship -nya dengan kolom-kolomnya terdiri dari alternate key dan primary key dari masing-masing entity. Transformasi E-R Diagram ke Basis Data Relational (lanj) nim nama_mhs Tabel Mahasiswa nim nama_mhs Mahasiswa N semester Tabel Perwalian semester nim kode_mk Mengambil M Matakuliah Tabel Matakuliah kode_mk nama_mk kode_mk nama_mk Studi Kasus : Rental VCD FILM Spesifikasi Database 1. Data dari film berupa : judul, jumlah kepingan, jumlah film. 2. Film yang disewakan dikelompokkan ke dalam kelompok film yang terdiri dari jenis film dengan masing-masing jenis memiliki harga sewa yang berbeda, artinya jenis film menentukan harga sewanya. 3. Data customer yang menyewa berupa : no identitas, jenis identitas, nama dan alamat. Studi Kasus : Rental VCD FILM 4. Setiap customer dapat menyewa lebih dari satu film. 5. Satu judul film dapat disewa oleh beberapa customer. 6. lama sewa sesuai dengan jumlah film, terhitung dari tgl menyewa. 7. Setiap keterlambatan pengembalian akan dikenakan denda per hari dan per film. nilai dari denda sudah ditetapkan (konstan). Tahap Pembuatan Entity Relationship Diagram 1. Mengidentifikasikan entity-entity yang ada. entity-entity : KelompokFilm, Film, Customer. 2. Menentukan atribut-atribut dari setiap entity. Entity Film Atribut judul, jml_keping, jml_film KelompokFilm jenis, harga_sewa Customer no_identitas, jenis_identitas, nama, alamat Tahap Pembuatan Entity Relationship Diagram 3. Menentukan primary key dari setiap entity. Entity Film Atribut kode_film, judul, jml_keping, jml_film KelompokFilm jenis, harga_sewa Customer no_identitas, jenis_identitas, nama, alamat Tahap Pembuatan Entity Relationship Diagram (lanj) 4.Menentukan relationship antar entity. Entity Film Customer Relationship Entity Dikelompokkan KelompokFilm Menyewa Film Tahap Pembuatan Entity Relationship Diagram (lanj) 5. Menentukan atribut-atribut dari setiap relationship (jika ada). Relationship Atribut dikelompokkan Menyewa tgl_sewa, total_film, tgl_kembali, total_harga, denda Tahap Pembuatan Entity Relationship Diagram (lanj) 6.Menentukan Cardinality Rasio. Entity Film Customer Relationship Entity dikelompokkan KelompokFilm Menyewa Film Cardinality Rasio N:1 N:M Tahap Pembuatan Entity Relationship Diagram (lanj) 7. Menentukan participation constraint. a) Setiap film harus merupakan anggota dari suatu jenis film, sehingga film memiliki total participation terhadap relationshipnya dengan entity kelompok film. b) Setip customer tidak harus selalu menyewa film dan setiap film tidak harus disewa oleh customer. Sehingga entity-entity ini memiliki partial participation relationship antar keduanya. Entity Relationship Diagram Rental VCD FILM judul jenis harga_sewa kode_film jml_keping Dikelompokkan Kelompokfilm 1 Film N jml_film N jenis_identitas no_identitas Customer nama M alamat tgl_sewa total_film total_harga Menyewa tgl_kembali denda