07 database design

Upload: damalyk

Post on 06-Jul-2018

223 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/16/2019 07 Database Design

    1/103

    1/107

    Desain Database

    Dr. Khamami Herusantoso

  • 8/16/2019 07 Database Design

    2/103

    2/107

    Agenda

    Database planning

    System definition

    Requirement collection & analysis

    Database design

    Dr. Khamami Herusantoso

  • 8/16/2019 07 Database Design

    3/103

    Sekolah Tinggi Ilmu Statistik (STIS)

    Database planning

    System defnition

    Requirementolletion ! analysis

    "oneptual dbdesign

    #ogial db design

    $hysial db design

    %mplementation

    Data on&ersion !loading

     'esting

    (perational maintenane

    )ppliation

    design

    D*+S seletion

    ,opt-

    $rototyping ,opt-

    Db Design

    Dr. Khamami Herusantoso

    D* SystemDe&elopment#ieyle

  • 8/16/2019 07 Database Design

    4/103

    /107

    Step 1: Database Planning

    Mengatur aktivitas-aktivitas yang memungkinkan

    tahapan database system development lifecycle

    dilaksanakan seefisien dan seefektif mungkin

    Dua langkah penting dalam perencanaan:

    1 Mendefinisikan mission statement untuk database

    system

    ! Mengideintifikasi mission ob"ectives

    Dr. Khamami Herusantoso

  • 8/16/2019 07 Database Design

    5/103

    /107

    (i) Mission Statement

    Paparan misi  menolong dalam men"elaskan tu"uan

    dari proyek database dan memberikan arah yang

    lebih "elas kepada pembuatan database system

    yang efisien dan efektif 

    Dr. Khamami Herusantoso

  • 8/16/2019 07 Database Design

    6/103

    /107

    Perusahaan Broker (Property)

    #ontoh: tu"uan dari Dream$ome database system adalah

    untuk mengelola data yang digunakan dan dibuat guna

    mendukung bisnis sewa properti oleh client dan pemilik

     properti, dan juga untuk membantu kerjasama dan

    information sharing diantara cabang 

    Dr. Khamami Herusantoso

  • 8/16/2019 07 Database Design

    7/1037/107

    (ii) Mission Objeti!es

    Setiap sasaran misi hendaknya dapat mengiden-

    tifikasi tugas tertentu yg harus didukung oleh

    database

    Dr. Khamami Herusantoso

  • 8/16/2019 07 Database Design

    8/103/107

    "#ample: Mission Objeti!es $or

    Dream%ome Database System

    Dr %hamami $erusantoso

  • 8/16/2019 07 Database Design

    9/103

    Sekolah Tinggi Ilmu Statistik (STIS)

    Database planning

    System defnition

    Requirementolletion ! analysis

    "oneptual dbdesign

    #ogial db design

    $hysial db design

    %mplementation

    Data on&ersion !loading

     'esting

    (perational maintenane

    )ppliation

    design

    D*+S seletion

    ,opt-

    $rototyping ,opt-

    Db Design

    Dr. Khamami Herusantoso

  • 8/16/2019 07 Database Design

    10/103

    10/107

    Step &: System De$inition

    Men"elaskan:

    1 scope dan batasan dari database system

    ! vie-vie utama dari pemakai

    'ser vie mendefinisikan apa-apa yang diminta

    pada database system dari sudut pandang:

    .(abatan peker"aan )misal* manager  atau supervisor + atau

    .,nterprise application area )misal* marketing * personnel *

    or stock control +

    Dr. Khamami Herusantoso

  • 8/16/2019 07 Database Design

    11/103

  • 8/16/2019 07 Database Design

    12/103

    12/107

    'ontoh: ser ie*

    Dr. Khamami Herusantoso

  • 8/16/2019 07 Database Design

    13/103

    13/107

    Database planning

    System definition

    Requirement collection& analysis

    #onceptual db design

    ogical db design

    .hysical db design

    /mplementation

    Data conversion & loading

    0esting

    perational maintenance

     2pplication designD3MS selection )opt+

    .rototyping )opt+

    Db Design

    Dr. Khamami Herusantoso

  • 8/16/2019 07 Database Design

    14/103

    1/107

    Step +: ,e-uirements 'olletion

    and Analysis

    .roses pengumpulan dan penganalisaan informasi

    tentang bagian organisasi yang akan disupport

    oleh sistem database yang akan dibuat

    $asil diatas digunakan untuk mengidentifikasi

    permintaan pemakai terhadap sistem yang baru

    $asil dari step ini adalah users’ requirements

    specification document 

    Dr. Khamami Herusantoso

  • 8/16/2019 07 Database Design

    15/103

    1/107

    Akti!itas yang Dilakukan

    1 /dentifikasi aplikasi utama dan kelompok pemakai

    yang akan menggunakan database yang akan

    dirancang

    ! Studi dan analisa dokumentasi yang ada yang

    berhubungan dengan aplikasi yang akan dibuat

    4 Studi lingkungan operasi dan rencana penggunaaninformasi

     2nalisa "enis transaksi dan frekuensi pelaksanaannya

    Dr. Khamami Herusantoso

  • 8/16/2019 07 Database Design

    16/103

    1/107

    ,e-uirement . Spei$iation Do

    Dr. Khamami Herusantoso

  • 8/16/2019 07 Database Design

    17/103

    17/107

    ,e-uirement . Spei$iation Do

    Dr. Khamami Herusantoso

  • 8/16/2019 07 Database Design

    18/103

    1/107

    Database planning

    System definition

    Requirement collection

    & analysis

    #onceptual db design

    ogical db design

    .hysical db design

    /mplementation

    Data conversion & loading

    0esting

    perational maintenance

     2pplication designD3MS selection )opt+

    .rototyping )opt+

    Db Design

    Dr. Khamami Herusantoso

  • 8/16/2019 07 Database Design

    19/103

    14/107

    Database Design

    .roses untuk membuat sebuah rancangan

    database yang akan mendukung mission

    statement  dan mission objective perusahaan

     2pproach:3ottom-up

    0op-don

    Dr. Khamami Herusantoso

  • 8/16/2019 07 Database Design

    20/103

    20/107

    Bottom/p and 0op/Do*n Approah

    Sumber

    data

    )laporan*

    form dll+

    'nnormali5ed

    6orm )'76+ubah ke

    format tabel

    3entuk

    normal

    pertama

    )176+

    hilangkanketergantungan

    parsial

    3entuknormal tahap

    kedua )!76+

    hilangkanketergantungan

    transitif 

    3entuknormal tahap

    ketiga )476+

    hilangkangroup

    berulang

    Diagram ,R

    Dunia 7yata

    buat diagram ,R

    petakan ke tabel

  • 8/16/2019 07 Database Design

    21/103

    21/107

    Database Design Approahes

    3ottom-up: represented by normali5ation process

    Dimulai dari level atribut-atribut dasar )yaitu entitas*

    properti dan relationship+* dimana dengan analisa dariasosiasi diantara atribut-atribut tsb* atribut dikelompokkan

    men"adi tabel-tabel yang merepresentasikan tipe entitas

    dan hubungan diantara entitas

    0epat untuk perancangan Database yang sederhana

    dengan "umlah atribut yang relatif sedikit

    Dr. Khamami Herusantoso

  • 8/16/2019 07 Database Design

    22/103

    22/107

    'ontoh: Peranangan Database

    Bottom/up

    %umpulan atribut: NIP, Nama, NoUnit, NamaUnit,

    NIPtasan, Nama tasan

    Dr. Khamami Herusantoso

    NIP Nama NoUnit NamaUnit NIPAtasan NamaAtasan

    881 3udi 81 Set"en 889 udi

    88! udo 81 Set"en 889 udi

    884 0uti 8! 3..% 88; ono

    88; ono 8! 3..% 88< ani

    88= eni 84 D(. 88> uni

    889 udi 81 Set"en 818 ana

  • 8/16/2019 07 Database Design

    23/103

    23/107

    'ontoh: Peranangan Database

    Bottom/up (lanjutan)

    Dikelompokkan kedalam tiga "enis entitas )dengan

    proses normalisasi+ .egaai )atribut ke-1 dan ke-

    !+* 'nit )atribut ke-4 dan ke-;+* dan 2tasan )atribut

    ke-= dan ke-9+

    ,ntitas-entitas tersebut men"adi tabel

    Dr. Khamami Herusantoso

  • 8/16/2019 07 Database Design

    24/103

    2/107

    Database Design Approahes

    0op-Don: illustrated by the ,R model concepts

    Dimulai dari pengembangan data model yang berisikan

    beberapa high-level entitas dan relationship* dankemudian mengaplikasikan top-don refinement secara

    berturut-turut untuk mengidentifikasi entitas dengan level

    yang lebih rendah* relationship dan atribut-atribut yang

    terasosiasi

    0epat untuk perancangan Database yang kompleks

    Dr. Khamami Herusantoso

  • 8/16/2019 07 Database Design

    25/103

    2/107

    'ontoh: Peranangan Database

    0op/Do*n

     d       i       

      p       e       c       a      

    h       

    7/. 7ama 7ama'nit

    .egaai

    7/. 7ama

    7o'nit

    'nit

    7ama'nit7o'nit

    .egaai

    3eker"a

    Dr. Khamami Herusantoso

  • 8/16/2019 07 Database Design

    26/103

    2/107

    Database planning

    System definition

    Requirement collection

    & analysis

    #onceptual db design

    ogical db design

    .hysical db design

    /mplementation

    Data conversion & loading

    0esting

    perational maintenance

     2pplication designD3MS selection )opt+

    .rototyping )opt+

    Db Design

    Dr. Khamami Herusantoso

  • 8/16/2019 07 Database Design

    27/103

    27/107

    'oneptual Database Design

    .roses pembuatan sebuah model dari data yang

    digunakan pada sebuah perusahaan* tidak

    bergantung pada pertimbangan fisik

    Model data dibuat dengan menggunakan informasi yang

    tertulis dalam users’ requirements specification

    Model data konseptual adalah sumber dari

    informasi untuk fase perancangan logikal

    Dr. Khamami Herusantoso

  • 8/16/2019 07 Database Design

    28/103

    2/107

    ogial Database Design

    .roses pembuatan sebuah model berdasarkan

    pada sebuah model data yang spesifik )misalnya

    relasional+* tetapi tidak bergantung pada D3MS

    tertentu dan pertimbangan fisik lainnya

    Model data konseptual diproses dan dipetakan ke

    model data logikal hasilnya adalah tabel-tabel

    relational yang telah dinormalisasi

    Dr. Khamami Herusantoso

  • 8/16/2019 07 Database Design

    29/103

  • 8/16/2019 07 Database Design

    30/103

    30/107

    conceptual DB design

    Logical DB design

    Physical DB

    Design

    buat diagram ER

    Bottom/p and 0op/Do*n

    Approah

    Sumber

    data

    )laporan*

    form dll+

    'nnormali5ed

    6orm )'76+ubah ke

    format tabel

    3entuk

    normal

    pertama)176+

    hilangkan

    ketergantunganparsial

    3entuk

    normal tahap

    kedua )!76+

    hilangkan

    ketergantungantransitif 

    3entuk

    normal tahap

    ketiga )476+

    hilangkan

    groupberulang

    Diagram ,R

    Dunia 7yata

    petakan ke tabel

  • 8/16/2019 07 Database Design

    31/103

    31/107

    Pemodelan DataDengan "ntity

    ,elationship (",)

    .okok 3ahasan ke-;

  • 8/16/2019 07 Database Design

    32/103

    32/107

    Agenda

    %onsep model ,R

    Multiplicity

    Dr. Khamami Herusantoso

  • 8/16/2019 07 Database Design

    33/103

    33/107

    "ntity ,elationship Diagram

    Staff 

    staff7o

    Super&ises

    mgrStart

    Datebranch7o

    3ranch

    Registers

    client7o .referenceState

    s

    1

    M 1

    1

    M

    1 M

    1Supervisee

    Supervisor 1

    M 1

    +anage

    #lient

    Has

    Dr. Khamami Herusantoso

    States

  • 8/16/2019 07 Database Design

    34/103

    3/107

    2onsep Model ",

    1 0ipe?himpunan entitas )entity type+

    ! 0ipe?himpunan relasi )relationship type+

    4  2tribut )attributes+

    Dr. Khamami Herusantoso

  • 8/16/2019 07 Database Design

    35/103

    3/107

    13 0ipe "ntitas

    0ipe entitas )entity type+%umpulan dari ob"ek-ob"ek yang memiliki properti?

    karakteristik yang sama* yang diidentifikasi oleh suatu

    perusahaan?pemakai memiliki keberadaan yang bebas

    %e"adian ,ntitas )entity occurrence+b"ek?instance dari tipe entitas yang dapat

    diidentifikasikan secara unik

    Dr. Khamami Herusantoso

  • 8/16/2019 07 Database Design

    36/103

    3/107

    'ontoh 0ipe "ntitas

    Dr. Khamami Herusantoso

  • 8/16/2019 07 Database Design

    37/103

    37/107

    Diagram ", dari 0ipe "ntitas Sta$$

    dan Branh 

    Dilambangkan sebagai empat persegi pan"ang

    yang diberi label dengan nama entitas* yang

    biasanya merupakan kata benda tunggal

    $uruf pertama nama entitas adalah huruf besar 

    Dr. Khamami Herusantoso

  • 8/16/2019 07 Database Design

    38/103

    3/107

    &3 0ipe ,elasi

    0ipe relasi )relationship type+Sekumpulan asosiasi?hubungan diantara "enis entitas

    yang memiliki arti tertentu

    %e"adian relasi )relationship occurrence+ 2sosiasi?hubungan yang dapat diidentifikasi secara unik*

    termasuk satu occurrence untuk setiap "enis entitas yang

    berpartisipasi

    Dr. Khamami Herusantoso

  • 8/16/2019 07 Database Design

    39/103

    34/107

    Diagram ", dari ,elasi Branh

    %as Sta$$ 

    7ama relasi adalah kata ker"a atau frase yang

    mengandung kata ker"a )eg* !upervises &

    "eased#y +

    $uruf pertama dari setiap kata adalah huruf besar 

    Dr %hamami $erusantoso

    3ranch Staff  $as

    @3ranch has staffA

  • 8/16/2019 07 Database Design

    40/103

    0/107

    Semanti 4et 0ipe ,elasi %as 

    entity occurrence entity occurrencerelationship occurrence

    Dr. Khamami Herusantoso

  • 8/16/2019 07 Database Design

    41/103

    1/107

    Derajat ,elasi

    Dera"at relasi )degree of a relationship+

    (umlah entitas yang berpartisipasi dalam suatu relasi

    Dera"at relasi:

    Dua disebut biner )binary+

    0iga disebut ternary

    ,mpat disebut quaternary

    Dr. Khamami Herusantoso

  • 8/16/2019 07 Database Design

    42/103

    2/107

    ,elasi Biner: O*ns dan %as 

    ns

    3ranch Staff  $as

    @3ranch has staffA

    Dr. Khamami Herusantoso

  • 8/16/2019 07 Database Design

    43/103

    3/107

    ,elasi 0ernary: ,egisters 

    Relasi direpresentasikan dengan menggunakan

    lambang diamond 

    7ama relasi dituliskan didalam diamond  tersebut

    Staf mendaftarkan klien pada

    sebuah kantor cabang

    Dr. Khamami Herusantoso

  • 8/16/2019 07 Database Design

    44/103

    /107

    ,elasi 5uaternary: Arranges 

    .engumpul derma membuat taaran

    )bid+ atas nama pembeli yang

    didukung oleh institusi keuangan

    Dr. Khamami Herusantoso

  • 8/16/2019 07 Database Design

    45/103

    /107

    6enis ,elasi

    Relasi tunggal )recursive?unary relationship+

    Suatu relasi dimana "enis entitas yang sama

    berpartisipasi lebih dari sekali dengan fungsi yangberbeda-beda

    Relasi dapat diberikan nama fungsi )role name+

    untuk menun"ukkan tu"uan dari setiap "enis entitasyang berpartisipasi pada sebuah relasi

    Dr. Khamami Herusantoso

  • 8/16/2019 07 Database Design

    46/103

    /107

    ,elasi 0unggal: Super!ises  dgn 4ama

    7ungsi Super!isor  dan Super!ises 

    Staff Super 

    vises

    Supervisor 

    Supervisee

    Role name

    Dr. Khamami Herusantoso

    " tit 0 i i M l l i D

  • 8/16/2019 07 Database Design

    47/103

    7/107

    "ntitas yang 0erasosiasi Melalui Dua

    ,elasi Berbeda Dengan 4ama 7ungsi

    Manages

    $as

    Dr. Khamami Herusantoso

  • 8/16/2019 07 Database Design

    48/103

    /107

    +3 Atribut

     2tribut

    .roperti dari sebuah entitas atau relasi

    Domain atribut

    $impunan dari nilai-nilai yang mungkin dari satu atau

    lebih atribut

    Dr. Khamami Herusantoso

  • 8/16/2019 07 Database Design

    49/103

    4/107

    6enis Atribut

     2tribut sederhana )simple?atomic attribute+

     2tribut komposit?campuran )composite attribute+

     2tribut bernilai-tunggal )single-valued 2ttribute+

     2tribut bernilai-"amak )multi-valued 2ttribute+ 2tribut turunan )derived attribute+

    Dr. Khamami Herusantoso

  • 8/16/2019 07 Database Design

    50/103

    0/107

    Atribut sederhana

     2tribut yang terdiri dari komponen tunggal dengan

    keberadaan bebas

    #ontoh: jabatan dan gaji  pada entitas staf 

    ga"i  "abatan

    Dr. Khamami Herusantoso

  • 8/16/2019 07 Database Design

    51/103

    1/107

    Atribut 2omposit8'ampuran

     2tribut terdiri dari beberapa komponen* setiap

    komponen keberadaannya bebas

    #ontoh: atribut alamat  pada entitas #ranch yang dapat

    dipecah men"adi nama jalan* kota dan kode pos$

    %eputusan untuk memecah atribut ini bergantung pada

    vie pemakai terhadap data

    alamat

     "alan kota pos

    Dr. Khamami Herusantoso

  • 8/16/2019 07 Database Design

    52/103

    2/107

    Atribut Bernilai/0unggal

     2tribut yang menyimpan nilai tunggal untuk setiap

    occurrence%instance dari sebuah entitas

    #ontoh* setiap occurrence dari entitas #ranch memiliki nomor branch )branchNo+ atribut yang

    bernilai tunggal

    branch7

    o

    Dr. Khamami Herusantoso

  • 8/16/2019 07 Database Design

    53/103

    3/107

    Atribut bernilai/jamak

     2tribut yang menyimpan nilai "amak untuk setiap

    occurrence dari tipe entitas

    #ontoh* setiap occurrence dari tipe entitas #ranch dapat memiliki nilai atribut telNo lebih dari satu

    tel7o

    Dr. Khamami Herusantoso

  • 8/16/2019 07 Database Design

    54/103

    /107

    Atribut 0urunan

     2tribut yang merepresentasikan sebuah nilai dari

    turunan nilai sebuah atribut atau himpunan atribut yang

    berhubungan )atribut-atribut tersebut tidak selalu harus

    dari tipe entitas yang sama+

     

    #ontoh 2tribut durasi yang dihitung dari atribut rent!tart  dan rent&inish

     2tribut total!taff  yang dihitung dengan menghitung total "umlah

    kemunculan dari entitas staff 

    durasi

    Dr. Khamami Herusantoso

    ' t h Di ", b t

  • 8/16/2019 07 Database Design

    55/103

    /107

    'ontoh Diagram ", beserta

    Atributnya

    ,mployee DepartmentBorks6or bdate

    nip

    name

    lnamefname

    seC address salaryname number location

    number of employees

    degree

    Dr. Khamami Herusantoso

    multi-valued

    attribute

    derived

    attribute

    composite

    attributeattribute as

    .%

    ' t h Di ", b t

  • 8/16/2019 07 Database Design

    56/103

    /107

    'ontoh Diagram ", beserta

    Atributnya

    ,mployee DepartmentBorks6or bdate

    nip

    name

    lnamefname

    seC address salaryname number location

    number of employees

    degree

    Dr. Khamami Herusantoso

    multi-valued

    attribute

    derived

    attribute

    composite

    attributeattribute as

    .%

    year 

    attribute for

    relationship

  • 8/16/2019 07 Database Design

    57/103

    7/107

    0ipe "ntitas

    0ipe ,ntitas %uat )!trong 'ntity (ype+

    0ipe ,ntitas emah ))eak 'ntity (ype+

    Dr. Khamami Herusantoso

  • 8/16/2019 07 Database Design

    58/103

    /107

    0ipe "ntitas 2uat

    0ipe entitas yang keberadaannya bebas dari

    keberadaan entitas lain

    0iap occurrence dari entitas ini secara unik dapat

    diidentifikasi dengan menggunakan atribut primarykey dari tipe entitas tsb

    ,mployeebdate

    nip

    name

    lnamefname

    seC address salary

    degree

    Dr. Khamami Herusantoso

  • 8/16/2019 07 Database Design

    59/103

  • 8/16/2019 07 Database Design

    60/103

    0/107

    Multipliity

    Dalam sebuah relationship pada Database

    terdapat batasan-batasan yang terstruktur

    )!tructural *onstraints+

    0ipe utama dari batasan disebut multiplicity  yang

    mencerminkan aturan dari sistem yang akan

    dibuat oleh user

    Dr. Khamami Herusantoso

  • 8/16/2019 07 Database Design

    61/103

    1/107

    Multipliity

    Dera"at relasi yang paling umum adalah biner

    )binary +

    Rasio kardinalitas )Multiplicity+ dari relasi biner:

    Satu-ke-satu?one-to-one )1:1+

    Satu-ke-banyak?one-to-many )1:+ atau 1:7

    3anyak-ke-banyak?many-to-many ):+ atau M:7 atau 7:7

    Dr. Khamami Herusantoso

    Semanti 4et dari 0ipe ,elasi Sta$$

  • 8/16/2019 07 Database Design

    62/103

    2/107

    Semanti 4et dari 0ipe ,elasi Sta$$

    Manages Branh  

    Dr. Khamami Herusantoso

    Multipliity dari ,elasi Sta$$ Manages

  • 8/16/2019 07 Database Design

    63/103

    3/107

    Multipliity dari ,elasi Sta$$ Manages

    Branh  (1:1)

    Staff 

    staff7o

    3ranch

    branch7o

    Manages1 1

    Multiplicity

    Seorang Staff mengelola8 atau 1 3ranchSebuah 3ranch dikelolaoleh hanya 1 Staff

    Dr. Khamami Herusantoso

    Semanti 4et dari 0ipe ,elasi Sta$$

  • 8/16/2019 07 Database Design

    64/103

    /107

    Semanti 4et dari 0ipe ,elasi Sta$$

    O!ersees Property7or,ent 

    Dr. Khamami Herusantoso

    Multipliity dari 0ipe ,elasi Sta$$ O!ersees

  • 8/16/2019 07 Database Design

    65/103

    /107

    Multipliity dari 0ipe ,elasi Sta$$ O!ersees

    Property7or,ent  (1:M)

    Staff 

    staff7o

    .roperty6orRent

    property7o

    versees1 M

    Seorang Staff mengaasi8 atau banyak .roperty

    Sebuah .roperty diaasioleh 8 atau 1 Staff

    Dr. Khamami Herusantoso

    Semanti 4et dari 0ipe ,elasi 4e*spaper

  • 8/16/2019 07 Database Design

    66/103

    /107

    Semanti 4et dari 0ipe ,elasi 4e*spaper

    Ad!ertises Property7or,ent  

    Dr. Khamami Herusantoso

    Multipliity dari 0ipe ,elasi 4e*spaper

  • 8/16/2019 07 Database Design

    67/103

    7/107

    Multipliity dari 0ipe ,elasi 4e*spaper

    Ad!ertises Property7or,ent (M:4)

    7espaper 

    name

    .roperty6orRent

    property7o

     2dvertisesM 7

    Sebuah .roperty diiklankan

    oleh 8 atau banyak koran

    Sebuah koran mengiklankan

    1 atau banyak .roperty

    Dr. Khamami Herusantoso

  • 8/16/2019 07 Database Design

    68/103

    /107

    2omponen Multipliity

    Multiplicity dibentuk dari dua tipe batasan?restriksi

    pada relasi yaitu:

    %ardinalitas )cardinality + dan

    3atasan partisipasi ) participation constraint +

    Dr. Khamami Herusantoso

  • 8/16/2019 07 Database Design

    69/103

    4/107

    2omponen Multipliity

    %ardinalitas

    Menerangkan "umlah maksimum dari occurrence relasi

    yang mungkin bagi sebuah entitas yang berpartisipasidalam suatu tipe relasi

    3atasan partisipasi

    Menentukan apakah semua atau hanya sebagian entitas

    occurrence sa"a yang berpartisipasi pada sebuah relasi

    Dr. Khamami Herusantoso

    Multipliity Sebagai 2ardinalitas dan

  • 8/16/2019 07 Database Design

    70/103

    70/107

    Multipliity Sebagai 2ardinalitas dan

    Batasan Partisipasi

    Staff 

    staff7o

    3ranch

    branch7o

    Manages1 1

    sebuah branch dikelola

    oleh maC seorang staff 

    seorang staff mengelola

    maC sebuah branch

    Cardinality

    semua branch harus ada

    yang mengelola )mandatory+

    tidak semua staff

     "adi pengelola )optional+

    participation

    ratio cardinality

     1:1

    Dr. Khamami Herusantoso

  • 8/16/2019 07 Database Design

    71/103

    71/107

    Baalah9

    Staff 

    staff7o

    Super&ises

    mgrStart

    Datebranch7o

    3ranch

    Registers

    client7o .referenceState

    s

    1

    M 1

    1

    M

    1 M

    1Supervisee

    Supervisor 1

    M 1

    +anage

    #lient

    Has

    Dr. Khamami Herusantoso

  • 8/16/2019 07 Database Design

    72/103

    72/107

    atihan Penulisan ",D

    Dr. Khamami Herusantoso

  • 8/16/2019 07 Database Design

    73/103

    77/107

    Pemetaan Diagram ",

    ke 0abel

    .okok 3ahasan ke-=

  • 8/16/2019 07 Database Design

    74/103

    7/107

    Agenda

    0u"uan pemetaan

    .emetaan berdasarkan entity type

    .emetaan berdasarkan relationship type

    .emetaan berdasarkan attribute

    Dr. Khamami Herusantoso

  • 8/16/2019 07 Database Design

    75/103

  • 8/16/2019 07 Database Design

    76/103

    0/107

    N

    Diagram ",

    Dr %hamami $erusantoso

    Staff 

    staffNo

    fName lName

    position

    sex

    DOB

    name

    ClientclientNo

    fName   lName

    telNoname

    Preference

    prefType maxRent

    Property ForRent

    propertyNo

    street city  

    type

    rent

    rooms

    address

    postcode

    Registers

    1

    1States

    1

     view Date

    comment

    Views N

    M

  • 8/16/2019 07 Database Design

    77/103

    1/107

    Pemetaan Diagram ", ke 0abel

    .emetaan dilakukan berdasarkan element berikut:1 0ipe entitas kuat )strong entity types+

    ! 0ipe entitas lemah )eak entity types+

    4 0ipe relasi biner ne-to-many )1:+; 0ipe relasi biner ne-to-one )1:1+

    = 0ipe relasi recursive?unary

    9 0ipe relasi biner many-to-many ):+E 0ipe relasi kompleks

  • 8/16/2019 07 Database Design

    78/103

    2/107

    13 Pemetaan "ntitas 2uat (Strong

    "ntity)

    'ntuk setiap strong entity * buatlah sebuah tabelyang meliputi semua atribut sederhana yang ada

    pada entitas tersebut

    (ika ada atribut komposit* tambahkan hanya

    bagian atribut sederhananya sa"a

    Dr %hamami $erusantoso

  • 8/16/2019 07 Database Design

    79/103

    3/107

    'ontoh Pemetaan

    #ontoh: hasil pemetaan dari entitas Staff adalahSta  )staff7o* f7ame* l7ame* position* seC* D3+

    Primary !ey staff7o

    Dr %hamami $erusantoso

    staNo Name lName Position Se" D#B

    Staff 

    staff7o

    f7ame l7ame

    position

    seC

    D3

    7ame

  • 8/16/2019 07 Database Design

    80/103

  • 8/16/2019 07 Database Design

    81/103

    /107

    'ontoh Pemetaan

    $asil pemetaan eak entity Preference:Preerence )pref0ype* maCRent+

    Primary !ey 0idak ada )pada saat ini+

    Dr %hamami $erusantoso

    pre$ype ma"Rent

    .reference

    pref0ype maCRent

  • 8/16/2019 07 Database Design

    82/103

    /107

    %asil Pemetaan Semua "ntitas

    Dr %hamami $erusantoso

    staffNo fName lName Position Sex DOB

    clientNo fName lName telNo

    Staff 

    Client

    Staff 

    staffNo

    fName lName

    position

    sex

    DOB

    name

    Client

    clientNo

    fName lName

    telNoname

    S

  • 8/16/2019 07 Database Design

    83/103

    7/107

    %asil Pemetaan Semua "ntitas

    Dr %hamami $erusantoso

    property No street city postcode type rooms rent

    PropertyForRent

    prefType maxRentPreference

    Preference

    prefType maxRent

    Property ForRent

    propertyNo

    street city  

    type

    rent

    rooms

    address

    postcode

    + P t , l i Bi 1 4

  • 8/16/2019 07 Database Design

    84/103

    /107

    +3 Pemetaan ,elasi Biner 1:4

    'ntuk setiap relasi biner 1:7* entitas pada sisi 1dari relasi di"adikan entitas parent dan entitas pada

    sisi banyak )7+ di"adikan sebagai entitas child

     

    'ntuk merepresentasikan relationship ini*

    duplikasikan atribut .% ke tabel yang

    merepresentasikan entitas child yang berfungsi

    sebagai 6%

    Dr %hamami $erusantoso

    ' t h P t

  • 8/16/2019 07 Database Design

    85/103

    4/107

    'ontoh Pemetaan

    $asil pemetaan dari relasi !taff  +egisters *lient 

    Sta  )staff7o* f7ame* l7ame* position* seC* D3+G Primary key staff7o

    Client )client7o* f7ame* l7ame* tel7o* staff7o+G Primary key client7o* 2lternate key tel7o*

    G %oreign key staff78 reerences Staff)staff7o+

    Dr %hamami $erusantoso

    ' t h P t

  • 8/16/2019 07 Database Design

    86/103

    40/107

    'ontoh Pemetaan

    Dr %hamami $erusantoso

    staffNo fName lName Position Sex DOB

    clientNo fName lName telNo   staffNo

    dupliasian

    Staff 

    Client

    Staff 

    Client

    Registers

    N

    1

    ; P t , l i Bi 1 1

  • 8/16/2019 07 Database Design

    87/103

    41/107

    ;3 Pemetaan ,elasi Biner 1:1

    a .artisipasi Mandatory pada dua sisi relasi 1:1

    Habungkan entitas yang terlibat ke dalam satu tabel dan

    pilih salah satu .% sebagai .% pada tabel baru tsb

    Dr %hamami $erusantoso

    'ontoh Pemetaan (Mandatory di

  • 8/16/2019 07 Database Design

    88/103

    42/107

    'ontoh Pemetaan (Mandatory di

    Dua Sisi)

    #lient !tates .referencesetiap klien harus punya satu preference dan setiap

     preference harus dimiliki oleh satu klien

    ClientPre  )client7o* f7ame* l7ame* tel7o* pref0ype*

    maCRent* staff7o+

    Primary key client7o

    %oreign key staff7o reerences Staff)staff7o+

    Dr %hamami $erusantoso

  • 8/16/2019 07 Database Design

    89/103

    P t , l i Bi 1 1

  • 8/16/2019 07 Database Design

    90/103

    4/107

    Pemetaan ,elasi Biner 1:1

    b .artisipasi Mandatory pada salah satu sisi relasi biner 1:1

    /dentifikasi entitas parent dan child dengan menggunakan

    batasan partisipasi

    G ,ntitas dengan partisipasi optional pada relationship di"adikansebagai entitas parent* dan entitas dengan partisipasi mandatory

    di"adikan sebagai entitas child

    (ika relasi mempunyai atribut* tambahkan atribut tersebutpada tabel child

    Dr %hamami $erusantoso

    'ontoh Pemetaan (Mandatory pada salah

    satu sisi)

  • 8/16/2019 07 Database Design

    91/103

    4/107

    satu sisi)

    (ika #lient !tates .reference memiliki partisipasioptional pada entitas #lientlien boleh tidak mempunyai preference tetapi setiap

     preference harus dimiliki oleh satu klien

    Client )client7o* f7ame* l7ame* tel7o* staff7o+G Primary key client7o

    G %oreign key staff7o reerences Staff)staff7o+

    Preerence )client7o* pref0ype* maCRent+G Primary key client7o

    G %oreign key client7o reerences #lient)client7o+

    Dr %hamami $erusantoso

  • 8/16/2019 07 Database Design

    92/103

    P t , l i Bi 1 1

  • 8/16/2019 07 Database Design

    93/103

    47/107

    Pemetaan ,elasi Biner 1:1

    c .artisipasi optional pada dua sisi relasi 1:1G .enentuan entitas parent dan child adalah bebas

    Dr %hamami $erusantoso

    'ontoh Pemetaan (Opsional pada dua sisi)

  • 8/16/2019 07 Database Design

    94/103

    4/107

    'ontoh Pemetaan (Opsional pada dua sisi)

    Sta  Uses Car  (idak semua staff menggunakan mobil dan tidak semua

    mobil digunakan oleh seorang staff 

    (ika tidak ada info tambahan* maka pilihannya adalah

    bebasF duplikasikan nilai .% pada entitas Sta  ke entitas

    Car * atau sebaliknya

    (ika diasumsikan baha hampir semua mobil digunakan

    oleh staff dan hanya sebagian kecil dari staff menggunakan

    mobil:G Staff sebagai entitas parent dan #ar sebagai entitas child

    Dr %hamami $erusantoso

  • 8/16/2019 07 Database Design

    95/103

    'ontoh 6ika di salah/satu sisi Partisipasi Mandatory

  • 8/16/2019 07 Database Design

    96/103

    100/107

    'ontoh 6ika di salah/satu sisi Partisipasi Mandatory

    Dr %hamami $erusantoso

    staffNo fName lName Position Sex DOB   supNo

    Sta 

    dupliasi daristaffNo

    staffNo

    fName lName

    position

    sex

    DOB

    name

    Supervises   Staff 

    1$

    1

    'ontoh 6ika di dua sisi Partisipasi

  • 8/16/2019 07 Database Design

    97/103

    101/107

    Optional

    Dr %hamami $erusantoso

    Super!ise

    staffNo fName lName Position Sex DOB

    staffNoSr staffNoSe

    Sta 

    dupliasi daristaffNo yg merupaanF% di ta!el ini

    staffNo

    fName lName

    position

    sex

    DOB

    name

    Supervises   Staff 

    1$

    1

    = Pemetaan ,elasi Biner 4:M

  • 8/16/2019 07 Database Design

    98/103

    102/107

    =3 Pemetaan ,elasi Biner 4:M

    3uat sebuah tabel untuk merepresentasikan relasi tsbdan tambahkan semua atribut relasi tersebut

    Duplikasikan atribut .% dari entitas yang berpatisipasi

    pada relasi ke dalam tabel baru Duplikat tsb bertindak

    sebagai 6%

    6% ini adalah "uga sebagai .% dari tabel baru tsb )tetapimungkin dengan kombinasi dari suatu atribut relasi tsb+

    #ontoh: #lient -iews .roperty6orRent

    Dr %hamami $erusantoso

    'ontoh Pemetaan (many/to/

  • 8/16/2019 07 Database Design

    99/103

    103/107

    ( y

    many)

    Dr %hamami $erusantoso

    Client

    clientNo fName lName telNo

    property 

    No

    street city postcode type rooms rent

    PropertyForRent

    clientNo propertyNo   viewDate comment

    "lient

    #roperty$orRent

    "lient#roperty

     view Date

    comment

    Views

     N

    M

    > Pemetaan ,elasi 2ompleks

  • 8/16/2019 07 Database Design

    100/103

    10/107

    >3 Pemetaan ,elasi 2ompleks

    3uat tabel baru untuk merepresentasikan relasi tsbdan tambahkan atribut yang ada pada relasi tsb ke

    tabel baru

    Duplikat atribut .% dari semua entitas yang

    berpartisipasi dan tambahkan ke tabel baru tsb

    untuk men"adi 6%

    Dr %hamami $erusantoso

    Pemetaan ,elasi 2ompleks

  • 8/16/2019 07 Database Design

    101/103

    10/107

    Pemetaan ,elasi 2ompleks

    Dr %hamami $erusantoso

    Relasi ternary Registers

    Staff 

    Client

    Registers

    N

    1

    Branc&

     !ranc&

    No

    clientNo

    StaffNo

    1

    Date'oined

    clientNo branchNo staffNo dateoined

    Registration

    ? Multi !alued attributes

  • 8/16/2019 07 Database Design

    102/103

    10/107

    ?3 Multi/!alued attributes

    3uatlah sebuah tabel baru untukmerepresentasikan atribut multi-valued )bernilai

     "amak+

    Duplikasikan .% dari entitas dan tambahkan pada

    tabel baru tsb yang berfungsi sebagai 6%

    Dr %hamami $erusantoso

    'ontoh Pemetaan (multi/!alued

  • 8/16/2019 07 Database Design

    103/103

    attribute)

    #ontoh pada 3ranch user vieBranch )branch7o* street* city* postcode+

    G Primary key branch7o

    $elephone )tel7o* branch7o+G Primary key tel7o

    G %oreign key branch7o reerence 3ranch)branch7o+

     branchNo street city postcode telNo

     branchNo telNo

    %ran&h

    #honeBranch !ranc&No

    street city  

    postcode

    telNotelNo