Model Data Relasional

advertisement
BAB II
Entity-Relationship Model
Sisterm Basis Data Informatika PTIIK
1
2
Materi









Entity Sets
Relationship Sets
Design Issues
Mapping Constraints
Keys
E-R Diagram
Extended E-R Features
Design of an E-R Database Schema
Reduction of an E-R Schema to Tables
Sisterm Basis Data Informatika PTIIK
3
 Database
dapat dimodelkan sebagai :
 – Kumpulan entitas
 – Relasi antar entitas
Sisterm Basis Data Informatika PTIIK
4
Entitas ?
 “sesuatu”
atau “objek” di dunia nyata
yang dapat dibedakan dari objek lain
 Kelompok
objek independen yang dapat
diidentifikasi dan memiliki kesamaan
properti.
Entitas digambarkan (dalam basis data)
dengan menggunakan himpunan atribut.
Sisterm Basis Data Informatika PTIIK
5
Entitas ?
 Entitas
dapat berupa objek nyata atau
objek konseptual, contoh:
Sisterm Basis Data Informatika PTIIK
6
Contoh entitas
Poli Anak RS :
- Anak (pasien)
- Dokter
- Perawat
- Penyakit
- Obat
Sisterm Basis Data Informatika PTIIK
7
Contoh entitas
 Perpustakaan






Brawijaya
Buku
Petugas
Mahasiswa
Dosen
Peminjaman
Pengembalian
Sisterm Basis Data Informatika PTIIK
8
Contoh entitas
Supermarket
 Barang
 Petugas/Kasir
 Transaksi Penjualan dan Pembelian
 Suplier
Bengkel
Montir
Sparepart
Pelanggan
Servis
Supplier
Alat/inventaris
Transaksi
Sisterm Basis Data Informatika PTIIK
9
Contoh entitas
BTN
 Nasabah
 Tabungan
 Pegawai
 Peminjaman
 Deposito
 Asuransi
Sisterm Basis Data Informatika PTIIK
10
Representasi Entitas
 Entitas
digambarkan dalam bentuk
persegi panjang dengan label yang
menunjukkan nama entitas, umumnya
berupa kata benda tunggal. Huruf
pertama setiap kata label entitas ditulis
dengan huruf kapital; contoh:
Sisterm Basis Data Informatika PTIIK
11
Himpunan entitas

Kumpulan entitas yang sejenis.
Misal : himpunan data pegawai




Semua entity dalam himpunan entity memiliki
himpunan atribut yang sama
Tiap himpunan entity memiliki kunci (key)
Tiap atribut memiliki domain.
Entitas menunjuk kepada individu suatu
objek sedangkan himpunan entitas menunjuk
pada rumpun (family) dari individu tersebut
Sisterm Basis Data Informatika PTIIK
12
Contoh himpunan entitas
 Semua
orang yang memiliki rekening di
Bank (nasabah),
 Semua Pelanggan, Mahasiswa, Dokter
Sisterm Basis Data Informatika PTIIK
13
Sisterm Basis Data Informatika PTIIK
14
ATRIBUT
 Setiap
Entitas memiliki atribut yang
mendeskripsikan karakteristik (properti)
dari entitas tersebut atau relasi
 Contoh :
 Customer = (Customer-Id, CustomerName, Customer-Street, Customer-City)
 Setiap Atribut akan memiliki nilai (values)
 Domain (Value Set)– Batas-batas nilai
yang diperbolehkan bagi suatu atribut
Sisterm Basis Data Informatika PTIIK
15
Atribut pada sistem Poli Anak
RS
: Anak (pasien) :

