pemodelan basis data entity-relationship diagram (contoh ... · pdf filepemodelan basis data...

34
Pemodelan Basis Data Entity-Relationship Diagram (contoh kasus 2) Yusuf Priyandari @Agustus 2010

Upload: doankhanh

Post on 06-Feb-2018

272 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: Pemodelan Basis Data Entity-Relationship Diagram (contoh ... · PDF filePemodelan Basis Data Entity-Relationship Diagram (contoh kasus 2) Yusuf Priyandari @Agustus 2010

Pemodelan Basis Data

Entity-Relationship Diagram

(contoh kasus 2)

Yusuf Priyandari

@Agustus 2010

Page 2: Pemodelan Basis Data Entity-Relationship Diagram (contoh ... · PDF filePemodelan Basis Data Entity-Relationship Diagram (contoh kasus 2) Yusuf Priyandari @Agustus 2010

2

Tahap Pengembangan Basis Data

Model

pri.and.ari@2010

1

2

3

4 5

6 7

1

Topics discussed

Page 3: Pemodelan Basis Data Entity-Relationship Diagram (contoh ... · PDF filePemodelan Basis Data Entity-Relationship Diagram (contoh kasus 2) Yusuf Priyandari @Agustus 2010

3

Database Design Methodology

pri.and.ari@2010

Topics discussed

Page 4: Pemodelan Basis Data Entity-Relationship Diagram (contoh ... · PDF filePemodelan Basis Data Entity-Relationship Diagram (contoh kasus 2) Yusuf Priyandari @Agustus 2010

4

Transformasi ERD ke Dalam Tabel

Tahapan ini adalah tahapan transformasi diagram ER yang telah dibuat

ke dalam tabel basis data dan memeriksa struktur tabel tersebut.

Tujuan utama adalah menyusun deskripsi tabel-tabel kemudian

memeriksa normalisasi tabel-tabel tersebut.

pri.and.ari@20104

Page 5: Pemodelan Basis Data Entity-Relationship Diagram (contoh ... · PDF filePemodelan Basis Data Entity-Relationship Diagram (contoh kasus 2) Yusuf Priyandari @Agustus 2010

5

THE STAYHOME VIDEO RENTALS

Studi Kasus

pri.and.ari@2010

Page 6: Pemodelan Basis Data Entity-Relationship Diagram (contoh ... · PDF filePemodelan Basis Data Entity-Relationship Diagram (contoh kasus 2) Yusuf Priyandari @Agustus 2010

6

1. Menyusun Tabel-Tabel

Untuk setiap entitas yang telah diidentifikasi dalam model ER,

susunlah/dokumentasikan tabel-tabel.

Untuk atribut komposit, simpanlah atribut sederhananya (penyusunnya).

Misal, alamat disimpan dalam bentuk : namajalan, kota, negara bagian

dan kodepos.

Bila mungkin, identifikasi field yang dapat menjadi primary key.

Tabel berikut menyajikan struktur awal tabel-tabel dari entitas yang

telah diidentifikasi sebelumnya.

pri.and.ari@2010

1.1 Tabel-Tabel dari Entitas

Page 7: Pemodelan Basis Data Entity-Relationship Diagram (contoh ... · PDF filePemodelan Basis Data Entity-Relationship Diagram (contoh kasus 2) Yusuf Priyandari @Agustus 2010

7

1. Menyusun Tabel-Tabel

Relasi antara satu entitas dengan entitas lainnya direpresentasikan

melalui mekanisme primary key/foreign key.

Identifikasi terlebih dahulu entitas “parent” dan “child”.

Identifikasi tersebut perlu mempertimbangkan jenis relasi antar entitas,

yakni relasi:

a. One-to-many (1:*) binary relationship

b. One-to-many (1:*) recursive relationship

c. One-to-one (1:1) binary relationship

d. One-to-one (1:1) recursive relationship

e. Many-to-many (*:*) binary relationship

f. Complex relationship

g. Multi-valued attributes.

pri.and.ari@2010

1.2 Tabel-Tabel dari Relasi

Page 8: Pemodelan Basis Data Entity-Relationship Diagram (contoh ... · PDF filePemodelan Basis Data Entity-Relationship Diagram (contoh kasus 2) Yusuf Priyandari @Agustus 2010

8

1. Menyusun Tabel-Tabel

Copy primary key dari tabel “parent” ke tabel “child” sebagai foreign key.

1.2 Tabel-Tabel dari Relasi

a. One-to-many (1:*) binary relationship

pri.and.ari@2010

Page 9: Pemodelan Basis Data Entity-Relationship Diagram (contoh ... · PDF filePemodelan Basis Data Entity-Relationship Diagram (contoh kasus 2) Yusuf Priyandari @Agustus 2010

9

1. Menyusun Tabel-Tabel

Buatlah sebuah field baru yang menyimpan primary key dari “parent” ke “child”

sebagai foreign key.

1.2 Tabel-Tabel dari Relasi

b. One-to-many (1:*) recursive relationship

pri.and.ari@2010

Page 10: Pemodelan Basis Data Entity-Relationship Diagram (contoh ... · PDF filePemodelan Basis Data Entity-Relationship Diagram (contoh kasus 2) Yusuf Priyandari @Agustus 2010

10

1. Menyusun Tabel-Tabel

Transformasi relasi ini lebih komplek dari sebelumnya karena perlu

mempertimbangkan cardinalitas relasi.

Ada 3 bentuk cardinalitas yang mungkin terjadi pada relasi 1:1 tersebut, yakni:

1) Relasi bersifat mandatory pada kedua entitas relasi 1:1

2) Relasi bersifat mandatory pada salah satu entitas relasi 1:1

3) Relasi bersifat opsional pada kedua sisi entitas relasi 1:1

pri.and.ari@2010

1.2 Tabel-Tabel dari Relasi

c. One-to-one (1:1) binary relationship

Page 11: Pemodelan Basis Data Entity-Relationship Diagram (contoh ... · PDF filePemodelan Basis Data Entity-Relationship Diagram (contoh kasus 2) Yusuf Priyandari @Agustus 2010

11

1. Menyusun Tabel-Tabel

Gabungkan kedua entitas ke dalam sebuah tabel baru dan pilih salah satu

primary key dari kedua tabel asal sebagai primary key tabel baru, dan primary key

asal lainnya sebagai alternate key.

1.2 Tabel-Tabel dari Relasi

c. One-to-one (1:1) binary relationship

1). Relasi bersifat mandatory pada kedua entitas relasi 1:1

pri.and.ari@2010

Page 12: Pemodelan Basis Data Entity-Relationship Diagram (contoh ... · PDF filePemodelan Basis Data Entity-Relationship Diagram (contoh kasus 2) Yusuf Priyandari @Agustus 2010

12

1. Menyusun Tabel-Tabel

Identifikasi entitas “parent” dan “child”, yakni entitas yang memiliki cardinalitas

opsional dijadikan sebagai tabel “parent”.

Copy primary key dari tabel “parent” ke tabel “child” sebagai foreign key.

1.2 Tabel-Tabel dari Relasi

c. One-to-one (1:1) binary relationship

2). Relasi bersifat mandatory pada salah satu entitas relasi 1:1

pri.and.ari@2010

Page 13: Pemodelan Basis Data Entity-Relationship Diagram (contoh ... · PDF filePemodelan Basis Data Entity-Relationship Diagram (contoh kasus 2) Yusuf Priyandari @Agustus 2010

13

1. Menyusun Tabel-Tabel

.

1.2 Tabel-Tabel dari Relasi

c. One-to-one (1:1) binary relationship

2). Relasi bersifat mandatory pada salah satu entitas relasi 1:1

pri.and.ari@2010

Page 14: Pemodelan Basis Data Entity-Relationship Diagram (contoh ... · PDF filePemodelan Basis Data Entity-Relationship Diagram (contoh kasus 2) Yusuf Priyandari @Agustus 2010

14

1. Menyusun Tabel-Tabel

Penentuan entitas

“parent” dan “child”

pada kondisi ini

sebenarnya bebas,

tergantung tingkat

pemahaman terhadap

realitas di lapangan

pada relasi kedua

entitas tersebut.

Copy primary key dari

tabel “parent” ke tabel

“child” sebagai foreign

key atau sebaliknya (ini

jk sudah ada informasi

tambahan).

1.2 Tabel-Tabel dari Relasi

c. One-to-one (1:1) binary relationship

3). Relasi bersifat opsional pada kedua entitas relasi 1:1

pri.and.ari@2010

Page 15: Pemodelan Basis Data Entity-Relationship Diagram (contoh ... · PDF filePemodelan Basis Data Entity-Relationship Diagram (contoh kasus 2) Yusuf Priyandari @Agustus 2010

15

1. Menyusun Tabel-Tabel

Sama dengan one-to-one (1:1) binary relationship.

Apabila cardinality berbentuk mandatory pada kedua entitas, maka

representasikan relasi sebagai sebuah tabel baru dengan mengkopi primary key

dari kedua tabel.

Apabila cardinality berbentuk mandatory pada salah satu entitas, maka:

Membuat sebuah field baru di tabel “child” dengan mengkopi primary key dari tabel

“parent”, atau

Membuat sebuah tabel baru untuk menyajikan relasi tersebut, dimana tabel baru itu

memiliki dua buah kolom yang keduanya berisi primary key dari kedua tabel asal

1.2 Tabel-Tabel dari Relasi

d. One-to-one (1:1) recursive relationship

pri.and.ari@2010

Page 16: Pemodelan Basis Data Entity-Relationship Diagram (contoh ... · PDF filePemodelan Basis Data Entity-Relationship Diagram (contoh kasus 2) Yusuf Priyandari @Agustus 2010

16

1. Menyusun Tabel-Tabel

Untuk setiap relasi

biner many-to-

many (*:*) buatlah

sebuah tabel baru

untuk menyajikan

relasi kedua

entitas. Tabel baru

itu dikenal sebagai

tabel

transaksional.

Copy primary key

dari kedua entitas

ke dalam tabel

baru yang

bertindak sebagai

foreign key.

1.2 Tabel-Tabel dari Relasi

e. Many-to-many (*:*) binary relationship

pri.and.ari@2010

Page 17: Pemodelan Basis Data Entity-Relationship Diagram (contoh ... · PDF filePemodelan Basis Data Entity-Relationship Diagram (contoh kasus 2) Yusuf Priyandari @Agustus 2010

17

1. Menyusun Tabel-Tabel

Buatlah sebuah

tabel baru untuk

menyajikan relasi

antar entitas.

Copy primary key

dari entitas-entitas

ke dalam tabel

baru yang

bertindak sebagai

foreign key.

1.2 Tabel-Tabel dari Relasi

f. Complex relationship

pri.and.ari@2010

Page 18: Pemodelan Basis Data Entity-Relationship Diagram (contoh ... · PDF filePemodelan Basis Data Entity-Relationship Diagram (contoh kasus 2) Yusuf Priyandari @Agustus 2010

18

1. Menyusun Tabel-Tabel

Buatlah sebuah

tabel baru untuk

menyajikan relasi

antar entitas.

Copy primary key

dari entitas-entitas

ke dalam tabel baru

yang bertindak

sebagai foreign key.

1.2 Tabel-Tabel dari Relasi

f. Complex relationship

pri.and.ari@2010

Page 19: Pemodelan Basis Data Entity-Relationship Diagram (contoh ... · PDF filePemodelan Basis Data Entity-Relationship Diagram (contoh kasus 2) Yusuf Priyandari @Agustus 2010

19

1. Menyusun Tabel-Tabel

Aturannya sama

dengan relasi 1:*.

Pisahkan atribut

bernilai jamak (multi

atribut) tersebut ke

dalam sebuah tabel

baru.

Copy primary key

dari entitas “parent”

ke dalam tabel baru

yang dibentuk.

1.2 Tabel-Tabel dari Relasi

g. Multi-valued Atribute

pri.and.ari@2010

Page 20: Pemodelan Basis Data Entity-Relationship Diagram (contoh ... · PDF filePemodelan Basis Data Entity-Relationship Diagram (contoh kasus 2) Yusuf Priyandari @Agustus 2010

20

1. Menyusun Tabel-Tabel

Hasil pembuatan tabel disajikan sebagai berikut.

pri.and.ari@2010

Page 21: Pemodelan Basis Data Entity-Relationship Diagram (contoh ... · PDF filePemodelan Basis Data Entity-Relationship Diagram (contoh kasus 2) Yusuf Priyandari @Agustus 2010

21

2. Periksa Struktur Tabel (Normalisasi)

Periksa apakah setiap tabel yang telah dibentuk telah memenuhi aturan

normalisasi, minimum memenuhi bentul 3NF.

pri.and.ari@2010

Page 22: Pemodelan Basis Data Entity-Relationship Diagram (contoh ... · PDF filePemodelan Basis Data Entity-Relationship Diagram (contoh kasus 2) Yusuf Priyandari @Agustus 2010

22

3. Periksa Kemampuan Tabel

Mendukung Transaksi

pri.and.ari@2010

Page 23: Pemodelan Basis Data Entity-Relationship Diagram (contoh ... · PDF filePemodelan Basis Data Entity-Relationship Diagram (contoh kasus 2) Yusuf Priyandari @Agustus 2010

23

3. Periksa Kemampuan Tabel

Mendukung Transaksi

pri.and.ari@2010

Page 24: Pemodelan Basis Data Entity-Relationship Diagram (contoh ... · PDF filePemodelan Basis Data Entity-Relationship Diagram (contoh kasus 2) Yusuf Priyandari @Agustus 2010

24

3. Periksa Kemampuan Tabel

Mendukung Transaksi

pri.and.ari@2010

Page 25: Pemodelan Basis Data Entity-Relationship Diagram (contoh ... · PDF filePemodelan Basis Data Entity-Relationship Diagram (contoh kasus 2) Yusuf Priyandari @Agustus 2010

25

3. Periksa Kemampuan Tabel

Mendukung Transaksi

pri.and.ari@2010

Page 26: Pemodelan Basis Data Entity-Relationship Diagram (contoh ... · PDF filePemodelan Basis Data Entity-Relationship Diagram (contoh kasus 2) Yusuf Priyandari @Agustus 2010

26

3. Periksa Kemampuan Tabel

Mendukung Transaksi

pri.and.ari@2010

Page 27: Pemodelan Basis Data Entity-Relationship Diagram (contoh ... · PDF filePemodelan Basis Data Entity-Relationship Diagram (contoh kasus 2) Yusuf Priyandari @Agustus 2010

27

4. Periksa Business Rule

a. Data yang diperlukan

Periksa kembali dalam kamus data, data mana saja yang boleh bernilai

null dan data mana yang tidak boleh. Apakah data2 tersedia untuk

pengujian.

b. Batasan domain fields

Periksa kembali domain tiap field, misal untuk posisi jabatan, apakah

benar hanya berupa Manager, Supervisor, atau Staff.

Periksa kembali tipe data yang akan digunakan.

c. Integritas entitas

Periksa kembali apakah field yang dijadikan primary key selalu bernilai not

null. Hal ini untuk menjamin adanya kesatuan relasi dalam basis data.

d. Cardinalitas

Periksa kembali cardinalitas hubungan antar tabel.

e. Integritas referensial

…pri.and.ari@2010

Page 28: Pemodelan Basis Data Entity-Relationship Diagram (contoh ... · PDF filePemodelan Basis Data Entity-Relationship Diagram (contoh kasus 2) Yusuf Priyandari @Agustus 2010

28

4. Periksa Business Rule

e. Integritas referensial

Integritas referensial adalah jika suatu foreign key berisi nilai, maka nilai

tersebut harus benar-benar merujuk pada record di tabel induk.

Dua hal yang harus dicermati:

1. Apakah null diperkenankan untuk suatu foreign key ?

Sample: noCabang bolehkan bernilai null pada tabel Staff ?

2. Bagaimana menjamin adanya integritas referensial

Apa kondisi yang diperbolehka pada suatu foreign key apabila terjadi proses update, atau

deleted terhadap tabel induk (primary key) ?.

Ada sejumlah aturan yang dapat dipakai dalam integritas referensial (on

Update / Delete ) :

1. NO ACTION

2. CASCADE

3. SET NULL

4. SET DEFAULT

5. NO CHECK

pri.and.ari@2010

Page 29: Pemodelan Basis Data Entity-Relationship Diagram (contoh ... · PDF filePemodelan Basis Data Entity-Relationship Diagram (contoh kasus 2) Yusuf Priyandari @Agustus 2010

29

4. Periksa Business Rule

e. Integritas referensial

Ada sejumlah aturan yang dapat dipakai dalam integritas referensial (on

Update / Delete ) :

1. NO ACTION tidak boleh menghapus/update sebuah record di tabel induk

apabila record tersebut ada dipakai oleh tabel anak sebagai FK.

2. CASCADE Hapus secara otomatis data FK di tabel anak apabila sebuah

record di tabel induk di hapus.

3. SET NULL Apabila record di tabel induk dihapus, maka data FK di tabel anak

akan di set bernilai Null.

4. SET DEFAULT Apabila record di tabel induk dihapus, maka data FK di tabel

anak akan di set menjadi nilai default.

5. NO CHECK Apabila record di tabel induk dihapus, maka tidak dilakukan

pengecekan terhadap tabel anak yang menggunakan record tersebut..

pri.and.ari@2010

Page 30: Pemodelan Basis Data Entity-Relationship Diagram (contoh ... · PDF filePemodelan Basis Data Entity-Relationship Diagram (contoh kasus 2) Yusuf Priyandari @Agustus 2010

30

4. Periksa Business Rule

e. Integritas referensial

pri.and.ari@2010

Page 31: Pemodelan Basis Data Entity-Relationship Diagram (contoh ... · PDF filePemodelan Basis Data Entity-Relationship Diagram (contoh kasus 2) Yusuf Priyandari @Agustus 2010

31

5. Review logikal basis data

dengan Pengguna

Komunikasikan basis data yang telah dirancang dengan pengguna.

pri.and.ari@2010

Page 32: Pemodelan Basis Data Entity-Relationship Diagram (contoh ... · PDF filePemodelan Basis Data Entity-Relationship Diagram (contoh kasus 2) Yusuf Priyandari @Agustus 2010

32

Diskusi

pri.and.ari@201032

Page 33: Pemodelan Basis Data Entity-Relationship Diagram (contoh ... · PDF filePemodelan Basis Data Entity-Relationship Diagram (contoh kasus 2) Yusuf Priyandari @Agustus 2010

33

Tugas Mandiri

Baca buku [1] chapter 11

pri.and.ari@201033

Page 34: Pemodelan Basis Data Entity-Relationship Diagram (contoh ... · PDF filePemodelan Basis Data Entity-Relationship Diagram (contoh kasus 2) Yusuf Priyandari @Agustus 2010