Diagram E-R

advertisement
Alat Bantu Perancangan Basis Data
ERD
(Entity Relationship Diagram)
Sistem Basis Data
STMIK AUB Surakarta
Diagram E-R
Diagram E-R (EntityRelationship) biasa
digunakan dalam tahap
analisis perancangan
database
Digunakan sebagai
perangkat untuk
berkomunikasi antara
pengembang database
dengan pengguna
1
Diagram E-R
Diagram E-R berupa model data
konseptual, yang
merepresentasikan data dalam suatu
organisasi dalam bentuk objekobjek dan hubungannya
Data Data Data
Data Data Data
Diagram E-R
Diagram E-R berupa model data
konseptual, yang
merepresentasikan data dalam suatu
organisasi dalam bentuk objekobjek dan hubungannya
Tidak bergantung kepada software
yang akan dipakai untuk
mengimplementasikan database
Sejauh ini banyak sekali model
notasi yang dipakai untuk membuat
diagram E-R
2
ERD dan
Proses Perancangan Database
Tiga proses perancangan database yang terkait
dengan ERD:
Analisis kebutuhan
Menggali kebutuhan data untuk penyajian informasi
Perancangan database konseptual
Menyajikan kebutuhan data yang akan disimpan dalam
bentuk yang high level (misalnya ERD)
Perancangan database logis
Memilih DBMS dan mengonversi ke skema database
Tiga Tahapan Perancangan
Database Lainnya
Perbaikan Skema
Mengidentifikasi problem potensial dan
melakukan pembetulan
Perancangan database fisik
Menyeleraskan rancangan database dengan
fitur-fitur dalam DBMS
Perancangan keamanan
Mengatur keamanan yang menyangkut
wewenang pemakai
3
Dasar ERD
Atribut
Entitas
Atribut
Hubungan
Atribut
Atribut
ENTITAS
Hubungan
Atribut
ENTITAS
Atribut
Atribut
Entitas
Merupakan objek dalam
dunia nyata yang dapat
dibedakan dengan objekobjek lain
Objek
Objek??
?
Seorang manajer, sebuah
mainan, sebuah pintu
merupakan contoh entitas
Lambang :
4
Atribut
Sifat / karakteristik
yang melekat dalam
sebuah entitas
Atribut
No inventaris
Merk
Ukuran RAM
Entitas
Atribut?
Atributnya?
????
Orang
Mobil
Ruangan
Surat
Perjanjian
5
Himpunan Entitas
Kumpulan dari objek
yang memiliki
karakteristik sama
dinamakan
himpunan entitas
Semua manajer
dalam sebuah
perusahaan
berkedudukan
sebagai himpunan
entitas
Himpunan
Entitas
Himpunan Entitas Pegawai
Employee_ID
Birth_Of_Date
EMPLOYEE
Name
Employee_ID
Name
Birth_Of_Date
75-001
Sita Dewi
01/07/1982
75-002
Riantiarno
23/12/1984
6
Hubungan
Hubungan (relationship)
adalah pengait antara
beberapa tipe entitas
75-001 Sita Dewi
75-002 Riantiarno
75-003 Diva Mawarni
75-004 Karno
76-001 Dino Larasati
DA Depertemen Akunting
DK Departmen Keuangan
DP Departemen Pemasaran
Hubungan (Lanjutan)
Apa
hubungannya????
?
Dosen Mahasiswa
Dosen - Matakuliah
Nasabah Rekening Bank
Pemasok - Barang
7
Contoh Diagram E-R
PELANGGAN
PEMASOK
Mengirim
Mengirim
Memasok
PESANAN
KIRIMAN
Memasok
BARANG
Berisi
Digunakan_
pada
PRODUK
Tipe Atribut
Atribut Sederhana dan komposit
Atribut Bernilai tunggal dan bernilai
banyak
Atribut tersimpan dan turunan
8
Atribut Sederhana dan Komposit
Atribut sederhana tidak bisa dipecah
menjadi bagian yang lebih kecil lagi
Atribut komposit adalah atribut yang dapat
dipecah menjadi komponen yang lain
Alamat: Alamat_Jalan, Kota, Kode_Pos
Nama:
Nama_Depan,
Nama_Tengah,
Nama_Belakang
Prev
Atribut Bernilai Tunggal dan
Bernilai Banyak
Atribut bernilai tunggal adalah atribut
yang nilainya hanya satu
Contoh: nomor pegawai
Atribut bernilai banyak adalah atribut
yang berkemungkinan memiliki nilai lebih
dari satu
Contoh:
Nomor_Telpon,
Ketrampilan_Pemrograman
Prev
9
Atribut Tersimpan dan Turunan
Atribut tersimpan adalah atribut yang secara
eksplisit tersimpan dalam database
Atribut turunan adalah atribut yang nilainya
dapat dikalkulasi dari nilai atribut tersimpan
Contoh:
Lama_Bekerja dapat dihitung dari Tgl_Mulai_Bekerja
Usia bisa dihitung dari Tgl_lahir
Atribut Tersimpan dan Turunan?
Kode
Barang
Nama
Barang
Jumlah
Harga
Satuan
Subtotal
P-001
Pensil
4
1.000
4.000
B-005
Buku Tulis
1
3.000
3.000
G-002
Penggaris
1
1.500
1.500
K-001
Kertas HVS
2
20.000
40.000
10
Jenis Hubungan
Jenis hubungan
antara dua
himpunan entitas:
a)
b)
c)
d)
One to One
One to Many
Many to One
Many to Many
(c)
(d)
Jenis Hubungan (Lanjutan )
Apa jenis
hubungannya????
?
Dosen Mahasiswa
Dosen - Matakuliah
Nasabah Rekening
Bank
Pemasok - Barang
11
Kunci
Kunci dimaksudkan sebagai pegangan
untuk membedakan antara satu entitas
dengan entitas yang lain
Kunci dapat disusun atas satu atau
kombinasi beberapa atribut
Istilah lain berupa pengenal (identifier)
biasa digunakan sebagai pengganti kata
kunci
Pengenal
Pengenal tunggal (sederhana)
Terdiri atas satu atribut
Pengenal komposit
Terdiri atas dua atribut atau lebih
12
Pengenal Tunggal
Contoh: No_Mhs pada entitas
MAHASISWA
No_Mhs
Nama_Mhs
Tgl_Lahir
MAHASISWA
Prev
Pengenal Komposit
ID_Pesawat
Jadwal
ID_Penerbangan
Tujuan
PENERBANGAN
Jumlah_penumpang
13
Pengenal (Lanjutan )
Pengenal harus dibentuk
dengan melibatkan
atribut-atribut yang tidak
pernah berubah atau
jarang berubah
Pilih pengenal yang
nilainya jelas dan tidak
pernah NULL (tidak
dikenal)
Mana yang
sebaiknya dipilih?
Kode bagian atau
nama bagian?
Pengenal (Lanjutan )
Buat pengenal beratribut tunggal untuk
menggantikan pengenal komposit yang
terlalu panjang
ID_Pesawat
Jadwal
Tidak lagi
tergantung
ID_Pesawat
dan Jadwal
ID_Penerbangan
Tujuan
PENERBANGAN
Jumlah_penumpang
14
Simbol dalam Diagram E-R
Simbol Hubungan:
ENTITAS
Satu
Hubungan
Bbanyak
Atribut
Garis bawah: Kunci atau
pengenal (identifier)
Simbol Lain-Lain
Entitas kuat
Entitas asosiatif
Entitas lemah
Atribut
Hubungan
Hubungan
pengidentifikasi
Atribut nilai berganda
Atribut turunan
15
Contoh ERD
Nama_Plg
ID_Plg
PELANGGAN
Mengirim
ID_Pesanan
Tgl_Pesanan
PESANAN
Contoh Atribut Komposit, Nilai
Berganda, dan Turunan
Jalan
ID_Plg
Nama_Plg
Telpon_Plg
Kota
Kode_Pos
Alamat
PELANGGAN
Usia
Tgl_Lahir
16
Cara Memberi Nama Entitas
Gunakan sedapat mungkin satu kata benda.
Kalau lebih dua kata, gunakan spasi sebagai
pemisah kata
Ditulis dengan huruf KAPITAL
Nama yang digunakan spesifik terhadap
perusahaan
KLIEN atau PELANGGAN berarti sama.
Tetapi mana yang digunakan perusahaan?
Gunakan nama yang singkat tapi bermakna
tepat
REGISTRASI lebih baik daripada
REGISTRASI MAHASISWA
MAHASISWA
PELANGGAN
BARIS PESANAN
Spasi
Cara Memberi Nama Atribut
Gunakan frasa kata
benda atau kata benda
tunggal
Setiap awal kata ditulis
dengan huruf KAPITAL
Gunakan _ untuk
menyambung dua kata
Kata bisa disingkat, tetapi
harus mudah ditebak
maknanya
Nama atribut harus unik
Nama
Nama_Pelanggan
Nama_Plg
17
Cara Memberi Nama Hubungan
Gunakan kata kerja
Hanya awalnya yang
dikapitalkan
Gunakan garis bawah
sebagai pemisah
antarkata
PELANGGAN
Mengirim
Kata
kerja
PESANAN
Hubungan Unary
Hubungan yang melibatkan hanya
satu entitas
ID_Peg
Nama_Peg
Tgl_Lahir
manajer
Membawahi
PEGAWAI
pekerja
Indikator
peran
18
Contoh Unary Relationship
ORANG
PEGAWAI
Menikah_dengan
SUKU_CADANG
Membawahi
Tersusun_atas
Hubungan Biner
Hubungan yang
melibatkan dua buah
entitas
PELANGGAN
Mengirim
PESANAN
19
Contoh Binary Relationship
ORANG
Diberi_jatah
TEMPAT PARKIR
PEGAWAI
Bekerja_pada
DEPARTEMEN
MAHASISWA
Mengambil
MATA KULIAH
Hubungan Ternary
Hubungan yang
melibatkan tiga
buah entitas
Nama_Pek
Level
PEKERJAAN
ID_Peg
Nama_Peg
PEGAWAI
Tgl_Lahir
Nama_Cab
Bekerja_pada
Lokasi
CABANG
20
Contoh Ternary Relationship
PEMASOK
GUDANG
Memasok
BARANG
Sebuah Pemasok memasok sejumlah barang pada beberapa gudang
Sebuah barang bisa dipasok oleh beberapa Pemasok
Atribut dalam Hubungan
Nama Siswa
Nama Kursus
Tgl_Selesai
Amir
Visual BASIC
24/2/1007
Amir
Visual C++
3/5/2007
Dion
Visual C++
3/5/2007
Fitri
Delphi
4/3/2007
ID_Siswa
Nama_Siswa
Tgl_Selesai
SISWA
Menyelesaikan
ID_Kursus
Nama_Kursus
KURSUS
21
Atribut dalam Hubungan
ID_Siswa
ID_Siswa
Nama_Siswa
Tgl_Selesai
SISWA
Menyelesaikan
Nama_Siswa
SISWA
No_Sert
Tgl_Selesai
ID_Kursus
Nama_Kursus
KURSUS
ID_Kursus
SERTIFIKAT
Nama_Kursus
KURSUS
Entitas Asosiatif
Kardinalitas Hubungan
Selalu hanya satu
Satu atau banyak
Nol atau satu
Nol, satu, atau banyak
22
Kekangan Kardinalitas
Jenis hubungan antartipe entitas seringkali dinyatakan
tidak sekedar dalam bentuk berupa One to One, One
to Many, Many to One, dan Many to Many, melainkan
juga dengan menyertakan kekangan kardinalitas
Kekangan kardinalitas (cardinality constraint) adalah
suatu keadaan yang digunakan untuk menyatakan
jumlah instan dalam sebuah entitas yang dapat
dikaitkan dengan sebuah instan pada entitas lain
Implementasinya adalah dengan menggunakan
kardinalitas hubungan yang dijelaskan pada slide
sebelum ini
Kekangan Kardinalitas
(Lanjutan )
Berkaitan dengan kekangan kardinalitas,
terdapat istilah kardinalitas minimum dan
kardinalitas maksimum
Kardinalitas minimum adalah jumlah instan
tersedikit dalam sebuah entitas yang mungkin
dikaitkan dengan setiap instan pada entitas
lain
Kardinalitas maksimum adalah jumlah instan
terbanyak dalam sebuah entitas yang mungkin
dikaitkan dengan setiap instan pada entitas
lain
23
Contoh Penerapan Kekangan
Kardinalitas
PASIEN
Mempunyai
KUNJUNGAN
(a) Dasar hubungan
PASIEN
Mempunyai
SEJARAH
PASIEN
(b) Hubungan dengan
kekangan kardinalitas
Contoh:
Amir
Dewi
Fahmi
Kunjungan 1
Kunjungan 2
Kunjungan 1
Kunjungan 1
Kunjungan 2
Contoh Penerapan Kekangan
Kardinalitas (Lanjutan )
PEGAWAI
Ditugaskan_ke
PROYEK
(a) Dasar hubungan
PEGAWAI
Ditugaskan_ke
PROYEK
(b) Hubungan dengan
kekangan kardinalitas
Contoh:
Amir
Dewi
Fahmi
Sueb
Proyek 1
Proyek 2
Proyek 3
Proyek 4
Proyek 5
24
Latihan ERD (1)
Seorang pegawai memiliki data berupa
nomor induk pegawai, nama, tanggal lahir
dan ketrampilan berbahasa asing.
Gambarkan diagram ER-nya
Latihan ERD (2)
Data seseorang mencakup identitas
seseorang, nama, jenis kelamin.
Gambarkan diagram ER yang
mencerminkan bahwa seseorang
menikahi orang
25
Latihan ERD (3)
Setiap dosen memiliki nomor dosen,
nama, dan usia
Setiap proyek memiliki nomor proyek,
sponsor proyek, tanggal mulai, dan
tanggal selesai
Setiap proyek dikepalai oleh seorang
profesor
Setiap proyek bisa melibatkan satu atau
beberapa dosen
Latihan ERD (3 - Lanjutan)
Seorang dosen bisa mengepalai sejumlah
proyek dan bekerja pada sejumlah proyek
Jurusan memiliki kode jurusan, nama jurusan,
dan lokasi
Jurusan dikepalai oleh seorang dosen
Dosen bisa bekerja pada satu jurusan atau
beberapa jurusan
Gambarkan diagram ER-nya
26
Latihan ERD (4)
Buatlah diagram ER untuk PT Astrindo Utama yang mencerminkan pesanan
barang di atas!
Latihan ERD (5)
NIM
Nama
Mhs
KD MK Nama MK
No
Dosen
Nama
Dosen
Nilai
12345
Ali
TI-001
Algoritma
Pemrograman
771
Dian
A
12345
Ali
TI-101
Basis data
773
Elias
A
12346
Darwin
TI-001
Algoritma
Pemrograman
771
Dian
B
12349
Siti
TI-001
Algoritma
Pemrograman
771
Dian
A
Buatlah diagram ER-nya!
27
Transformasi ERD ke
Database Relasional
Tranformasi Diagram ER ke Relasi
Memetakan Entitas
Nama_Pelanggan
Tipe entitas
PELANGGAN
No_Pelanggan
PELANGGAN
Alamat_Pelanggan
Relasi PELANGGAN
No_Pelanggan
Nama_Pelanggan
Alamat_Pelanggan
28
Memetakan Entitas dengan Atribut
Komposit
Jalan
Nama_Pelanggan
Kota
Kode_Pos
No_Pelanggan
No_Pelanggan
PELANGGAN
Nama_Pelanggan
Alamat_Pelanggan
Jalan
Kota
Kode_Pos
Tipe entitas
PELANGGAN dengan
atribut komposit
Relasi
PELANGGAN
Memetakan Entitas dengan Atribut
Bernilai Ganda
Nama_Pegawai
Alamat_Pegawai
No_Pegawai
PEGAWAI
No_Pegawai
Nama_Pegawai
No_Pegawai
Keterampilan
Keterampilan
Alamat_Pegawai
Tipe entitas PEGAWAI
dengan atribut bernilai
ganda
Relasi PEGAWAI
Relasi KETERAMPILAN PEGAWAI
29
Pemetaan Hubungan 1 to M
No_Pelanggan
Nama_Pelanggan
PELANGGAN
Nomor_Pesan
PESANAN
Mengirim
No_Pelanggan
Nama_Pelanggan
No_Pesan
Tanggal_Pesan
Tanggal_Pesan
Relasi PELANGGAN
No_Pelanggan
Relasi PESANAN
Pemetaan Hubungan M to M
No_Pesan
Tgl_Pesan
Kode_Produk
Harga_Unit
Jumlah
PESANAN
PRODUK
Meminta
No_Pesan
Tgl_pesan
No_Pesan
Kode_Produk
Kode_Produk
Harga_Unit
Relasi PESANAN
Jumlah
Relasi BARIS PESANAN
Relasi PRODUK
30
Pemetaan Hubungan 1 to 1
No_Dosen
Nama_Dosen
Kode_Prodi
Nama_Prodi
Tanggal_Penugasan
DOSEN
No_Dosen
Kode_Prodi
PROGRAM STUDI
Mengepalai
Nama_Dosen
Nama_Prodi
Relasi DOSEN
No_Dosen
Tanggal_penugasan
Relasi PROGRAM
STUDI
Pemetaan Entitas Asosiatif
(Ternary)
No_Pelanggan
Nama
Vendor
Alamat
Tanggal
No_Kirim
Jumlah
PELANGGAN
No_Pelanggan
No_Kirim
Kode_Vendor
PENGIRIMAN
Nama
Tanggal
Alamat
VENDOR
Relasi PELANGGAN
Jumlah No_Pelanggan Kode_Vendor
Relasi
PENGIRIMAN
Relasi VENDOR
31
Pemetaan Unary 1:N
Nama_Pegawai
Tgl_Lahir
No_Pegawai
PEGAWAI
Mengepalai
No_Pegawai
Nama_Pegawai
Tgl_lahir
ID_Manajer
Relasi PEGAWAI
Pemetaan Unary M:M
Nama_Item
Harga_Unit
No_Item
ITEM
Jumlah
Tersusun_atas
No_Item
Nama_Item
Harga_Unit
No_Item
No_Komponen
Jumlah
Relasi ITEM
Relasi KOMPONEN
32
Latihan (1)
Berdasarkan diagram ER soal pesanan barang pada Modul db-2, buatlah
relasi-relasinya!
Latihan
NIM
Nama
Mhs
KD MK Nama MK
No
Dosen
Nama
Dosen
Nilai
12345
Ali
TI-001
Algoritma
Pemrograman
771
Dian
A
12345
Ali
TI-101
Basis data
773
Elias
A
12346
Darwin
TI-001
Algoritma
Pemrograman
771
Dian
B
12349
Siti
TI-001
Algoritma
Pemrograman
771
Dian
A
Berdasarkan diagram ER dari data di atas, buatlah relasi-relasinya!
33
Download