nama, tanggal lahir, riwayat
penyakit, alamat, nama ortu, jenis kelamin
-
Dokter : NIP, Nama, Alamat, Spesialisasi
Perawat : NIP, Nama, ALamat
Penyakit : Nama penyakit, gejala
Obat : nama, dosis, harga, jenis(tablet/sirup)
Sisterm Basis Data Informatika PTIIK
16
Atribut pada SIAKAD
SIAKAD
- Mahasiswa : NIM, Nama, Alamat, Jurusan,
Prodi, TTL,Agama, Nama ORTU, jenis
Kelamin
- Mata Kuliah: Kode, Nama, SKS,Prasyarat,
Status(W/P), semester
- Dosen : NIP, Nama, Alamat, Jenis Kelamin,
Pangkat/Gol,
Sisterm Basis Data Informatika PTIIK
17
Tipe-tipe Atribut
 1.
Simple dan Composite attributes
 2. Single-valued dan multi-valued
attributes
 3. Derived attributes
Sisterm Basis Data Informatika PTIIK
18
1. Simple dan Composite
attributes
Atribut Simple/sederhana :



Atribut yang terdiri atas komponen tunggal yang tidak dapat
dibagi menjadi komponen yang lebih kecil;
contoh: atribut jabatan dan gaji pada entitas Staf.
Atribut sederhana juga disebut dengan atribut atomik.
Atribut Komposit :




Atribut yang dapat dibagi lagi dalam beberapa bagian;
Atribut yang terdiri atas beberapa komponen independen
(dapat berdiri sendiri);
contoh: atribut alamat pada entitas KantorCabang dengan
nilai (Jalan Prof. Dr. Soepomo, SH, No. 63, Yogyakarta, 55163).
Atribut ini dapat dibagi menjadi jalan (Jalan Prof. Dr.
Soepomo, SH, No. 63), kota (Yogyakarta), dan kodePos
(55163).
Sisterm Basis Data Informatika PTIIK
19
Atribut komposit
Sisterm Basis Data Informatika PTIIK
20
2. Single-valued dan multivalued attributes
Atribut Single-valued /tunggal:


Atribut yang memuat nilai tunggal. Umumnya, atributatribut bernilai tunggal;
contoh: entitas KantorCabang memiliki nilai kode yang
bersifat tunggal, misal B003.
Multi-valued attributes :



Aribut yang memuat beberapa nilai.
Contoh: entitas KantorCabang memiliki atribut telepon,
misal kantor cabang B003 memiliki nomor telepon 0274123 456 dan 0274-567 890.
Contoh ini menunjukkan bahwa atribut telepon memiliki
dua nilai (mungkin juga lebih dari dua)
Sisterm Basis Data Informatika PTIIK
21
multi-valued attributes
 Atribut
multi-value dapat ditentukan nilai
minimal (batas_bawah) dan nilai
maksimal (batas_atas);
 pada contoh di atas, misalnya, nomor
telepon kantor cabang ditentukan antara
satu dan tiga nilai. Dengan kata lain,
sebuah kantor cabang memiliki minimal
satu nomor telepon dan sebanyakbanyaknya tiga nomor telepon.
Sisterm Basis Data Informatika PTIIK
22
3. Derived attributes/ Atribut
Turunan
Atribut Turunan :
 Atribut yang menyatakan suatu nilai yang berkaitan
dengan atribut-atribut lain;
 Atribut yang diperoleh dari pengolahan dari atribut
lain yang berhubungan.
 contoh:
 atribut masaStudi yang diperoleh dari tglLulus
dikurangi tglDaftar. Atribut masaStudi dikatakan
sebagai atribut turunan dari atribut tglDaftar dan
tglLulus.
 atribut totalMhs yang diperoleh dengan cara
menghitung jumlah mahasiswa aktif pada suatu
semester tertentu.
Sisterm Basis Data Informatika PTIIK
23
Contoh entitas dan atributnya
Sisterm Basis Data Informatika PTIIK
24
Key
Penggunaan key merupakan cara untuk
membedakan suatu entitas didalam himpunan
entitas dengan entitas lain
 Secara konsep, Masing-masing entitas (nilainya)
berbeda,perbedaannya terlihat pada isi dari
masing-masing atributnya.
 Oleh karena itu, dibutuhkan suatu atribut yang
memiliki nilai yang menjadi pembeda dengan
entitas lain
Key adalah satu atau gabungan dari beberapa
atribut yang dapat membedakan semua row
dalam relasi secara unik

