49959953 Data Flow Diagram

Embed Size (px)

Citation preview

  • 8/12/2019 49959953 Data Flow Diagram

    1/106

    Data Flow Diagrams(DFDs)

  • 8/12/2019 49959953 Data Flow Diagram

    2/106

    Data Flow Diagrams (DFDs)

    Data flow diagram(DFD) is a picture ofthe movement ofdata betweenexternal entities andthe processes anddata stores within asystem

    1.0

    Chec!tatus

    ".0

    #ssue!tatus

    $essages

    C)!+'$,-

    .0

    $anage (ccounts-eceivable

    'rder #n3!toc -e4uest

    !tatus Data

    !tatus$essage

    2ending'rdersD1

    'rderData

    'rder Data

    !hippingConfirmation

    #nvoice

    2ayment

    (ccounts-eceivableD"

    (ccounting Data (ccounts -eceivable Data

    'rder Data

    #nventory-eports

  • 8/12/2019 49959953 Data Flow Diagram

    3/106

    DFD !ymbols (&ane 5 !arson)

    2rocess

    Data Flow

    Data !tore

    !ource6!in (,xternal ,ntity)

  • 8/12/2019 49959953 Data Flow Diagram

    4/106

    2rocess

    or or actions performed on data (inside the system)7abels should be verb phrases-eceives input data and produces output

    1.0

    2roduce&rade-eport

    &rade Detail &rade -eport

  • 8/12/2019 49959953 Data Flow Diagram

    5/106

    -ule 18 2rocess

    Can have more than one outgoing data flowor more than one incoming data flow

    1.0

    &rade!tudent

    or

    !ubmitted or &raded or

    !tudent &rade

    %.0

    Calculated&ross

    2ay

    /ours ored

    2ay -ate&ross 2ay

  • 8/12/2019 49959953 Data Flow Diagram

    6/106

    -ule "8 2rocess

    Can connect to any other symbol (including anotherprocess symbol)

    1.0

    9erify'rder

    ".0

    (ssemble'rder

    'rder (ccepted 'rder #nventoryChange

  • 8/12/2019 49959953 Data Flow Diagram

    7/106

    2rocess8 Correct6#ncorrect:.0

    Create#nvoice

    !ervices 2erfomed #nvoice

    (pply#nsurance2remium

    2ayment (mount2olicy *umber

    ".1

    Calculate&ross

    2ay

    /ours ored 2ay -ate

  • 8/12/2019 49959953 Data Flow Diagram

    8/106

    Data Flow

    #s a path for data to move from one part of the #!to another

    rrows depicting movement of dataCan represent flow between process and datastore by two separate arrows

    Deposit

    ".1

    2ost2ayment

    (ccounts-eceivable

    D1

    2ayment Detail

    #nvoice Detail

  • 8/12/2019 49959953 Data Flow Diagram

    9/106

    Data Flow8 Correct6#ncorrect:

    Courses

    !tudents

    Class7ist

    .0

    2ost2ayment

    Customer2ayment

    D" Daily 2ayments

    ;.0

    2repareDeposit

    Daily2ayment

  • 8/12/2019 49959953 Data Flow Diagram

    10/106

  • 8/12/2019 49959953 Data Flow Diagram

    11/106

    -ule8 Data !tore

    $ust have at least one incoming and oneoutgoing data flow

    Daily2ayments

    D1

    Customer 2ayment

    Daily 2ayment

  • 8/12/2019 49959953 Data Flow Diagram

    12/106

    Data !tore8 Correct6#ncorrect:

    ".0

  • 8/12/2019 49959953 Data Flow Diagram

    13/106

    !ource6!in (,xternal ,ntity)

    ,xternal entity that is origin or destination of data (outside the system)

    #s the singular form of a department= outside organisation= other #!= or person7abels should be noun phrases

    C)!+'$,-

    1.0

    9erify'rder

    'rder #nvoice

    !ource > ,ntity that supplies data to thesystem!in > ,ntity that receives data from the

    system

  • 8/12/2019 49959953 Data Flow Diagram

    14/106

    -ule8 !ource6!in$ust be connected to a process by a data flow

  • 8/12/2019 49959953 Data Flow Diagram

    15/106

    !ource6!in 8 Correct6#ncorrect:

    2(@-'77D,2(-+$,*+

    ,$27'@,,

    2aychec

    %.0

    (pply2ayment

    C)!+'$,-

    2ayment

    C)!+'$,-

    (ccounts-eceivable

    2ayment

  • 8/12/2019 49959953 Data Flow Diagram

    16/106

    -ules for sing DFD !ymbols

    Data Flow +hat Connects@,! *'

    process to another process

    process to an external entity

    process to a data store

    n external entity to another external entity

    n external entity to a data store

    data store to another data store

  • 8/12/2019 49959953 Data Flow Diagram

    17/106

    7ist the errors of this DFD

    ,1

    2"

    2

    1.0

    ".

    D!1

    DF "

    DF"

    DF;

    DF

    DF1

    DF

  • 8/12/2019 49959953 Data Flow Diagram

    18/106

    Context Diagram

    +op3level view of #!!hows the system boundaries= external entities thatinteract with the system= and maAor information flows

    between entities and the system.,xample8 'rder system that a company uses toenter orders and apply payments against acustomerBs balance

  • 8/12/2019 49959953 Data Flow Diagram

    19/106

    0

    'rder!ystem

    !(7,!-,2

    C)!+'$,- (-,/')!,

  • 8/12/2019 49959953 Data Flow Diagram

    20/106

    7evel30 DFD

    !hows the systemBs maAor processes= data flows=and data stores at a high level of abstractionhen the Context Diagram is expanded into DFD

    level30= all the connections that flow into and out ofprocess 0 needs to be retained.

  • 8/12/2019 49959953 Data Flow Diagram

    21/106

    0

    'rder!ystem

    !(7,!-,2

    C)!+'$,- (-,/')!,

  • 8/12/2019 49959953 Data Flow Diagram

    22/106

    1.0

    Fill'rder

    ".0

    Create#nvoice

    %.0

    (pply2ayment

    C)!+'$,- (-,/')!,

    'rder

    'rder-eAect*otice

    2icing 7ist

    (ccounts-eceivableD1

    #nvoice

    #nvoice

    #nvoiceDetail2ayment

    Detail

    2ayment

    Commission

  • 8/12/2019 49959953 Data Flow Diagram

    23/106

  • 8/12/2019 49959953 Data Flow Diagram

    24/106

    !trategies for Developing DFDs

    +op3down strategyCreate the high3level diagrams (ContextDiagram)= then low3level diagrams (7evel30

    diagram)= and so on

  • 8/12/2019 49959953 Data Flow Diagram

    25/106

  • 8/12/2019 49959953 Data Flow Diagram

    26/106

    #dentify ,ntities=2rocess=Data !tores 5 Data Flow,ntities

    Customer arehouse

    ccounting

    2rocesses1.0 Chec !tatus

    ".0 #ssue !tatus $essages%.0 &enerate !hipping 'rder .0 $anage ccounts -eceivable.0 2roduce -eports

    Data !toresD1 2ending 'rdersD" ccounts -eceivable

    Data Flows'rder #n3!toc -e4uest'rder Data!tatus Data

    !tatus $essage!hipping 'rder 'rder Data#nvoice!hipping Confirmation2ayment

    ccounting Data ccounts -eceivable Data'rder Data

    #nventory -eports

    1.0

    ".0

    %.0

    .0

    .0

  • 8/12/2019 49959953 Data Flow Diagram

    27/106

    (CC')*+#*&

    (C)!+'$,-

    0

    'rder!ystem

    'rder

    2ayment#n3!toc-e4uest

    !tatus

    $essage

    #nvoice !hipping Con

    !hipping

    'rder

    #nventory-eports

    ContextDiagram of'rder!ystem

  • 8/12/2019 49959953 Data Flow Diagram

    28/106

    1.0

    Chec!tatus

    ".0

    #ssue!tatus

    $essages

    %.0

    &enerate!hipping

    'rder

    C)!+'$,- (-,/')

    .0

    $anage (ccounts-eceivable

    .0

    2roduce-eports

    'rder #n3!toc -e4uest

    !tatus Data

    !tatus$essage

    2ending'rdersD1

    'rderData

    'rder Data

    !hip'rde

    !hippingConfirmation

    #nvoice

    2ayment

    (ccounts

    -eceivableD"

    (ccounting Data (ccounts -eceivable Data

    'rder Data

    #nventory

    7evel30 of'rder !ystem

  • 8/12/2019 49959953 Data Flow Diagram

    29/106

    Decision +rees

  • 8/12/2019 49959953 Data Flow Diagram

    30/106

    Decision Trees

  • 8/12/2019 49959953 Data Flow Diagram

    31/106

    Planning Tool

  • 8/12/2019 49959953 Data Flow Diagram

    32/106

    Decision +rees

    ,nable a business to 4uantify decisionma ingseful when the outcomes are uncertain

    2laces a numerical value on li ely orpotential outcomes llows comparison of different possibledecisions to be made

  • 8/12/2019 49959953 Data Flow Diagram

    33/106

    Decision +rees

    Limitations:/ow accurate is the data usedin the construction of the tree:/ow reliable are the estimatesof the probabilities:Data may be historical > does this data relate to realtime:*ecessity of factoring in the 4ualitative factors >

    human resources= motivation= reaction= relations withsuppliers and other sta eholders

  • 8/12/2019 49959953 Data Flow Diagram

    34/106

    Process

  • 8/12/2019 49959953 Data Flow Diagram

    35/106

    +he 2rocess

    Expand by opening new outlet

    Maintain current status

    Economic growth rises

    Economic growth declines

    0.7

    0.3

    Expected outcome300 000

    Expected outcome!"00 000

    0

    s4uare denotes the point where a decision is made= #n this example= a business is contemplatingopening a new outlet. +he uncertainty is the state of the economy > if the economy continues to growhealthily the option is estimated to yield profits of %00=000. /owever= if the economy fails to grow asexpected= the potential loss is estimated at 00=000.

    +here is also the option to do nothing and maintain the current status 4uo +his would have an outcome of0.

    +he circle denotes the point where different outcomes could occur. +he estimates of the probability and thenowledge of the expected outcome allow the firm to ma e a calculation of the li ely return. #n thisexample it is8

    ,conomic growth rises8 0.E x %00=000 "10=000

    ,conomic growth declines8 0.% x 00=000 3 1 0=000

    +he calculation would suggest it is wise to go ahead with the decision ( a net GbenefitB figure of H ;0=000)

  • 8/12/2019 49959953 Data Flow Diagram

    36/106

    The Process

    Expand by opening new outlet

    Maintain current status

    Economic growth rises

    Economic growth declines

    0."

    0."

    Expected outcome300 000

    Expected outcome!"00 000

    0

    7oo what happens however if the probabilities change. #f the firm is unsure of the potential for growth= itmight estimate it at 08 0. #n this case the outcomes will be8

    ,conomic growth rises8 0. x %00=000 1 0=000

    ,conomic growth declines8 0. x 3 00=000 3 " 0=000

    #n this instance= the net benefit is 3 100=000 > the decision loo s less favourable

  • 8/12/2019 49959953 Data Flow Diagram

    37/106

    #d$antages

  • 8/12/2019 49959953 Data Flow Diagram

    38/106

  • 8/12/2019 49959953 Data Flow Diagram

    39/106

    Decision +ables

  • 8/12/2019 49959953 Data Flow Diagram

    40/106

    $odeling 7ogic with Decision +ables

    matrix representation of the logic of adecision!pecifies the possible conditions and theresulting actions

  • 8/12/2019 49959953 Data Flow Diagram

    41/106

    $odeling 7ogic withDecision +ables

    Consists of three partsCondition stubs

    7ists condition relevant to decision

    ction stubs ctions that result from a given set of conditions-ules

    !pecify which actions are to be followed for a

    given set of conditions

    $ d li 7 i i h

  • 8/12/2019 49959953 Data Flow Diagram

    42/106

    $odeling 7ogic with Decision +ables

    #ndifferent ConditionCondition whose value does not affect which action ista en for two or more rules

    !tandard procedure for creating decision tables*ame the condition and values each condition canassume*ame all possible actions that can occur 7ist all rulesDefine the actions for each rule!implify the table

  • 8/12/2019 49959953 Data Flow Diagram

    43/106

    Figure I3Complete decision table for payroll system example

    I. %I. %

  • 8/12/2019 49959953 Data Flow Diagram

    44/106

    Constructing a Decision +able

    2 -+ 1. F- $, +/, 2-'

  • 8/12/2019 49959953 Data Flow Diagram

    45/106

    ,xample

    Calculate the total cost of your tuition this4uarter.

    hat do you need to now:7evel. ( ndergrad or graduate)!chool. (C+#= 7aw= etc.)!tatus. (Full or part time)*umber of hours

    ctions:

  • 8/12/2019 49959953 Data Flow Diagram

    46/106

    ctions:Consider C+# only (to ma e the problem smaller)8

    6&2art +ime (1 to 11 hrs.)8 00.006per hour Full +ime (1" to 1J hrs.)8 10000.00K Credit hours over 1J are charged at the part3time rate

    &raduate82art time (1 to E hrs.)8 "0.006per hour Full time (L J hrs.)8 "0.006per hour

    Create a decision table for this problem

  • 8/12/2019 49959953 Data Flow Diagram

    47/106

    ,ntity -elationshipDiagrams

  • 8/12/2019 49959953 Data Flow Diagram

    48/106

    JI. JI. J

  • 8/12/2019 49959953 Data Flow Diagram

    49/106

    Conceptual Data

    $odeling=,3- Diagrams

    49

  • 8/12/2019 49959953 Data Flow Diagram

    50/106

    #mportance of Conceptual Data $odeling

    Data rather than processes are more complex in many moderninformation systems.

    Characteristics of data (structure= properties) are more stable=i.e. less li ely to change over time= easier to reach consensus on.

    #t is shared between many processes= therefore is crucial in thedesign of databases= ensuring integrity of the data in aninformation system= efficiency of processing.

    0

  • 8/12/2019 49959953 Data Flow Diagram

    51/106

    'utline

    2urpose and importance of conceptualdata modeling,ntity3-elationship $odel

    ,ntity ttributes

    -elationships

    1

  • 8/12/2019 49959953 Data Flow Diagram

    52/106

    An Entity

    !omething of interest in the environment (e.g.= person=place= obAect= event= concept)-epresented in ,3- diagram by a rectangle

    n instance is a particular occurrence of an entity

    CUSTOMER

    Entity, or Entity Type

    0010

    Scott George56 Neat StreetBoulder, Colorado5!!"#"$%%50$#"% #!$&%

    'n (n)tance o* t+e Cu)to er Entity"

  • 8/12/2019 49959953 Data Flow Diagram

    53/106

    Entities

    Entity Type 3 a collection of entity instancesthat share common properties (also simply calledan Entity )

    Entity Instance 3 an individual occurrence ofan entity type

    %

  • 8/12/2019 49959953 Data Flow Diagram

    54/106

    Example Entity & Instances

    Cu)t-(. /a)t-Na e ir)t-Na e 'ddre)) City ST ip

    0001 Snerd Morti er General .eli2ery Ta pa / 6&$000" ogg Bo3 56$ ogg /ane O a+a NE "&05000 ' o) a ou) " Coo4ie Ct Mia i / 1000& Targa Ma ine 6$ a)t /ane Clinton N7 "00!"0005 George Scott 56 Neat St Boulder CO 5!!"0006 Guy Nice "%0 8lea)ant St Ta pa / 6&1000$ S it+ Bo3 $6 9ua4er 8at+ :ynn N; "111!000% S it+ 7a e) " & Bay2ie< Ta pa / 6&1

    (denti*ier 'ttri3ute

  • 8/12/2019 49959953 Data Flow Diagram

    55/106

  • 8/12/2019 49959953 Data Flow Diagram

    56/106

    p g g

    ;

  • 8/12/2019 49959953 Data Flow Diagram

    57/106

    hat !hould an ,ntity

  • 8/12/2019 49959953 Data Flow Diagram

    58/106

    (nappropriate entitie)igure #&

  • 8/12/2019 49959953 Data Flow Diagram

    59/106

    Sy)te u)er Sy)te u)er Sy)te outputSy)te output

    'ppropriate entitie)

    igure #&

    I

  • 8/12/2019 49959953 Data Flow Diagram

    60/106

    An Attribute

    discrete data element characteristic (property) of an entity

    CUSTOMER Cu)to er-Nu 3er /a)t-Na eir)t-Na eStreet-'ddre))

    CityStateip8+one

    This Customer entityhas eight attributes

    ;0

  • 8/12/2019 49959953 Data Flow Diagram

    61/106

    Types of Attributes

    !imple vs. Composite !imple 3 most basic levelComposite > decomposable into a group of related attributes

    ex8 address (street= city= state= Oip)

    !ingle 9alued vs. $ulti 9alued >!ingle 3 only one value per entity instance (e.g.= last name= date ofbirth)$ulitvalued3 multiple values per entity instance (e.g.= degrees= clubs=

    s ills)!tored vs Derived (e.g . Date'f

  • 8/12/2019 49959953 Data Flow Diagram

    62/106

    ttributes on ,-Ds

    $ay be shown on ,-Ds as ellipses

    8?;S(C('N 8'T(ENTS'd it) 0

    e p#id

    na e addre))

    pt#nu

    na e

  • 8/12/2019 49959953 Data Flow Diagram

    63/106

    ttributes on ,-Ds

    Multivalued attributes are shown as double ellipses

    EM8/O;EE

    e p#id

    na e)4ill)

    *-na e

    l-na e

    -na e

    Multi2alued co po)ite

    Composite attributes may be shown bro en downinto their simple components

    Si ple@Single Aalued 8ri ary ey

    ;%

  • 8/12/2019 49959953 Data Flow Diagram

    64/106

    +extboo Bs notation

    ;;

    'n attri3ute 3ro4eninto co ponent

    part)

    $ultivaluedan employee can havemore than one s ill

    Derivedfrom dateemployed andcurrent date

  • 8/12/2019 49959953 Data Flow Diagram

    65/106

    Identifiers/Primary Key

    Every instance of an entity must be uni4uely identified (tounambiguously distinguish them)

    n identifier can be one or more attributes called acomposite identifier (e.g.= first name= middle name= and last name)

    Partial identifier (in weak entities) > attribute that togetherwith some attribute from another entity identifies an

    instanceUnderline identifiers in diagrams

    ;

  • 8/12/2019 49959953 Data Flow Diagram

    66/106

    Identifiers

    $ust be uni4ue!hould not change value over time&uaranteed to have a valid value*o intelligent identifiers (e.g. containing locations or people that might change)Consider substitutingsingle3attributeidentifiers forcomposite identifiersto simplify design andenhance performance

    CUSTOMER Cu)to er-Nu 3er /a)t-Na eir)t-Na e'ddre))CityStateip8+one;;

  • 8/12/2019 49959953 Data Flow Diagram

    67/106

    Relationships

    relationship is an association between one or moreentities

    +he degree of a relationship indicates the number of entities

    involved+he cardinality of a relationship describes the number ofinstances of one entity associated with another entity

    ;E

  • 8/12/2019 49959953 Data Flow Diagram

    68/106

    ;J

    Figure %310 -elationship types and instances

    a) -elationship

    b) -elationshipinstances

  • 8/12/2019 49959953 Data Flow Diagram

    69/106

    ardinality onstraints

    0 Optional relation)+ip)

    none or one0

    0 none or ore

    Mandatory relation)+ip)

    one and only one

    one or ore

    ;I

    patient must haverecorded at least onehistory= and can have many

    patient history isrecorded for one andonly one patient

  • 8/12/2019 49959953 Data Flow Diagram

    70/106

    Cardinality Constraints

    Cardinality Constraints 3 the number ofinstances of one entity that can or must beassociated with each instance of another entity.$inimum Cardinality

    #f Oero= then optional#f one or more= then mandatory

    $aximum Cardinality+he maximum number

    E0

  • 8/12/2019 49959953 Data Flow Diagram

    71/106

    !e"rees of Relationships: unary and binary

    T+e nu 3er o* di**erent entitie) in2ol2ed in a relation)+ip

    EM8/O;EE Manage) UN'R;

    STU.ENT .ORM(TOR;() a))igned

    B(N'R;

    E1

  • 8/12/2019 49959953 Data Flow Diagram

    72/106

  • 8/12/2019 49959953 Data Flow Diagram

    73/106

    $ore on -elationships

    -elationships (many3to3many or one3to3one) can have attributes+hese describe features pertaining to the association between the entities in therelationship

    +wo entities can have more than one type of relationship between them(multiple relationships)

    ssociative ,ntity combination of relationship and entity!ome typical cases

    E%

    E a ple) o* ultiple relation)+ip) entitie) can 3e

  • 8/12/2019 49959953 Data Flow Diagram

    74/106

    E a ple) o ultiple relation) ip) entitie) can 3erelated to one anot+er in ore t+an one

  • 8/12/2019 49959953 Data Flow Diagram

    75/106

    +ime stamping

    E

    ntities can be related to one another in more

  • 8/12/2019 49959953 Data Flow Diagram

    76/106

    igure #"1a E ployee) and depart ent)

    ,ntities can be related to one another in morethan one way

    E;

    !trong vs ea ntities= and

  • 8/12/2019 49959953 Data Flow Diagram

    77/106

    !trong vs. ea ,ntities= and#dentifying -elationships

    !trong entitiesexist independently of other types of entitieshas its own uni4ue identifier represented with single3line rectangle

    ea entitydependent on a strong entityPcannot exist on its ownDoes not have a uni4ue identifier represented with double3line rectangle

    #dentifying relationshiplin s strong entities to wea entitiesrepresented with double line diamond

    EE

    i i i i

  • 8/12/2019 49959953 Data Flow Diagram

    78/106

    ssociative ,ntities

    ssociative entities provide details of a many3to3many association.#tBs anentity > it has attributes

    *D itBs a relationship > it lin s entities together hen should a relationship with attributes instead be an associative entity :&uidelines8

    ll relationships for the associative entity should be many+he associative entity could have meaning independent of the other entities+he associative may be participating in other relationships other than the entities ofthe associated relationship+he associative entity preferably has a uni4ue identifier= and should also have otherattributes.#f an associative entity may have a partial identifier.+ernary relationships should be converted to associative entities

    EJ

  • 8/12/2019 49959953 Data Flow Diagram

    79/106

    $odeling a ternary relationship as an

  • 8/12/2019 49959953 Data Flow Diagram

    80/106

    $ode g a te a y e at o s p as aassociative entity

    J0

    #ntroduction to ,ntity3

  • 8/12/2019 49959953 Data Flow Diagram

    81/106

    , y-elationship (,3-) $odeling

    *otation uses three main constructsData entities-elationships

    ttributes,ntity3-elationship (,3-) Diagram

    detailed= logical representation of the

    entities= associations and data elements foran organiOation or business

    10.J110.J1

    i 3 l i hi ( 3 ) $ d li

  • 8/12/2019 49959953 Data Flow Diagram

    82/106

    ,ntity3-elationship (,3-) $odeling?ey +erms

    ,ntity person= place= obAect= event or concept in the userenvironment about which the organiOation wishes tomaintain data-epresented by a rectangle in ,3- diagrams

    ,ntity +ype collection of entities that share common properties orcharacteristics

    ttribute named property or characteristic of an entity that is ofinterest to an organiOation

    10.J"10.J"

    $

  • 8/12/2019 49959953 Data Flow Diagram

    83/106

    ,ntity3-elationship (,3-) $odeling?ey +erms

    Candidate eys and identifiers,ach entity type must have an attribute or setof attributes that distinguishes one instance

    from other instances of the same typeCandidate ey

    ttribute (or combination of attributes) thatuni4uely identifies each instance of an entity type

    l

  • 8/12/2019 49959953 Data Flow Diagram

    84/106

    ,xamples

    #dentify a few entity types= instances=attributes and candidate eys for8

    De2aul Campus Connect -egistration !ystem

    #llinois

  • 8/12/2019 49959953 Data Flow Diagram

    85/106

    Depicting ,ntities and ttributes

    Draw a portion of the ,-D for each of these systems8Campus Connect -egistration !ystem

  • 8/12/2019 49959953 Data Flow Diagram

    86/106

    p gthe ,3- Diagram

    &oalCapture as much of the meaning of the data as possible

    #f you now the rules of normaliOation= referential integrity=foreign eys= etc.= this is good but not as important now. #tis much more important to get the organiOational datamodel correct= i.e. to understand the actual datare4uirements for the organiOation.

    -esult better design that is scalable and easier to maintain

    i 3 l i hi ( 3 ) $ d li

  • 8/12/2019 49959953 Data Flow Diagram

    87/106

    ,ntity3-elationship (,3-) $odeling?ey +erms

    #dentifier candidate ey that has been selected as the uni4ueidentifying characteristic for an entity type!election rules for an identifier 1. Choose a candidate ey that will not change its value". Choose a candidate ey that will never be null%. void using intelligent eys. Consider substituting single value surrogate eys for

    large composite eys

    i 3 l i hi ( 3 ) $ d li

  • 8/12/2019 49959953 Data Flow Diagram

    88/106

    ,ntity3-elationship (,3-) $odeling?ey +erms

    -elationship n association between the instances of oneor more entity types that is of interest to the

    organiOation ssociation indicates that an event hasoccurred or that there is a natural linbetween entity types-elationships are always labeled with verbphrases

    Cardinality

  • 8/12/2019 49959953 Data Flow Diagram

    89/106

    Cardinality

    +he number of instances of entity < that can beassociated with each instance of entity $inimum Cardinality

    +he minimum number of instances of entity < thatmay be associated with each instance of entity +his is also called MmodalityN.

    $aximum Cardinality+he maximum number of instances of entity < thatmay be associated with each instance of entity

  • 8/12/2019 49959953 Data Flow Diagram

    90/106

    I0

    I.I0I.I0

    *aming and Defining

  • 8/12/2019 49959953 Data Flow Diagram

    91/106

    -elationships-elationship name is a verb phrase

    void vague names&uidelines for defining relationships

    Definition explains what action is being ta en and why it isimportant&ive examples to clarify the action'ptional participation should be explained,xplain reasons for any explicit maximum cardinality

    *aming and Defining

  • 8/12/2019 49959953 Data Flow Diagram

    92/106

    -elationships&uidelines for defining relationships

    ,xplain any restrictions on participation in therelationship,xplain extent of the history that is ept in therelationship,xplain whether an entity instance involved ina relationship instance can transferparticipation to another relationship instance

    10.I"10.I"

    ntity

  • 8/12/2019 49959953 Data Flow Diagram

    93/106

    ,ntity

    M n entity is a business obAect thatrepresents a group= or category of data.N 1

    Do we now a similar concept:

    1) !tephens= -.?. and 2lew. -.-.= "001. Database Design . ! $!= #ndianapolis = #*.

    ttribute

  • 8/12/2019 49959953 Data Flow Diagram

    94/106

    ttribute

    M n attribute is a sub3group of informationwithin an entity.N 1

    Do we now a similar concept:

    1) !tephens= -.?. and 2lew. -.-.= "001. Database Design . ! $!= #ndianapolis = #*.

  • 8/12/2019 49959953 Data Flow Diagram

    95/106

    $andatory= $any3to3$any

  • 8/12/2019 49959953 Data Flow Diagram

    96/106

    $andatory= $any3to3$any

    #*!+- C+'- !+ D,*+

    #*!+- C+'- !+ D,*+

    'ptional= $any3to3$any

  • 8/12/2019 49959953 Data Flow Diagram

    97/106

    ptional= $any3to3$any

    D,2 -+$,*+ !+ D,*+

    D,2 -+$,*+ !+ D,*+

    'ptional6$andatory=

  • 8/12/2019 49959953 Data Flow Diagram

    98/106

    $any3to3$any

    #*!+- C+'- !?#77

    #*!+- C+'- !?#77

    'ptional6$andatory=

  • 8/12/2019 49959953 Data Flow Diagram

    99/106

    'ne3to3$any

    2-'D C+ 9,*D'-

    2-'D C+ 9,*D'-

    $andatory= 'ne3to3'ne

  • 8/12/2019 49959953 Data Flow Diagram

    100/106

    $andatory= ne3to3 ne

    +'$'

  • 8/12/2019 49959953 Data Flow Diagram

    101/106

    -ecursive

    ,$27'@,,supervises

    is supervised by

    -esolving $any3to3$any

  • 8/12/2019 49959953 Data Flow Diagram

    102/106

    -elationships$any3to3many relationships should beavoided. e can resolve a many3to3manyrelationship by dividing it into two one3to3

    many relationships.

    -esolving $any3to3$any

  • 8/12/2019 49959953 Data Flow Diagram

    103/106

    -elationships

    ! 7,! '-D,-! #*9. #+,$!

    ! 7,! '-D,-! #*9. #+,$!'-D,- #+,$!

    xample ( - Diagram)

  • 8/12/2019 49959953 Data Flow Diagram

    104/106

    ,xample (,- Diagram)

    ! 7,! '-D,-!

    #*9. #+,$!'-D,- #+,$!

    C7,-?!C !+'$,-!

  • 8/12/2019 49959953 Data Flow Diagram

    105/106

    10

    I.

    10

    I.

    10

  • 8/12/2019 49959953 Data Flow Diagram

    106/106