If you can't read please download the document
Upload
henrie-ika
View
176
Download
6
Tags:
Embed Size (px)
Citation preview
Slamet SN
ENTITYENTITY-RELATIONSHIP MODEL (ERD)
ENTITYENTITY-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. objectEntityEntity-Relationship model terdiri dari Entity, Entity, Relationship, Relationship, dan Attribute. 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 panjangnama_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 dapat dimiliki oleh atribut dari suatu entitas. Definisi domain dari suatu atribut akan mencakup : tipe data, panjang, format, nilai yang memingkinkan, keunikan dan kemungkinan data null. Contoh : Atribut nama pada entitas mahasiswa domainnya nama orang Atribut nama pada entitas barang domainnya nama barang
MacamMacam-Macam Atribut
Atribut sederhana/atomik : atribut yang tidak dapat dibagi-bagi menjadi atribut yang dibagilebih 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 (first name), name), nama tengah (middle name) dan (middle name) nama belakang (last name). (last name)
MacamMacam-Macam Atribut (lanj)
Atribut Berharga Tunggal (Single-valued Attribute) : (Singleatribut yang hanya mempunyai satu harga untuk suatu entitas tertentu. Contoh : atribut umur. Atribut Berharga Banyak (Multi-valued Attribute) : (Multiatribut 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 masingmasing-masing entitas biasa disebut primary key. dapat terdiri dari atribut sederhana/ komposit Contoh : NomorMobil dari entitas MOBIL komposit kodemk dari entitas matakuliah sederhana
Atribut Kunci (lanj)
Foreign Key (kunci tamu) : suatu atribut dalam suatu entity yang menunjuk ke atribut primary key dari entity lain. Alternate Key (kunci alternatif) : atribut kunci yang tidak ada di dunia nyata, tetapi diadakan dan dijadikan primary key karena tidak ada satu pun atribut dalam sebuah entity yang dapat mewakili entity tersebut.
SimbolSimbol-Simbol Atribut (oval)nama_atribut nama_atribut nama_atribut
nama_atribut_kunci
nama_atribut_komposit
nama_atribut bernilai ganda
nama_atribut
nama_atribut_derivatif
nama_entity
RELATIONSHIP
Relationship adalah hubungan yang terjadi antara satu atau lebih entity. Relationship sets adalah kumpulan dari relationship yang sejenis. Contoh : an employee work_on a company. relationship : work_on. work_on. Simbol : wajik
employee
work_on
company
Derajat dari Relationship
Menjelaskan jumlah entity yang berpartisipasi dalam suatu relationship Unary Degree (Derajat Satu) : sebuah entity berelasi dengan dirinya.employee
supervisor supervison
supervise
Derajat dari Relationship (lanj)
Binary Degree (Derajat Dua) : terdapat dua entity yang saling berhubungan.
employee
work_on
company
Derajat dari Relationship (lanj)
Ternary Degree (Derajat Tiga) : terdapat tiga entity yang saling berhubungan.title level
jobemployee_name employee_id Brunch_city brunch_name
employee
work_on
brunch
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 hanya memimpin satu departemen dan begitu sebaliknya.manager M1 M2 M3 manages R1 R2 R3 departement D1 D2 D3
manager
1
manages
1
departement
Cardinality Ratio (lanj)
(1 : N / N : 1) : suatu entitas di A dihubungkan dengan sejumlah entitas di B. Contoh : banyak karyawan berkerja untuk satu depertement atau satu departement memiliki banyak karyawan yang bekerja untuknya.employee E1 E2 E3 E4 E5 E6 N works_for R1 R2 R3 R4 R5 R6 1 departement
D1 D2 D3
employee
works_for
departement
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 A. mempunyai banyak karyawan, satu karyawan boleh bekerja di beberapa proyek.employee E1 E2 E3 E4 works_on R1 R2 R3 R4 R5 R6 M works_on N project project P1 P2 P3
employee
Participation Constraint
Menjelaskan batasan keikut-sertaan dari suatu entity terhadap keikuthubungannya 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).employee 1 manages 1 departement
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. Relationship. Weak entity selalu mempunyai total participation constraint terhadap Identifying Owner. Contoh : entity tanggungan keberadaannya bergantung pada karyawan.
Weak Entity (lanj)
nip
nama
karyawan
memiliki
tanggungan
EntityEntity-Relationship Diagram (ERD)
Merupakan diagram yang menggambarkan hubungan (relationship) antar entitas (entity).
Symbol E-R Diagram ESymbol Keterangan= Entity = Atribut Komposit = Weak Entity
Symbol
Keterangan
= Relationship
= Atribut Derivatif
= Identifying Relationship
E1
R
E2
= Total Participation Of E2 In R
= Atribut E1
1
R
N
E2
= Cardinality Ratio 1:N For E1:E2 In R
______
= Atribut Kunci
= Atribut Multivalue
Tahap Pembuatan Entity Relationship Diagram1. 2. 3. 4. 5. 6. 7. Mengidentifikasikan dan menetapkan seluruh himpunan entity yang akan terlibat. Menentukan atribut-atribut dari setiap entity. atributMenentukan atribut primary key dari setiap entity. Menentukan relationship antar entity. Menentukan atribut-atribut dari setiap atributrelationship (jika ada). Menentukan Cardinality Rasio. Menentukan Participation Constraint.
Kamus Data
Menjelaskan nama entity set beserta atributatribut-atributnya. Contoh : untuk entity set mahasiswa dengan atribut nim, nama dan alamat. maka kamus datanya berupa : mahasiswa = {nim, nama, alamat}. {nim, Ket : mahasiswa adalah nama entity set. nim, nama, alamat adalah nama atribut.
Contoh : ERD One to One
nip
nama_dosen
kode_jur
nama_jur
1 Dosen Mengepalai
1 Jurusan
Contoh : ERD One to Many
nip
nama_dosen
kode_mk
nama_mk
1 Dosen Mengajar
N Matakuliah
Contoh : ERD Many to Many
nim
nama_mhs
kode_mk
nama_mk
M Mahasiswa mengambil
N Matakuliah
Transformasi E-R Diagram ke EBasis Data RelationalTahap-Tahap Transformasi : Tahap1. Entity-Relationship Diagram menjadi basis data. Entity2. 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 komponensaja. Contoh : city name id address customer Tabel Customer id name street city state zip_code street statezip_code
Transformasi E-R Diagram ke EBasis Data Relational (lanj)5. Setiap tabel yang mempunyai atribut multivalue, buatlah tabel baru dimana primary key-nya merupakan gabungan dari keyprimary key dari tabel tersebut dengan atribut multivalue.
Tabel Proyek nama_proyek no_proyek lokasi i Tabel Lokasi_Proyek proyek no_proyek lokasi no_proyek nama_proyek
Transformasi E-R Diagram ke EBasis Data Relational (lanj)6. Setiap unary relationship 1:N, selain membuat tabel baru berdasarkan entity, buat juga tabel baru berdasarkan relationshiprelationship-nya dengan atribut kunci tamu (foreign key) berdasarkan atribut kunci dari entity tersebut dan atribut kunci alternatif sebagai primary key-nya. keyTabel Employeeemployee_name employee_id
employee_id employee_name N Tabel Supervision
employee
supervision
supervisor_id employee_id
1
Transformasi E-R Diagram ke EBasis Data Relational (lanj)7. Untuk CR 1:1 dengan atau tanpa total participation maka akan dibuat tabel baru berdasarkan relationship, dimana kolomkolomkolomnya terdiri dari alternate key, dan primary key dari masingmasingmasing entity.Tabel Dosen nip nama_dos Dosen periode 1 mengepalai 1 Jurusan kode_jur nama_jur Tabel Jurusan kode_jur nama_jur Tabel kaprodi periode kode_jur nip nip Nama_dos
Transformasi E-R Diagram ke EBasis Data Relational (lanj)8. Untuk CR 1:N dengan atau tanpa total participation maka primary key dari sisi 1 masuk ke sisi N.nip nama_dos Tabel Dosen nip Dosen 1 perwalian N mahasiswa nim nama_mhs Tabel Mahasiswa nim nama_mhs nip nama_dos
Transformasi E-R Diagram ke EBasis Data Relational (lanj)9. Untuk CR M:N dibuat tabel tersendiri berdasarkan relationshipnya dengan kolom-kolomnya terdiri dari alternate kolomkey dan primary key dari masing-masing entity. masingnim nama_mhs Tabel Mahasiswa nim nama_mhs mahasiswa semester N semester mengambil M matakuliah kode_mk nama_mk Tabel Matakuliah kode_mk nama_mk Tabel KRS nim kode_mk
Studi Kasus : Rental VCD FILM
Spesifikasi DatabaseData 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 masingharga 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 Diagram1. Mengidentifikasikan entity-entity yang ada. entityentity-entity : KelompokFilm, Film, Customer. entity2. Menentukan atribut-atribut dari setiap entity. atributEntity Film KelompokFil m Atribut judul, jml_keping, jml_film jenis, harga_sewa
Customer no_identitas, jenis_identitas, nama, 3. Menentukan primary key dari setiap entity. alamat Entity Film KelompokFil m Customer Atribut kode_film, kode_film, judul, jml_keping, jml_film jenis, jenis, harga_sewa no_identitas, jenis_identitas, nama, alamat no_identitas,
Tahap Pembuatan Entity Relationship Diagram (lanj)4. Menentukan relationship antar entity. Entity Film Relationship Dikelompokkan Entity KelompokFil m
Customer Menyewa Film 5. Menentukan atribut-atribut dari setiap relationship (jika ada). atributRelationship dikelompokkan Menyewa tgl_sewa, total_film, tgl_kembali, total_harga, denda Atribut
Tahap Pembuatan Entity Relationship Diagram (lanj)6. Menentukan Cardinality Rasio. Entity Film Customer Relationship Menyewa Entity Film Cardinality Rasio N:1 N:M
dikelompokkan KelompokFilm
7. 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 entityantar keduanya.
Entity Relationship Diagram Rental VCD FILMjudul jenis harga_sewa dikelompokkan kelompokfilm 1 jenis_identitas no_identitas N Film N tgl_sewa total_film jml_film kode_film jml_keping
Customer
M
total_harga menyewa
nama
alamat tgl_kembali
denda