Sisterm Basis Data Informatika PTIIK
25
Candidate Key
Candidate Key/ Kunci Kandidat/CK
 Atribut-atribut yang mengidentifikasi
entitas secara unik;
 contoh: atribut kancabNo merupakan
kunci kandidat untuk entitas
KantorCabang, dan memiliki nilai unik
untuk setiap kantor cabang.
 Kunci kandidat juga menyatakan bahwa
nilai atribut ini tidak boleh kosong (Null).
Sisterm Basis Data Informatika PTIIK
26
Primary Key





Kunci kandidat yang dipilih untuk mengidentifikasi entitas
secara unik.
Entitas dapat memiliki kunci kandidat lebih dari satu,
contoh: seorang mahasiswa memiliki noMhs yang bersifat
unik bagi Universitas, juga memiliki noKTP yang bersifat unik
bagi status kependudukan si mahasiswa.
Salah satu diantara dua kunci kandidat itu dapat dipilih
salah satu sebagai kunci primer.
Penentuan kunci kandidat yang dipilih sebagai kunci
primer sangat bergantung kepada kebutuhan sistem yang
sedang dikembangkan.
Kandidat kunci yang tidak dipilih sebagai kunci primer
dinamakan kunci alternatif.
Sisterm Basis Data Informatika PTIIK
27
Primary Key
Pemilihan primary key dari sejumlah
candidate key umumnya didasari oleh :
1.
2.
3.
Key tersebut lebih sering (lebih natural)
untuk dijadikan sebagai acuan
Key tersebut lebih ringkas
Jaminan keunikan key tersebut lebih baik
Sisterm Basis Data Informatika PTIIK
28
Kunci Komposit (Composite
Key):
 Kunci
kandidat yang memuat dua atau
lebih atribut.
 Ada beberapa kasus yang membutuhkan
kunci berupa kombinasi/gabungan
beberapa atribut untuk mengidentifikasi
secara unik.
Sisterm Basis Data Informatika PTIIK
29









