SISTEM BASIS DATA 05 & Tugas

Download Report

Transcript SISTEM BASIS DATA 05 & Tugas

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.
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
memungkinkan, 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  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.
Simbol-Simbol Atribut
(oval)
nama_atribut
nama_atribut
nama_atribut_kunci
nama_atribut
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.
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
Supervision
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
employee_name
level
job
employee_id
branch_name
employee
work_on
branch
Branch_city
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.
manager
manages
department
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 departemen atau satu departemen memiliki
banyak karyawan yang bekerja untuknya.
employee
works_for
department
E1
E2
E3
E4
E5
E6
R1
R2
R3
R4
R5
R6
D1
D2
D3
employee
N
works_for
1
department
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 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).
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.
Weak entity selalu mempunyai total
participation constraint terhadap Identifying
Owner. Contoh : entity tanggungan
keberadaannya bergantung pada karyawan.
Weak Entity (lanj)
nip
…………
karyawan
nama
memiliki
…………
tanggungan
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.
2.
3.
4.
5.
6.
7.
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.
Contoh : ERD One to One
nip
nama_dosen
Dosen
kode_jur
1
Mengepalai
1
nama_jur
Jurusan
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. 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.
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.
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 kolomkolomnya terdiri dari alternate key, dan primary key dari masingmasing entity.
nip
nama_dos
Tabel Dosen
nip
Nama_dos
Dosen
1
periode
Tabel kaprodi
mengepalai
1
periode kode_jur nip
Tabel Jurusan
Jurusan
kode_jur nama_jur
kode_jur
nama_jur
Transformasi E-R Diagram ke
Basis Data Relational (lanj)
8. Untuk CR (Cardinality Ratio) 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
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
relationshipnya dengan kolom-kolomnya terdiri dari alternate
key dan primary key dari masing-masing entity.
nim
nama_mhs
Tabel Mahasiswa
nim nama_mhs
mahasiswa
N
semester
Tabel KRS
semester
nim kode_mk
mengambil
M
matakuliah
Tabel Matakuliah
kode_mk nama_mk
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.
Entity
Film
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
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
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
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.
Entity Relationship Diagram
Rental VCD FILM
judul
harga_sewa
jenis
kode_film
jml_keping
dikelompokkan
kelompokfilm 1
N
Film
jml_film
N
jenis_identitas
no_identitas
Customer
nama
tgl_sewa
total_harga
M
alamat
total_film
menyewa
tgl_kembali
denda
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
Tugas Anda adalah :
1.Buatlah ER diagram untuk sistem database
perpustakaan tersebut.
2.Tentukan bentuk relasinya.
3.Tranformasikan ERD tersebut ke basis data
relasional
4. Buatlah Tabel normalisasi 1NF,2NF,3NF.
5. Dikumpulkan dalam bentuk file atau Hard copy.
Untuk file, email ke [email protected]
ditutup jam 12 Malam. Jika Hard Copy pada saat
UAS.