Using Data Model Patterns to Build High-Quality Data Models

Embed Size (px)

Citation preview

  • 8/2/2019 Using Data Model Patterns to Build High-Quality Data Models

    1/12

    February2009 1

    UsingDataModelPatternstoBuildHighQualityDataModels

    AlexanderLubyanskyAnalyst,ProjectPerformanceCorporation

    Abstract

    ThecreationofhighqualitydatamodelsiscriticallyimportanttoITprojectsthatrequiredatabasedesignor

    redesign.Thereisnouniversallyrecognizedsetofrulesforthedesignofdatamodels,asidefromsuchconceptsas

    normalization.MatthewWest(1996)providesonewellrespectedandconcisesetofrulesforbuildingahigh

    qualitydatamodel.DavidHay(1996)expandsonthisconceptofdatamodelrulestoproposethatgooddata

    modelsarebuiltfrompatterns.

    ThispapercontainsconciseexplanationsofbothWestsrulesandHayspatterns.Thefirstsectionexplainsthe

    basicfeaturesofhighqualityandlowqualitydatamodels.ThesecondsectionexplainseachofWestsrules

    supportedbyillustrationsandwrittenexampleswherenecessary.Thefinalsectiondescribesthestructureand

    functionofHaysUniversalDataModel,listsitspracticalapplications,andshowshowpatternsareusedtocreatea

    genericmodelofanorganizationanditsactivities.

    Introduction

    Adatabasearchitectneedstoknowhowtobuildadatamodelinordertomakeanorganizationaldatabasefrom

    scratch,consolidateexistingdatabases,orimproveanexistingdatabase.Ideally,ahighqualitydatamodelmust:

    Fituserrequirements.Beunderstandabletotheuser.Bestableandflexibleenoughtoexpandandchangealongwithbusinessprocesses.Bereusable.Bereadyforconnectiontootherdatamodelsusedbytheorganization.

    Similarly,alowqualitydatamodellikelycontainssomeoralloftheseflaws:

    Thereisalackofnormalizationtothirdnormalform.Businessrulesarebuiltintothestructureofthedatamodel,makingithardtochangethedatamodelalongwiththebusiness.

    Entities(thingsthatwillbecometablesinaphysicaldatamodel)areunidentifiedormisidentified.Datastructuresandfunctionalityarereplicated.

    Tomaximizethechancesofbuildingahighqualitydatamodel,thedatabasearchitectneedstofollowsomerules

    forbuildingthedatamodel.Inthispaper,twosetsofrulesareexplained.ThefirstisWests(1996)sixrulesof

    highqualitydatamodels.ThesecondisHays(1996)useofdatamodelpatternstobuilddatamodelsthatconform

    tothesixrules.

    TheSix

    Rules

    of

    High

    Quality

    Data

    Models

    Inhis1996paper,DevelopingHighQualityDataModels,MatthewWestoutlinesseveralrulesforcreatinghigh

    qualitydatamodels.Westsrulesarecompatiblewithbutdifferentfromthebasicsofdatabasenormalization,

    astheydealmorewiththestyleorartofcreatingdatamodels.

    DavidHaycommentsontheserules(2005,January1)andusesthemasafoundationforhis1996bookondata

    modelpatterns.Thesixrulesareparaphrasedbelow.

  • 8/2/2019 Using Data Model Patterns to Build High-Quality Data Models

    2/12

    UsingDataModelPatternstoBuildHighQualityDataModels,Lubyansky

    February2009 2

    1. Entitytablesshouldrepresenttheunderlyingnatureofanobject,notitsrole.2. Entitytablesshouldbepartofsubtype/supertypehierarchies.3. Activitiesandassociationsshouldbeentitytables,notrelationships.4. Relationshipsshouldonlyattachthenounentitytableslikepeople,places,andassetstoactivityand

    associationentitytables.

    5. Candidateattributesoftablesshouldbecheckedtoseeiftheyareforeignkeys.6. Tablesotherthanpureintersectiontablesshouldhaveartificiallygenerateduniqueidentifiers.Therestofthissectiondescribeseachoftheserules,illustratingexampleswithdiagramsasnecessary.All

    diagramsinthispaperaredesignedasconceptualdatamodelsinSybasePowerDesigner12.5(Sybase,2008).

    AlldiagramsusetheInformationEngineeringNotation.Inthisnotation,theendsofarelationshipindicate

    cardinality(lineisone,crowsfootismany)andoptionality(dashismandatory,opencircleisoptional).

    Entitiesarenamedassingularandthelabelsontheendsofrelationshipshavethenearesttableastheoriginof

    the

    relationship

    and

    the

    farthest

    table

    as

    the

    destination.

    For

    example,

    the

    English

    sentences

    to

    describe

    Figure

    2

    are:AWorkOrdermustbeperformedbyexactlyonePersonandAPersonmustperformzeroormoreWork

    Orders.

    1.Entitytablesshouldrepresenttheunderlyingnatureofanobject,notitsrole.Entitiesshouldrepresenttheunderlyingnaturesoftheirbusinessconcepts,nottherolesofthosebusiness

    concepts.Forexample,aPersonmaybeconsideredanimportantbusinessentity,sincepeopleperformthework

    ofanorganization.However,aPersonmayperformoneormorerolesinanorganization.

    Asanotherexample,aTechnicianmayperformaMaintenanceOrdertorepairtheorganizationsequipment.

    Similarly,anEngineermayperformaProductionOrdertoproducesomenewequipmentfortheorganization.A

    ManagermaycommissionaProjectOrdertostartsomeorganizationalproject.Aconceptualdiagramofthese

    entitiesandtheirrelationshipsisshowninFigure1.

    Figure1.Entitiesbasedonroles.

    WhileitispossibletorepresentthesebusinessentitiesandrelationshipsasinFigure1,itispreferabletorepresent

    themasinFigure2.InFigure1,theentitiesarebasedontherolesofvariouspeopleandworkorders.InFigure2,

    theentitiesarebasedontheunderlyingnaturesoftheentities.

    performs

    performed by

    performs

    performed by

    performs

    performed by

    TechnicianMaintenance Order

    Production Order Engineer

    Project Order Manager

  • 8/2/2019 Using Data Model Patterns to Build High-Quality Data Models

    3/12

    UsingDataModelPatternstoBuildHighQualityDataModels,Lubyansky

    February2009 3

    APersoncorrespondstoaphysicalhumanbeingwhohasmanydifferentrolesandabilitiesintheorganization.A

    WorkOrdercorrespondstoapaperorelectronicdocumentauthorizingsomesortofwork.

    Figure2.Entitiesbasedontheunderlyingnaturesofthebusinessconceptstheyrepresent.

    UsingPersonandWorkOrderasentitiesispreferabletousingtheirvariousrolesasentities.Thisallowsthe

    databasearchitecttoseparatebusinesslogicfromstructure,reduceredundancy,andimproveflexibilityofthe

    datamodel.Forexample,withFigure2,entitiesmaybeaddedtorepresentoneormorerolesforaPersonor

    WorkOrder.

    Similarly,itbecomeseasiertorelateentitiestoeachother.Forexample,aPersonmaybeaManagerofanother

    PersonoraProjectOrdermayincludeseveralProductionOrders.ThedatamodelinFigure2isbettersuitedto

    addingthis

    kind

    of

    new

    structure

    while

    keeping

    the

    data

    model

    flexible

    and

    stable.

    2.Entitytablesshouldbepartofsubtype/supertypehierarchies.Theuseofsubtypesandsupertypesisaveryusefulwaytomakedatamodelsmorepowerfulandflexible.Theuse

    ofsubtypesandsupertypesinadatamodelissomewhatakintotheuseofclasshierarchiesinobjectoriented

    programming,althoughtheentityrelationshipstructureofadatamodelisnotobjectoriented.

    Figure3showsanexampleofahierarchyofentities.Inthishierarchy,thebottomrightcornerofthediagram

    containsthesupertypeParty,withsubtypesofPerson,Organization,andsoon(thereasonsforvariousdisplay

    conventionsarediscussedinHay,1996).PersonandOrganizationinheritParty,whileEmployeeand

    NonEmployeeinheritPerson.

    Inaphysicaldatamodel,thewaytobuildasubtype/supertypehierarchyisbyputtingafieldinthesubtypetable

    thatpointstotheprimarykeyofthesupertypetable.Theoretically,itispossibletohavemanytypesof

    subtype/supertyperelationships

    corresponding

    to

    all

    the

    possible

    inheritances

    in

    object

    oriented

    programming,

    butthissubjectisbeyondthescopeofthispaper.

    Figure3.TheinheritancestructureofPartyinInformationEngineeringNotation.

    performsperformed by

    PersonWork Order

    Person

    Party

    Employee

    Organization

    NonEmployee

  • 8/2/2019 Using Data Model Patterns to Build High-Quality Data Models

    4/12

    UsingDataModelPatternstoBuildHighQualityDataModels,Lubyansky

    February2009 4

    ThedatamodelinFigure3hasseveraladvantages.Thefirstadvantageisthatitallowsbetternormalizationofthe

    fieldsoftherelevantbusinessconcepts.InFigure3,aPartyisagenericorganizationalentitythatmayenterinto

    contracts,haveidentifyinginformation,etc.Thisentityprobablyhasonlyafewattributes,suchasName.Of

    course,aPersonhasaFirstNameandLastName,whileanOrganizationhasaNameandmaybeaLegal

    Nameor

    Common

    Name.

    In

    this

    case,

    it

    makes

    sense

    to

    put

    the

    attributes

    into

    the

    appropriate

    subtype

    of

    the

    entity.NamesprobablyexistatthelevelofPersonandOrganization.

    Similarly,anEmployeeofanorganizationlikelyhasattributesthatpertainonlytohisemployersuchasEmployee

    IdentificationNumber.ItmakessensetoputthisattributeatthelevelofEmployeeandNonEmployee,rather

    thanatthelevelofPerson.Becauseofthesubtype/supertypehierarchyinthedatamodel,attributesexistonlyat

    theappropriatelevelofthehierarchyandfortheappropriatenodeinthehierarchy.

    Thesecondadvantageofthesubtype/supertypehierarchyisthatitallowsrelationshipstobeappropriately

    distributedtodifferententitiesinthehierarchy.Forexample,peopleandorganizationsmayhavethesame

    interactionswitheachother.APersonmaybuyaproductfromanotherPerson,anOrganizationmaybuya

    productfromaPerson,etc.

    Itisusefultohaveahigherleveltypeforinteractionssuchasordering,cooperativerelationships,andsoon.Inthis

    case,Party

    may

    be

    either

    aPerson

    or

    an

    Organization,

    allowing

    acontract

    or

    purchase

    order

    to

    be

    made

    between

    anytwoparties,regardlessoftheirsubtypes.

    Figure4.TheinheritancestructureofPartywithinheritancelineshiddentomimicBarker'sNotation.

    Asadiagrammingnote,whileclosertoUnifiedModelingLanguage(UML)notation,thenotationinFigure3

    becomescumbersomewithmultiplesubtypesandmultiplerelationships.Hay(1996)prefersthemorecompact

    andintuitiveBarker'sNotationshowninFigure4. InFigure4,allentitiesareconnectedasinFigure3,buta

    subtypeislocatedinsideitssupertypeinthediagram.Thiscompactnotationisusedinallsubsequentdiagrams

    inthispaper.InSybasePowerDesigner,itiseasytouseInformationEngineeringNotationtomimicBarker's

    Notationbyhidingrelationshiplinesandsuperimposingentitiesatoponeanother.

    AlternativeconventionsandtechniquesforcreatingentityrelationshipdiagramsinUMLproperarediscussedin

    depthbyHay(2008,September3;2008,October1;2008,November1;2008,December1).

    Party

    Person

    Employee

    Organization

    NonEmployee

  • 8/2/2019 Using Data Model Patterns to Build High-Quality Data Models

    5/12

    UsingDataModelPatternstoBuildHighQualityDataModels,Lubyansky

    February2009 5

    3.Activitiesandassociationsshouldbeentitytables,notrelationships.Oneofthemostfrequentplaceswherebusinesslogicishiddeninthestructureofadatamodelisinitsactivities

    andassociations.Thedatabasearchitectusuallyputsthenounsoftheorganizationintothedatamodelthe

    people,equipment,supplies,andplacesrelevanttotheorganizationwhilehidingtheverbsoftheorganization

    in

    the

    relationships

    between

    these

    noun

    entities.

    Theseverbsincludealloftheactivitiesandassociationsofthenounentities.Forexample,aPersonmaybe

    employedforanOrganization.ThismayberepresentedbyformingarelationshipbetweenaPersonentityandan

    Organizationentity.

    However,ifthereisaneedtorepresentmorethanthefactthatPersonXcurrentlyisemployedbyOrganization

    Y,theassociationcalledEmploymentneedstobemadeintoitsownentity.Thisway,thedatabasearchitectmay

    specifythestartandenddatesofemployment,thetypeofemployment(fulltime,part time,contractor),and

    otherpropertiesoftheemployment.Figure5showsanexampleofthisdatamodelruleappliedtotheactivitiesandassociationsoftheequipmentused

    byahypotheticalscientificresearchorganization.Aspartofitsactivities,thisorganizationusesvariouskindsof

    equipmenttomeasureandtransmitenvironmentaldataatvariousgeographicsites.

    Thethree

    main

    supertype

    entities

    in

    this

    model

    are

    Asset,

    Activity,

    and

    Site.

    Their

    relationships

    are

    that

    an

    Asset

    performsanActivityandanAssetislocatedataSite.Allotherrelationshipsarebetweenvarioussubtypeentities.

    Forexample,asubtypeofAssetisEquipment(ascomparedtoassetslikebuildings,lotsofinventory,etc.)andits

    subtypesareInstrumentandTransmitter.AnInstrumentmayperformtheActivityofTestand/orData

    Dissemination,whileaTransmittermayperformtheActivityofTransmission.

    ThesepiecesofEquipmentmayalsobephysicallyconnectedtoeachotherviaaDataConnection.Instruments

    maybeconnectedviaaDataCollectionconnectionandInstrumentsmaybeconnectedtoTransmittersviaaData

    TransmissionConnection.Finally,eachDataConnectionisrecordedatthelocationofaStation,asubtypeofSite.

    InFigure5,theassociationbetweenAssetandSiteisonlyrepresentedasarelationshipasanintentionalmistake

    forillustrativepurposes.Ifthedatabasearchitectdecidesthisassociationiscomplexorimportantenough,hemay

    createanentitycalledAssetPlacementtoactasanintersectionentitybetweenAssetandSite.Thischoiceisa

    matterof

    practicality

    versus

    conformity

    to

    the

    rules.

    Totrulyfollowthethirdruleofdataquality,AssetPlacementmustberepresentedasanentity.Thereareatleast

    tworeasonsforthischoiceofrepresentation.First,AssetPlacementisanactivitythatisperformedbythe

    organization.Activitiesandproceduresaresignificantbusinessentitiesandmustbemodeledassuchtofully

    representalltheimportantdataoftheorganization.

    Second,activitiesandprocedurescanoftenhavemanytomanyrelationshipswiththeentitiestowhichtheyare

    linked.InFigure5,AssettoSiteisamanytoonerelationship.ThisassumesthatanAssetisonlyatoneSiteata

    timeandthatitisonlyimportanttorepresentthemostrecentplacementstartandendtimesoftheAsset.Quite

    often,thehistoryofactivitiesisimportanttorecordrelationallysothedatamodelmustrepresenttherelationship

    betweenAssetandSiteasmanytomany,withAssetPlacementholdingthestartandendtimeinformationfor

    eachplacementofanAssetataSite.

    Ultimately,Figure

    5shows

    some

    activities

    (Activity,

    Test,

    Data

    Dissemination,

    and

    Transmission)

    and

    associations

    (DataConnection,DataCollection,DataTransmission)asseparateentitiesfromtheAssetsdoingtheactivitiesor

    participatingintheassociations.Thisallowsforamorecompactandflexiblerepresentationofthecomplexityof

    theseactivitiesandassociations.

  • 8/2/2019 Using Data Model Patterns to Build High-Quality Data Models

    6/12

    UsingDataModelPatternstoBuildHighQualityDataModels,Lubyansky

    February2009Figure5.ActivitiesandAssociationsfortheAssetentity.

    contains

    located at

    performs

    performed by

    hosts the occurrence of

    occurs at

    Asset

    Equipment

    Data Connection

    Site

    the reference for

    refers tothe

    from

    the reference for

    refers to

    the re

    to

    Data Transmission

    Data Collection

    Activity

    performed by

    performed by

    performed by

    Transmission

    Data Dissemin ation

    Test

    Station

  • 8/2/2019 Using Data Model Patterns to Build High-Quality Data Models

    7/12

    UsingDataModelPatternstoBuildHighQualityDataModels,Lubyansky

    February2009 7

    4.Relationshipsshouldonlyattachthenounentitytableslikepeople,places,andassetstoactivityandassociationentitytables.Thisruleissimplyanextensionofthethirdrule.Ifallactivitiesandassociations(verbs)areentitiesinadata

    model,all

    noun

    entities

    are

    indirectly

    linked

    through

    these

    activity/association

    entities.

    By

    following

    rules

    three

    andfour,adatamodelexplicitlyandseparatelyrepresentsandconnectsthesenounsandverbs.

    5.Candidateattributesoftablesshouldbecheckedtoseeiftheyareforeignkeys.Thefifthruleofdataqualityasksthedatabaseanalysttocheckifentitiesattributesshouldthemselvesbesplitoff

    asnewentities.Theproblemhereiswhenabusinessviewisencodedintoanentitysattributes.Forexample,

    Figure6showsonepotentialsetofattributesfortheentityParty.

    Figure6.ThecollapsedPartyentity.

    TheattributesofPartyrelatetodifferentbusinessconceptssuchascontactinformationandemployment.Also,if

    PartymaybeeitheranOrganizationoraPerson,thenattributeslikeNameareclumsy.Ingeneral,Figure6is

    poorlynormalized.Asidefrommattersofpracticality,ifthedatabasearchitectwantstocloselyfollowthefifthrule

    ofdataquality,shewillexpandFigure6intosomethinglikeFigure7.

    Figure7showstheentitiesandrelationshipsneededtorepresentalloftheattributesinFigure6.InFigure7,Party

    hassubtypesOrganizationandPerson.Organizationhasaparentchildrelationshipwithitself,whilePersonisnow

    relationallylinkedtoOrganizationviaEmployment.TheattributeTypefromFigure6isimplementedvia

    intersectionentitiesforbothPersonandOrganization.ContactinformationistheseparateentityContactSource,

    withsubtypesPhoneandEmail.ThisexpandedrepresentationremovesbusinesslogicoutofthePartyentityand

    representsitrelationally.

    6.Tablesotherthanpureintersectiontablesshouldhaveartificiallygenerateduniqueidentifiers.Thisfinalruleisdesignedtoavoidtyinginappropriatebusinesslogictotheidentifiersofentities.Whilethe

    databasearchitectmayfindattributesthatseemunique,useoftheseattributesasidentifierslimitstheflexibility

    ofthedatamodeltofuturechange.

    The

    best

    thing

    to

    do

    is

    to

    create

    a

    new

    attribute

    to

    act

    as

    the

    unique

    identifier

    for

    an

    entity.

    This

    unique

    identifier

    attributemaybesetbythedatabasetohavenorepeatingrecords.Theonlyexceptiontothisruleisan

    intersectiontable.Anintersectiontabledoesnotneedtocreateanewuniqueidentifierattribute,sinceitsunique

    identifieristhecombinationoftheuniqueidentifiersoftheentitiestowhichitislinked.

    Party

    Name (Last)

    FirstName

    Type

    StartEmployment

    EndEmploymentPhone (Home)

    Phone (Cell)

    Email

    ParentOrg

  • 8/2/2019 Using Data Model Patterns to Build High-Quality Data Models

    8/12

    UsingDataModelPatternstoBuildHighQualityDataModels,Lubyansky

    February2009 8

    Figure7.TheexpandedPartyentity.

    DataModelPatterns

    TheUniversalDataModelHay(1996)proposesthatthereisaUniversalDataModelforalmostallaspectsofanorganization,asidefromvery

    specializedfunctionslikeaccounting.TheUniversalDataModelisthehighestlevelabstractionofagooddata

    model.WhiletheUniversalDataModelislargelyatheoreticalmodel,itsummarizesthebasicdatamodelpattern

    principles.Figure8showstheUniversalDataModel.

    AtthecenterofthisdatamodelistheentityThing.AThingispotentiallyanyentityinthedatamodelthat

    describessomethinginthebusinessworldthedatamodelistryingtorepresent.AThingmaybeoneofthe

    organizationsnounslikePerson,Asset,Site,andWorkOrderoroneoftheorganizationsverbslike

    Employment,Placement,orDataConnection.

    EveryThingbelongstoaThingClass.AThingClassisthestructuraldefinitionoftheThing.TheentityThingClass

    allowsthedataarchitecttospecifythestructureandbehaviorofeveryThinginthedatamodelwithinthe

    database.Forexample,oneThingcalledCarmaycontainindividualcars.TheThingClassforCarmaybecalledCar

    Model.TherecordsinCarModelmaybemodelsofcarssuchas2009ToyotaCamryandtherecordsinCarmay

    beindividualcarssuchasaparticularToyotaCamryintherealworld.

    can be reached via

    is useful to reach

    Contact Source Party

    describes

    is described b y

    hasincludes

    has

    includes

    describes

    is described by

    is the parent of

    is the child of

    is categorized by

    categorizes

    describes

    is described by

    Person

    FirstNameLastName

    Organization

    OrgName

    EmploymentStartDt

    EndDt

    Employment Type

    Employment Type

    Organization Categorization

    Organization Type

    Organization Type

    Phone

    PhoneNumber

    Phone Type

    Email

    EmailAddress

  • 8/2/2019 Using Data Model Patterns to Build High-Quality Data Models

    9/12

    UsingDataModelPatternstoBuildHighQualityDataModels,Lubyansky

    February2009 9

    Figure8.TheUniversalDataModel.

    ThingClassallowstheassignmentofAttributesandtheirValuestoaThing.Forexample,aparticularToyotaCamry

    mayhaveanattributesuchasPowerSteeringwhichmayeitherbepresent(1)orabsent(0).IntheUniversal

    DataModel,eachattributegoesintotheAttributeentity,whichisassignedtoaThingClassviatheAttribute

    AssignmententityandpopulatedforaThingwithaValue.Thisisahighlynormalizeddatastructurewhere

    AttributeisseparatelyconnectedtoThingandThingClassviaintersectionentities.

    IntheCarexample,PowerSteeringmaybeanattributeinCarAttribute.TheCarAttributeAssignmententity

    maythenbepopulatedsuchthatevery2009ToyotaCamryhastheCarAttributePowerSteering.AgivenCar

    whoseCarClassis2009ToyotaCamrymaythenhaveaCarAttributeValueforPowerSteering.

    InadditiontoAttributes,aThingmayalsohaveoneormoreRelationshipstootherThings.Theserelationshipsare

    activitiesandassociations.Forexample,aCarmaybeparkedinaGarage.Inthisexample,CarandGarageare

    ThingsandParkingistheRelationship.TheRelationshipalsohasaRelationshipType,whichisthedefinitionofthe

    Relationship,much

    like

    with

    Thing

    and

    Thing

    Class.

    In

    the

    example,

    the

    Parking

    Relationship

    may

    be

    the

    RelationshipType.

    AllentitiesintheUniversalDataModelmaybesubtypesorsupertypesofotherentities,sothiswholestructure

    mayworkatmultiplelevels.Forexample,CarmayhaveasupertypeofVehicle,andCarModelmayhavea

    supertypeofVehicleType(car,airplane,boat,etc.).

    Attributesandtheirvaluesmaythusbeassignedatmultiplelevels.Attributesrelevantonlytocars(likepresence

    ofapowersteeringoption)mayberepresentedatthelevelofCarandCarModel,whileattributesatthelevelof

    vehicles(likeweight,maximumspeed,etc.)mayberepresentedatthelevelofVehicleandVehicleType.

    described by

    for

    given

    of

    subject to

    of

    the structural definition of

    to

    the structural definition of

    of

    on one side of

    from

    on the other side of

    to

    the definition of

    an example of

    ThingRelationship

    Relationship Type

    Thing Class

    Attribute Assignment

    Attribute

    Value

  • 8/2/2019 Using Data Model Patterns to Build High-Quality Data Models

    10/12

    UsingDataModelPatternstoBuildHighQualityDataModels,Lubyansky

    February2009 10

    Finally,theUniversalDataModelisametamodel,amodelofdatamodelsingeneral.Therefore,theUniversalData

    Modelisrecursivewithregardtoallitsentitiesandrelationships.AThingClassmayalsobeaThing,thushavingits

    ownAttributeValuesandRelationships(CarModeltoGarageType,forexample).ARelationshipmayalsobea

    ThingandsomayanAttribute.ThepossibilitiesareendlessaslongasthebasicpatternoftheUniversalData

    Modelapplies.

    PracticalapplicationsofdatamodelpatternsThebasicbuildingblocksoftheUniversalDataModelmaybeusedtodevelopmanypractical,complexdata

    modelsofthebusiness.Forexhaustiveexamples,thesourceisHays1996book,butthereareseveralexamples

    accessibleonlinefromHaysprofessionalwebsite(1997)andonlinearticlesinTheDataAdministrationNewsletter.ThemainbusinessareasthatHaymodelsincludethefollowing:

    Thepaperworkoforganizations,includingcontracting,accounting,anddocumentmanagement.Althoughusuallythesefunctionsareusuallyperformedbycommercialofftheshelfsoftware,adatabasearchitectmay

    needtodesignthemfromscratch.Inthiscase,suchmodelsprovideusefulexamplesofthesuperstructureof

    thesevariousbusinessfunctions.

    People,organizations,andplacesandtherelationshipsbetweenthem,suchasgeographicplacement,employment,

    and

    organizational

    reporting

    structures.

    Physicalassetslikebuildings,piecesofequipment,andtypesofinventorygoods(likenutsandbolts).Thesemodelsdescribeindetailhowtorepresenttheassembly/compositionofphysicalthingsaswellastheirlogical

    andphysicalconnectionswitheachother.

    Variousproceduresandactivitiesconductedbypeopleandorganizations.Theseworkordersmayinvolvebuilding,maintaining, repairing,orsomehowalteringotherimportantentitiessuchasassets.Thesemodels

    alsodiscusshowtorepresentmultipartworkactivitieslikeprojectsaswellasthedetailsofassigningand

    billingresourcestoworkorders.

    Advancedproceduresandactivitiesthatrequireveryspecializeddatamodels.Examplesarelaboratorymeasurements,materialrequirementplanning,andprocessmanufacturing.Thesedatamodelscoververy

    advancedlogicalconceptslikehowtotrackcontinuousflowsofliquids.

    AnexampledatamodelbuiltfrompatternsFigure9containsanexampledatamodelofanorganizationanditsactivitieswhichisbuiltfromdatamodel

    patterns.Thismodelonlyshowsthemostimportantentitiesofagenericorganizationandonlyatthehighestlevel

    ofthesubtype/supertypehierarchy.

    ThepeopleandorganizationsinFigure9arerepresentedbyParties,whichmaybeplacedatSites.Thephysical

    thingsoftheenterpriseAssetsmayalsobeplacedatSites.ASitemayrepresentanysizespaceorlocationand

    isgroundedtotheEarthviaoneormoreGeographicAreas.

    ThewayPartiesinteractwithAssetsisviaWorkOrders.WorkordersmayinvolvePartiesengaginginActivities

    and/orAssetsengaginginActivities.ThisallowsforsuchvariedActivitiesasanorganizationstartingaproject,a

    technicianinstallinganinstrument,oraninstrumentpassivelycollectingenvironmentaldata.

    Theentities

    Asset

    and

    Activity

    are

    each

    likely

    to

    be

    heterogeneous

    and

    complicated

    enough

    to

    require

    Parameters,

    andthushaveThingClassentities:AssetTypeandActivityType.

    Whileacompletedatamodelneedsmanymoreentities,thebasicsofenterprisearerepresentedinFigure9.

    Figure9showsthebasicpeople,places,things,andactivitiesofthegenericenterprise.

  • 8/2/2019 Using Data Model Patterns to Build High-Quality Data Models

    11/12

    UsingDataModelPatternstoBuildHighQualityDataModels,Lubyansky

    February2009Figure9.AnexampledatamodelbuiltwiththeUniversalDataModelpattern.

    location o

    location of

    located at

    place of

    embodied in

    an example of

    the responsibility of

    the authorization for

    authorized by

    embodied in

    an example of

    described by

    for

    subject to

    from

    defined by

    to

    subject to

    from

    subject to

    of

    charged with

    charged to

    subject to

    ofcharged with

    charged to

    described by

    for

    defined by

    to

    Pl

    Geog

    Asset

    Asset Type

    Activity

    Activity Type

    Work Order

    Parameter Assignm ent

    Parameter Value

    Parameter

    Asset Type Usage

    Asset Usage

  • 8/2/2019 Using Data Model Patterns to Build High-Quality Data Models

    12/12

    UsingDataModelPatternstoBuildHighQualityDataModels,Lubyansky

    February2009 12

    AbouttheAuthor

    AlexanderLubyanskyisanAnalystatProjectPerformanceCorporation.Hecomesfromaresearchand

    developmentbackgroundwithexperienceinbothITandresearch.Thisexperienceincludesrequirements

    elicitation,datamodelingandanalysis,decisionsupportsystemdesign,businessintelligence,andcomputer

    simulation.For

    more

    information

    on

    this

    white

    paper,

    please

    contact

    Alexander

    by

    email

    at

    [email protected].

    References

    Hay,D.C.(2008,December1).UMLasaDataModelingNotation,Part4.TheDataAdministrationNewsletter.RetrievedDecember24,2008fromhttp://www.tdan.com/viewarticles/9219.

    Hay,D.C.(2008,November1).UMLasaDataModelingNotation,Part3.TheDataAdministrationNewsletter.RetrievedDecember24,2008fromhttp://www.tdan.com/viewarticles/8914.

    Hay,D.C.(2008,October1).UMLasaDataModelingNotation,Part2.TheDataAdministrationNewsletter.RetrievedDecember24,2008fromhttp://www.tdan.com/viewarticles/8457.

    Hay,D.C.(2008,September3).UMLasaDataModelingNotation,Part1.TheDataAdministrationNewsletter.RetrievedDecember24,2008fromhttp://www.tdan.com/viewarticles/8589.

    Hay,D.C.(2005,January1).DataModelQuality:WhereGoodDataBegins.TheDataAdministrationNewsletter.RetrievedDecember24,2008fromhttp://www.tdan.com/viewarticles/5286.

    Hay,D.C.(1997).AdvancedDataModelPatterns.EssentialStrategies,Inc. RetrievedDecember24,2008fromhttp://www.essentialstrategies.com/publications/modeling/advanceddm.htm.

    Hay,D.C.(1996).DataModelPatterns:ConventionsofThought.NewYork:DorsetHousePublishing.Sybase.(2008).PowerDesignerDataModelingSoftwareTool.RetrievedDecember24,2008from

    http://www.sybase.com/products/modelingdevelopment/powerdesigner.

    West,M.(1996).DevelopingHighQualityDataModels(Version2.0).EPISTLE.RetrievedDecember24,2008from

    http://www.matthewwest.org.uk/documents/princ03.pdf.