Atribut ditulis dengan huruf kecil, kecuali jika terdiri atas dua kata atau lebih,
huruf pertama kata kedua dan seterusnya ditulis dengan huruf kapital;
contoh: kancabNo.
Atribut yang dipilih sebagai kunci primer diikuti dengan {PK}; contoh:
kancabNo {PK}.
Atribut komposit dituliskan berindentasi (menjorok ke dalam); contoh:
alamat
jalan
kota
kodePos
Atribut turunan diawali dengan tanda garis mirin (slash, /); contoh: /jmlStaf.
Atribut multi-value dituliskan batas bawah dan batas atasnya; contoh:
telepon [1..3
Sisterm Basis Data Informatika PTIIK
30
Simbol untuk notasi ER
Sisterm Basis Data Informatika PTIIK
31
Sisterm Basis Data Informatika PTIIK
32
Simbol alternatif untuk relasi
Sisterm Basis Data Informatika PTIIK
33
Weak Entity
 Entitas
yang tidak punya PK
 Keberadaannya tergantung dari
keberadaan entitas lain.. jadi entitas
lemah ada jika entita s kuat yang
menyebabkan adanya dia itu ada.
Tanpa entitas kuat, entitas lemah tidak
akan muncul.
 PK entitas lemah dibentuk dari PK entitas
kuat dan discriminator
Sisterm Basis Data Informatika PTIIK
Weak Entity Sets (Cont.)
34




Entitas lemah digambarkan dengan double rectangles.
discriminator dari entitas lemah dengan garis putus2
payment-number – discriminator of the payment entity
set
Primary key payment – (loan-number, paymentnumber)
Sisterm Basis Data Informatika PTIIK
35
Relasi
 Definisi:
Himpunan asosiasi (hubungan)
antar entitas yang dapat diidentifikasi
dan bermakna.
 Relasi dinyatakan dengan nama yang
menunjukkan fungsinya, contoh Memiliki
yang menghubungkan antara
KantorCabang dan Staf.
 Relasi dimungkinkan memiliki atribut
Sisterm Basis Data Informatika PTIIK
36
Representasi Relasi
 Relasi
digambarkan dalam bentuk garis
yang menghubungkan entitas-entitas
yang berelasi, dengan label yang
menunjukkan nama relasi.
 Nama relasi umumnya berupa kata kerja.
Huruf pertama setiap kata label relasi
ditulis dengan huruf kapital.
 Nama relasi harus unik dalam satu
diagram ER.
Sisterm Basis Data Informatika PTIIK
37
Representasi Relasi




Relasi bersifat satu arah, karena umumnya makna
relasi hanya ‘masuk akal’ pada satu arah tertentu,
misal: Kantor Cabang memiliki Staf lebih ‘masuk
akal’ daripada Staf memiliki Kantor Cabang.
Untuk itu, nama relasi disertai dengan anak panah
yang menunjukkan arah relasi;
contoh:
Sisterm Basis Data Informatika PTIIK
38
Himpunan Relasi
Sisterm Basis Data Informatika PTIIK
39
Derajad Relasi



Derajat relasi menunjukkan jumlah entitas yang
terhubung dalam suatu relasi.
Entitas-entitas yang terhubung dalam suatu relasi
disebut partisipan.
Relasi berderajat dua dinamakan relasi biner,
yakni relasi yang melibatkan dua himpunan
entitas
contoh:
 a. relasi Memiliki yang menghubungkan entitas
Kantor Cabang dengan Staf.
 b. relasi Mengambil dengan dua entitas yang
Sisterm Basis Data Informatika PTIIK
berpartisipasi, yaitu Mahasiswa dan Matakuliah.
40
Relasi Berderajat tiga



Relasi berderajat tiga dinamakan relasi terner.
Relasi antara lebih dari dua entitas jarang terjadi
Terdapat tiga entitas yang berpartisipasi dalam
relasi terner, contoh: relasi Mendaftar yang
menghubungkan entitas Staf, KantorCabang, dan
Klien.
Relasi ini menyatakan seorang staf mendaftar klien
di suatu kantor cabang.
Sisterm Basis Data Informatika PTIIK
41
Relasi Rekursif



Definisi: Tipe relasi yang menghubungkan satu
entitas tunggal dengan dirinya sendiri.
Relasi rekursif Mengaudit yang merepresentasikan relasi
dosen dengan auditor, seorang auditor merupakan
bagian entitas dosen. Dengan kata lain, relasi ini
menyatakan seorang dosen melakukan pemeriksaan
(mengaudit) dosen lain.
Relasi ini dapat ditambahkan nama peran untuk
menunjukkan posisi partisipasinya, pada contoh di atas:
relasi Mengaudit menghubungkan entitas Dosen yang
berperan sebagai Auditor dengan dosen lain yang
berperan sebagai Auditee.
Sisterm Basis Data Informatika PTIIK
42
Pemetaan Kardinalitas Relasi



Menggambarkan banyaknya jumlah maksimum
entitas dapat berelasi dengan entitas pada
himpunan entitas yang lain.
Paling banyak digunakan dalam menjelaskan
relasi biner
Untuk relasi biner, pemetaan kardinalitasnya
dapat merupakan salah satu dari tipe2 berikut :
1. Satu ke Satu (One to one)
2. Satu ke Banyak (One to many)
3. Banyak ke Satu (Many to one)
4. Banyak ke Banyak (Many to many)
Sisterm Basis Data Informatika PTIIK
43
Constraint Kardinalitas




Dalam menggambarkam kardinalitas pada
Diagram ER, digunakan garis panah (→) yang
menunjukkan “Satu” atau garis biasa (—) yang
menunjukkan “Banyak”, antara relasi dengan
entitas
Contoh : Relasi Satu ke satu
– Satu Customer hanya boleh berhubungan
dengan satu Loan,melalui relasi borrower
– Satu Loan hanya boleh berhubungan paling
banyak oleh satu Customer, melalui relasi
borrower
Sisterm Basis Data Informatika PTIIK
44
Relasi Satu ke Banyak
 Dalam
relasi satu ke Banyak, Paling
banyak Satu Customer dapat
berhubungan dengan beberapa
(termasuk 0) Loan melalui borrower
Sisterm Basis Data Informatika PTIIK
45
Relasi Banyak ke Satu
 Dalam
relasi banyak ke satu, Satu Loan
berhubungan dengan beberapa
(termasuk 0) customer melalui
borrower,satu customer berhubungan
dengan paling banyak satu Loan melalui
borrower
Sisterm Basis Data Informatika PTIIK
46
Relasi Banyak ke Banyak
 customer
berhubungan dengan
beberapa (mungkin 0) Loan melalui
borrower
 Loan berhubungan dengan beberapa
(mungkin 0) customer melalui borrower
Sisterm Basis Data Informatika PTIIK
47
Pemetaan kardinalitas
Sisterm Basis Data Informatika PTIIK
48
Pemetaan Kardinalitas
Sisterm Basis Data Informatika PTIIK
49
Dampak Pemetaan
Kardinalitas pada Desain ER
 Dalam
mendesain Entity Relasionship
pemetaan kardinalitas akan berpengaruh
terhadap bagaimana data tersebut akan
digambarkan
Sisterm Basis Data Informatika PTIIK
50
Diagram ER
 Diagram
ER merupakan model
konseptual untuk menggambarkan
struktur logis dari basisdata berbasis grafis
•
Sisterm Basis Data Informatika PTIIK
51
Sisterm Basis Data Informatika PTIIK
52
Diagram E-R dengan atribut
Composite,Multivalued dan derived
Sisterm Basis Data Informatika PTIIK
53
Himpunan Relasi dengan
Atribut
Sisterm Basis Data Informatika PTIIK
54
Peran (Roles)
 Relasi
Himpunan entitas tidak harus
dalam bentuk yang berbeda
 Peran dalam ER diagram diindikasikan
dengan memberikan label (nama) pada
garis yang menghubungkan relasi
dengan entitas
 Label peran bersifat optional dan
digunakan untuk mengklarifikasi semantik
suatu relasi
Sisterm Basis Data Informatika PTIIK
55
Peran (Roles)
 Label
“manager” dan “worker” disebut
Roles (peran), yang menspesifikasi
bagaimana entitas employee berinteraksi
melalui relasi Works-for
Sisterm Basis Data Informatika PTIIK
56
total constraint dan partial
constraint!
Perbedaan antara total constraint dan partial
constraint!
Total constraint :
 adalah constraint yang mana data dalam entitas
yang memiliki constraint tersebut terhubung
secara penuh ke dalam entitas dari relasinya.
Constraint partial :
 adalah constraint yang mana hanya sebagian
data ( tidak seluruhnya) dalam entitas yang
memiliki constraint tersebut terhubung ke dalam
entitas dari relasinya.
Sisterm Basis Data Informatika PTIIK
57
Mengapa ER Model ?
 Populer
untuk model relasional
 Sering dipergunakan untuk desain
konseptual dari aplikasi database
Sisterm Basis Data Informatika PTIIK
58
Langkah –langkah membuat
diagram ER
1.
2.
3.
4.
5.
6.
Mengidentifikasi dan menetapkan
seluruh entitas yang terlibat
Menentukan atribut dari setiap entitas
Menentukan key dari setiap entitas
Mengidentifikasi dan menetapkan relasi
antar entitas yang ada beserta foreign
key-nya
Menentukan kardinalitas/derajad relasi
untuk setiap relasi yang ada
Melengkapi entitas dan relasi dengan
atribut-atribut deskriptif
Sisterm Basis Data Informatika PTIIK
59
Foreign Key
 Key
(PK) yang berasal dari entitas lain
yang berelasi dengannya
Sisterm Basis Data Informatika PTIIK
60
Contoh
Sisterm Basis Data Informatika PTIIK
61
Bagaimana jika terdapat set entitas yang sama
muncul beberapa kali dalam satu set ERDiagram.
Mengapa hal ini harus dihindari? Jelaskan!




Untuk menghindari redundancy
Menghemat penyimpanan (storage) data
Mengurangi efektifitas dan kecepatan akses
Untuk menghindari terjadinya asinkronisasi data
pada saat diupdate
Sisterm Basis Data Informatika PTIIK
62
perbedaan antara weak
entity dan strong entity!
Strong entity (entitas kuat) :
 entitas yang mandiri, yang keberadaannya
tidak bergantung pada keberadaan entitas
lain.
 Entitas kuat selalu memiliki karakteristik yang
unik yakni sebuah atribut tunggal atau
gabungan atribut-atribut yang secara unik
dapat digunakan untuk membedakannya
dari entitas kuat yang lain.-> Primary Key (PK)
Sisterm Basis Data Informatika PTIIK
63
perbedaan antara weak
entity dan strong entity!
Weak entity (entitas lemah) :
 entitas yang keberadaannya sangat
bergantung pada keberadaan entitas
yang lainnya.
 Entitas lemah tidak memiliki arti apa-apa
dan tidak dikehendaki kehadirannya
dalam diagram ER tanpa kehadiran
entitas tempatnya bergantung.
Sisterm Basis Data Informatika PTIIK
Latihan
64
1. Sebuah perpustakaan kampus memiliki aturan-aturan sebagai
berikut :
1.
Anggota dapat meminjam Buku pada perpustakaan lebih
dari satu buku dalam sekali peminjaman.
2.
Pada buku, yang harus di catat adalah NoBuku, Judul,
Pengarang, Penerbit, Tahun terbit dan Jenis buku
(majalah,Kumpulan atrikel, novel, komik, iptek, sekolah), Status
(sedang dipinjam, ada diperpustakkan)
3.
Pada anggota yang harus dicatat adalah nomor anggota,
NIM, Nama, Alamat, Kota, No telepon, tanggal lahir dan
Jurusan.
4.
Pada setiap terjadi transaksi peminjaman, maka dicatat
tanggal
pinjam, tanggal kembali dan jumlah buku yang
dipinjam.
Identifikasi entitas2 nya, relasi antar entitas dan ER model
perusahaan tersebut
Sisterm Basis Data Informatika PTIIK
65
Latihan:
2. Perusahaan penyelenggara pelatihan TIK memiliki 30 orang
instruktur untuk menangani sampai dengan 100 peserta per sesi
training.
Perusahaan ini menawarkan lima materi training. Setiap materi
training dikelola oleh tim yang terdiri atas dua atau lebih instruktur.
Setiap instruktur maksimal menjadi anggota tim dalam dua materi
training. Setiap sesi training seorang peserta hanya terdaftar pada
satu materi training saja.
1. Identifikasi entitas-entitas perusahaan tersebut!
2. Identifikasi relasi-relasi antar entitasnya!
3. Gambarkan diagram ER model perusahaan training tersebut!
Sisterm Basis Data Informatika PTIIK
66
Model data
Model data :
 adalah sekumpulan cara / peralatan / tool
untuk mendeskripsikan data-data,
hubungannya satu sama lain, semantiknya,
serta batasan konsistensi.
 Ada dua model data, yaitu :



Entity Relationship Diagram (ERD) dan
model relasional.
Keduanya menyediakan cara untuk
mendeskripsikan perancangan basis data
pada tingkat logika.
Sisterm Basis Data Informatika PTIIK
67
Model ERD atau Conceptual Data Model (CDM)
: model yang dibuat berdasarkan anggapan
bahwa dunia nyata terdiri dari koleksi obyekobyek dasar yang dinamakan entitas (entity)
serta hubungan (relationship) antara entitasentitas itu.
Model Relasional atau Physical Data Model
(PDM) : model yang menggunakan sejumlah
tabel untuk menggambarkan data serta
hubungan antara data-data tersebut. Setiap
tabel mempunyai sejumlah kolom di mana
setiap kolom memiliki nama yang unik.
Sisterm Basis Data Informatika PTIIK
Download