pemodelan basis data entity-relationship diagram (contoh ... basis data entity-relationship diagram...

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

Post on 06-Feb-2018

230 views

Category:

Documents

7 download

Embed Size (px)

TRANSCRIPT

  • Pemodelan 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

  • 3

    Database Design Methodology

    pri.and.ari@2010

    Topics discussed

  • 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

  • 5

    THE STAYHOME VIDEO RENTALS

    Studi Kasus

    pri.and.ari@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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 20

    1. Menyusun Tabel-Tabel

    Hasil pembuatan tabel disajikan sebagai berikut.

    pri.and.ari@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

  • 22

    3. Periksa Kemampuan Tabel

    Mendukung Transaksi

    pri.and.ari@2010

  • 23

    3. Periksa Kemampuan Tabel

    Mendukung Transaksi

    pri.and.ari@2010

  • 24

    3. Periksa Kemampuan Tabel

    Mendukung Transaksi

    pri.and.ari@2010

  • 25

    3. Periksa Kemampuan Tabel

    Mendukung Transaksi

    pri.and.ari@2010

  • 26

    3. Periksa Kemampuan Tabel

    Mendukung Transaksi

    pri.and.ari@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

  • 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

  • 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

Recommended

View more >