Transcript - kelasgue

Suheri S.T

[email protected]

ENTITY-RELATIONSHIP MODEL

ENTITY-RELATIONSHIP MODEL

    E-R Models are Conceptual Models database. They can not be directly implemented in a database.

of the 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 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

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 primary key.

dapat terdiri dari atribut sederhana/ komposit Contoh : – NomorMobil dari entitas MOBIL  – kodemk dari entitas matakuliah  komposit 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.

Simbol-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 relationship : work_on .

a company.

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 supervise supervison

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 employee_id employee_name employee job work_on brunch_name Brunch_city 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 manages departement M1 M2 M3 R1 R2 R3 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 works_for departement E1 E2 E3 E4 E5 E6 R1 R2 R3 R4 R5 R6 D1 D2 D3 N 1 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 mempunyai banyak karyawan, satu karyawan boleh bekerja di beberapa proyek.

employee works_on project E1 E2 E3 E4 R1 R2 R3 R4 R5 R6 P1 P2 P3 employee M works_on N project

Participation Constraint

    Menjelaskan batasan keikut-sertaan 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 manager/karyawan (total participation) dan karyawan yang memimpin suatu departemen (partial participation).

harus

dipimpin oleh seorang

tidak semua

1 1 employee manages 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 disebut dan relationshipnya Identifying Relationship .

Weak entity selalu mempunyai total participation constraint terhadap Identifying Owner. Contoh : entity tanggungan keberadaannya bergantung pada karyawan.

Weak Entity (lanj)

nip karyawan ………… memiliki nama ………… tanggungan

Entity-Relationship Diagram (ERD)

Merupakan diagram yang menggambarkan hubungan (relationship) antar entitas (entity).

Symbol E-R Diagram

Symbol Keterangan

= Entity = Weak Entity

Symbol Keterangan

= Atribut Komposit = Relationship = Atribut Derivatif = Identifying Relationship E1 ______ = Atribut = Atribut Kunci = Atribut Multivalue R E2 = Total Participation Of E2 In R E1 1 R N E2 = 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.

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}.

Ket :

mahasiswa adalah nama entity set.

nim, nama, alamat adalah nama atribut.

Contoh : ERD One to One

nip nama_dosen Dosen 1 Mengepalai 1 kode_jur Jurusan nama_jur

Contoh : ERD One to Many

nip nama_dosen Dosen 1 Mengajar N kode_mk nama_mk Matakuliah

Contoh : ERD Many to Many

nim nama_mhs Mahasiswa M mengambil N kode_mk 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 saja. Contoh :  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 city state name street id address customer Tabel Customer id name street city state zip_code 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.

no_proyek nama_proyek proyek Tabel Proyek no_proyek nama_proyek Tabel Lokasi_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.

employee_id employee_name N Tabel Employee employee_id employee_name employee supervision Tabel Supervision supervisor_id employee_id 1

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.

Tabel Dosen nip nama_dos nip Nama_dos periode Dosen 1 mengepalai Tabel kaprodi periode kode_jur nip kode_jur 1 Jurusan nama_jur Tabel Jurusan kode_jur nama_jur

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.

nip nama_dos Tabel Dosen nip nama_dos Dosen 1 nim perwalian N mahasiswa nama_mhs Tabel Mahasiswa nim nama_mhs nip

Transformasi E-R Diagram ke Basis Data Relational (lanj)

9. Untuk CR M:N  dibuat tabel tersendiri berdasarkan relationshipnya dengan kolom-kolomnya terdiri dari alternate key dan primary key dari masing-masing entity.

nim nama_mhs Tabel Mahasiswa nim nama_mhs semester mahasiswa N semester Tabel KRS nim kode_mk mengambil kode_mk M matakuliah nama_mk Tabel Matakuliah kode_mk nama_mk

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

1. Mengidentifikasikan entity-entity yang ada.

entity-entity : KelompokFilm, Film, Customer.

2. Menentukan atribut-atribut dari setiap entity.

Film

Entity Atribut

judul, jml_keping, jml_film KelompokFilm jenis, harga_sewa Customer no_identitas, jenis_identitas, nama, alamat 3. Menentukan primary key dari setiap entity.

Entity Atribut

Film 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

Dikelompokkan Menyewa

Entity

KelompokFilm Film 5. Menentukan atribut-atribut dari setiap relationship (jika ada).

Relationship

dikelompokkan Menyewa

Atribut

tgl_sewa, total_film, tgl_kembali, total_harga, denda

Tahap Pembuatan Entity Relationship Diagram (lanj)

6. Menentukan Cardinality Rasio.

Entity

Film Customer

Relationship

Menyewa Film

Entity

dikelompokkan KelompokFilm

Cardinality Rasio

N : 1 N : M 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 antar keduanya.

jenis

Entity Relationship Diagram Rental VCD FILM

judul harga_sewa kode_film jml_keping dikelompokkan kelompokfilm 1 N Film N jml_film no_identitas jenis_identitas tgl_sewa total_film total_harga Customer M menyewa nama alamat denda tgl_kembali