410 likes | 718 Views
ENTITY-RELATIONSHIP MODEL. ENTITY-RELATIONSHIP MODEL. E-R Models are Conceptual Models of the database. They can not be directly implemented in a database. Desainnya mendekati pengamatan/penerimaan user terhadap data.
E N D
ENTITY-RELATIONSHIP MODEL • E-R Models are Conceptual Models of the database. They can not be directly implemented in a database. • Desainnya mendekati pengamatan/penerimaan user terhadap data. • Didasarkan atas OBJECT riil dunia nyata dan hubungan antar object-object tersebut. • Entity-Relationship model terdiri dari Entity, Relationship, dan Attribute.
ENTITY • Entity adalah obyek yang dapat dibedakan dalam dunia nyata. • Entity sets adalah kumpulan dari entity yang sejenis. • Entity sets dapat berupa : • Obyek secara fisik : Rumah, Kendaraan, Peralatan, Mahasiswa. • Oyek secara konsep : Pekerjaan, Perusahaan, Rencana, Matakuliah. • Simbol : persegi panjang nama_entity
ATRIBUTE • Atribut adalah karakteristik dari entity atau relationship yang menyediakan detail tentang entity atau relationship tersebut sehingga dapat dibedakan. Nilainya jarang berubah. • Atribut dari entity mahasiswa : nim nama jurusan alamat
VALUE SET (Domain) dari Atribut : • Kumpulan harga/nilai yang dapatdimilikiolehatributdarisuatuentitas. • Definisi domain darisuatuatributakanmencakup : tipe data, panjang, format, nilai yang memungkinkan, keunikandankemungkinan data null. • Contoh : • Atributnamapadaentitasmahasiswadomainnyanamaorang • Atributnamapadaentitasbarangdomainnyanamabarang
Macam-Macam Atribut • Atribut sederhana/atomik : atribut yang tidak dapat dibagi-bagi menjadi atribut yang lebih mendasar. Contoh : atribut harga dari entity barang. • Atribut komposit : atribut yang terdiri dari beberapa atribut yang lebih mendasar. Contoh : Entity mahasiswa memiliki atribut nama yang terdiri dari nama depan (first name), nama tengah (middle name) dan nama belakang (last name).
Macam-Macam Atribut (lanj) • Atribut Berharga Tunggal (Single-valued Attribute) : atribut yang hanya mempunyai satu harga untuk suatu entitas tertentu. Contoh : atribut umur. • Atribut Berharga Banyak (Multi-valued Attribute) : atribut yang dapat terdiri dari sekumpulan harga untuk suatu entitas tertentu. Contoh : atribut hobi. • Atribut Derivatif : suatu atribut yang dihasilkan dari atribut lain. Contoh : atribut umur yang dapat dihasilkan dari atribut tgl_lahir.
Atribut Kunci • identifier unik dari suatu entitas karena nilai dari atribut kunci ini akan berbeda untuk masing-masing entitas – biasa disebut primarykey. • dapat terdiri dari atribut sederhana/ komposit • Contoh : • NomorMobil dari entitas MOBIL komposit • kodemk dari entitas matakuliah sederhana
Atribut Kunci (lanj) • ForeignKey(kunci tamu) : suatu atribut dalam suatu entity yang menunjuk ke atribut primarykey dari entity lain. • AlternateKey(kunci alternatif) : atribut kunci yang tidak ada di dunia nyata, tetapi diadakan dan dijadikan primarykey karena tidak ada satu pun atribut dalam sebuah entity yang dapat mewakili entity tersebut.
nama_atribut bernilai ganda Simbol-Simbol Atribut (oval) nama_atribut nama_atribut nama_atribut nama_atribut_kunci nama_atribut_komposit nama_atribut nama_atribut_derivatif nama_entity
work_on employee company RELATIONSHIP • Relationship adalah hubungan yang terjadi antara satu atau lebih entity. • Relationshipsets adalah kumpulan dari relationship yang sejenis. • Contoh : an employee work_on a company. relationship : work_on. • Simbol : wajik
employee supervisor supervise Supervision Derajat dari Relationship • Menjelaskan jumlah entity yang berpartisipasi dalam suatu relationship • Unary Degree (Derajat Satu) : sebuah entity berelasi dengan dirinya.
work_on employee company Derajat dari Relationship (lanj) • Binary Degree (Derajat Dua) : terdapat dua entity yang saling berhubungan.
title level job employee_name Branch_city employee_id branch_name work_on employee branch Derajat dari Relationship (lanj) • Ternary Degree (Derajat Tiga) : terdapat tiga entity yang saling berhubungan.
manager manages department manages M1 M2 M3 R1 R2 R3 D1 D2 D3 manager departement 1 1 Cardinality Ratio • Menjelaskan jumlah keterhubungan satu entity dengan entity yang lainnya. • (1 : 1) : satu entitas pada tipe entitas A berhubungan dengan paling banyak satu entitas pada tipe entitas B dan juga sebaliknya. Contoh : seorang manager mengelola satu departemen dan begitu sebaliknya.
employee works_for department works_for E1 E2 E3 E4 E5 E6 R1 R2 R3 R4 R5 R6 D1 D2 D3 employee department N 1 Cardinality Ratio (lanj) • (1 : N / N : 1) : suatu entitas di A dihubungkan dengan sejumlah entitas di B. Contoh : banyak karyawan berkerja untuk satu departemen atau satu departemen memiliki banyak karyawan yang bekerja untuknya.
employee works_on project works_on E1 E2 E3 E4 R1 R2 R3 R4 R5 R6 P1 P2 P3 employee project M N Cardinality Ratio (lanj) • (M : N) : setiap entitas A dapat berhubungan dengan banyak entitas B dan sebaliknya setiap entitas B juga dapat berhubungan dengan banyak entitas A. Contoh : satu proyek mempunyai banyak karyawan, satu karyawan boleh bekerja di beberapa proyek.
manages 1 1 employee departement Participation Constraint • Menjelaskan batasan keikutsertaan dari suatu entity terhadap hubungannya dengan entity yang lainnya. • Total Participation : menyatakan instance dari suatu entity harus berhubungan dengan instance dari entity lainnya. • Partial Participation : menyatakan setiap instance dari suatu entity tidak harus berhubungan dengan instance dari entity lainnya. • Contoh : setiap departemen harus dipimpin oleh seorang manager/karyawan (total participation) dan tidak semua karyawan yang memimpin suatu departemen (partial participation).
Weak Entity (Entitas Lemah) • Weak entity adalah suatu entity yang mana keberadaannya tergantung dari keberadaan entity lain. • Entity yang merupakan induknya disebut Identifying Owner dan relationshipnya disebut Identifying Relationship. • Weak entity selalu mempunyai total participation constraint terhadap Identifying Owner. Contoh : entity tanggungan keberadaannya bergantung pada karyawan.
nip ………… nama ………… memiliki karyawan tanggungan Weak Entity (lanj)
Entity-Relationship Diagram (ERD) • Merupakan diagram yang menggambarkan hubungan (relationship) antar entitas (entity).
Symbol Keterangan Symbol Keterangan = Entity = Atribut Komposit = Weak Entity = Relationship = Atribut Derivatif R = Identifying Relationship = Total Participation Of E2 In R E1 E2 = Atribut R 1 N = Cardinality Ratio 1:N For E1:E2 In R E1 E2 ______ = Atribut Kunci = Atribut Multivalue Symbol E-R Diagram
Tahap Pembuatan Entity Relationship Diagram • Mengidentifikasikan dan menetapkan seluruh himpunan entity yang akan terlibat. • Menentukan atribut-atribut dari setiap entity. • Menentukan atribut primary key dari setiap entity. • Menentukan relationship antar entity. • Menentukan atribut-atribut dari setiap relationship (jika ada). • Menentukan Cardinality Rasio. • 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}. Ket : mahasiswa adalah nama entity set. nim, nama, alamat adalah nama atribut.
nip nama_dosen kode_jur nama_jur Mengepalai 1 1 Dosen Jurusan Contoh : ERD One to One
nip nama_dosen kode_mk nama_mk Mengajar 1 N Dosen Matakuliah Contoh : ERD One to Many
nim nama_mhs kode_mk nama_mk mengambil M N Mahasiswa Matakuliah Contoh : ERD Many to Many
city state street zip_code name id address customer Transformasi E-R Diagram ke Basis Data Relational Tahap-Tahap Transformasi : • Entity-Relationship Diagram menjadi basis data. • Entity menjadi tabel dan atribut menjadi kolom/field dari tabel. • Entitas lemah key dari “owner” (entitas kuat) ke tabel entitas lemah. • Setiap tipe entity dibuat suatu tabel yang memuat semua atribut simple, sedangkan untuk atribut komposit hanya dimuat komponen-komponennya saja. Contoh : Tabel Customer
nama_proyek no_proyek Lokasi i proyek Transformasi E-R Diagram ke Basis Data Relational (lanj) • Setiap tabel yang mempunyai atribut multivalue, buatlah tabel baru dimana primary key-nya merupakan gabungan dari primary key dari tabel tersebut dengan atribut multivalue. Tabel Proyek Tabel Lokasi_Proyek
employee_name employee_id N supervision employee 1 Transformasi E-R Diagram ke Basis Data Relational (lanj) • 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. Tabel Employee Tabel Supervision
nip nama_dos Dosen 1 periode mengepalai 1 Jurusan kode_jur nama_jur Transformasi E-R Diagram ke Basis Data Relational (lanj) • 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. Tabel Dosen Tabel kaprodi Tabel Jurusan
nip nama_dos Dosen 1 perwalian N mahasiswa nim nama_mhs Transformasi E-R Diagram ke Basis Data Relational (lanj) • Untuk CR (Cardinality Ratio) 1:N dengan atau tanpa total participation maka primary key dari sisi 1 masuk ke sisi N. Tabel Dosen Tabel Mahasiswa
N mengambil M matakuliah kode_mk nama_mk nim nama_mhs mahasiswa Transformasi E-R Diagram ke Basis Data Relational (lanj) • Untuk CR M:N dibuat tabel tersendiri berdasarkan relationshipnya dengan kolom-kolomnya terdiri dari alternate key dan primary key dari masing-masing entity. Tabel Mahasiswa Tabel KRS semester Tabel Matakuliah
Studi Kasus :Rental VCD FILM • Spesifikasi Database • Data dari film berupa : judul, jumlah kepingan, jumlah film. • 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. • Data customer yang menyewa berupa : no identitas, jenis identitas, nama dan alamat. • Setiap customer dapat menyewa lebih dari satu film. • Satu judul film dapat disewa oleh beberapa customer. • lama sewa sesuai dengan jumlah film, terhitung dari tgl menyewa. • Setiap keterlambatan pengembalian akan dikenakan denda per hari dan per film. nilai dari denda sudah ditetapkan (konstan).
Tahap Pembuatan Entity Relationship Diagram • Mengidentifikasikan entity-entity yang ada. entity-entity : KelompokFilm, Film, Customer. • Menentukan atribut-atribut dari setiap entity. • Menentukan primary key dari setiap entity.
Tahap Pembuatan Entity Relationship Diagram (lanj) • Menentukan relationship antar entity. • Menentukan atribut-atribut dari setiap relationship (jika ada).
Tahap Pembuatan Entity Relationship Diagram (lanj) • Menentukan Cardinality Rasio. • Menentukan participation constraint. • Setiap film harus merupakan anggota dari suatu jenis film, sehingga film memiliki total participation terhadap relationshipnya dengan entity kelompok film. • 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.
judul dikelompokkan kode_film jml_keping harga_sewa jenis jml_film Film N kelompokfilm 1 N tgl_sewa total_film jenis_identitas no_identitas menyewa total_harga M Customer denda tgl_kembali nama alamat Entity Relationship Diagram Rental VCD FILM
Latihan Transformasi ke Basis Data Relasional Latihan Sebuah perpustakaan kampus sederhana memiliki aturan-aturan sebagai berikut : 1. Sebuah perpustakaan memiliki Buku yang dapat dipinjam oleh Anggota perpustakaan. 2. Anggota dapat meminjam Buku pada perpustakaan lebih dari satu buku dalam sekali peminjaman. 3. Pada Buku yang harus di catat adalah NoBuku, Judul, Pengarang, Penerbit, Tahun Terbit, Jenis Buku (Majalah, Kumpulan Artikel, Novel, Komik, Buletin, dsb), Status (sedang dipinjam, ada diperpustakaan) 4. Pada Anggota yang harus dicatat adalah Nomor Anggota, Nama, Alamat, Kota, No Telepon, Tanggal Lahir, Jurusan. 5. Pada setiap terjadi Transaksi Peminjaman maka dicatat Tanggal Pinjam dan Tanggal Kembali.
Latihan Transformasi ke Basis Data Relasional TugasAndaadalah: 1.Buatlah ER diagram untuksistem database perpustakaantersebut. 2.Tentukan bentukrelasinya. 3.Tranformasikan ERD tersebutke basis data relasional 4. BuatlahTabelnormalisasi 1NF,2NF,3NF. 5. Dikumpulkandalambentuk file atau Hard copy. Untuk file, email keswadharmapti@gmail.comditutupjam 12 Malam. Jika Hard Copy padasaat UAS.