Sie sind auf Seite 1von 12

UsingDataModelPatternstoBuildHighQualityDataModels

AlexanderLubyansky
Analyst,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,makingithardtochangethedatamodelalong
withthebusiness.

Entities(thingsthatwillbecometablesinaphysicaldatamodel)areunidentifiedormisidentified. Datastructuresandfunctionalityarereplicated.
Tomaximizethechancesofbuildingahighqualitydatamodel,thedatabasearchitectneedstofollowsomerules forbuildingthedatamodel.Inthispaper,twosetsofrulesareexplained.ThefirstisWests(1996)sixrulesof highqualitydatamodels.ThesecondisHays(1996)useofdatamodelpatternstobuilddatamodelsthatconform tothesixrules.

TheSixRulesofHighQualityDataModels
Inhis1996paper,DevelopingHighQualityDataModels,MatthewWestoutlinesseveralrulesforcreatinghigh qualitydatamodels.Westsrulesarecompatiblewithbutdifferentfromthebasicsofdatabasenormalization, astheydealmorewiththestyleorartofcreatingdatamodels. DavidHaycommentsontheserules(2005,January1)andusesthemasafoundationforhis1996bookondata modelpatterns.Thesixrulesareparaphrasedbelow. February2009

UsingDataModelPatternstoBuildHighQualityDataModels,Lubyansky

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 therelationshipandthefarthesttableasthedestination.Forexample,theEnglishsentencestodescribeFigure2 are:AWorkOrdermustbeperformedbyexactlyonePersonandAPersonmustperformzeroormoreWork Orders. 1.Entitytablesshouldrepresenttheunderlyingnatureofanobject,notitsrole. Entitiesshouldrepresenttheunderlyingnaturesoftheirbusinessconcepts,nottherolesofthosebusiness concepts.Forexample,aPersonmaybeconsideredanimportantbusinessentity,sincepeopleperformthework ofanorganization.However,aPersonmayperformoneormorerolesinanorganization. Asanotherexample,aTechnicianmayperformaMaintenanceOrdertorepairtheorganizationsequipment. Similarly,anEngineermayperformaProductionOrdertoproducesomenewequipmentfortheorganization.A ManagermaycommissionaProjectOrdertostartsomeorganizationalproject.Aconceptualdiagramofthese entitiesandtheirrelationshipsisshowninFigure1.

Maintenance Order performed by performs Technician

Production Order

performed by performs

Engineer

Project Order

performed by performs

Manager

Figure1.Entitiesbasedonroles. WhileitispossibletorepresentthesebusinessentitiesandrelationshipsasinFigure1,itispreferabletorepresent themasinFigure2.InFigure1,theentitiesarebasedontherolesofvariouspeopleandworkorders.InFigure2, theentitiesarebasedontheunderlyingnaturesoftheentities. February2009

UsingDataModelPatternstoBuildHighQualityDataModels,Lubyansky

APersoncorrespondstoaphysicalhumanbeingwhohasmanydifferentrolesandabilitiesintheorganization.A WorkOrdercorrespondstoapaperorelectronicdocumentauthorizingsomesortofwork.

Work Order performed by performs Person

Figure2.Entitiesbasedontheunderlyingnaturesofthebusinessconceptstheyrepresent. UsingPersonandWorkOrderasentitiesispreferabletousingtheirvariousrolesasentities.Thisallowsthe databasearchitecttoseparatebusinesslogicfromstructure,reduceredundancy,andimproveflexibilityofthe datamodel.Forexample,withFigure2,entitiesmaybeaddedtorepresentoneormorerolesforaPersonor WorkOrder. Similarly,itbecomeseasiertorelateentitiestoeachother.Forexample,aPersonmaybeaManagerofanother PersonoraProjectOrdermayincludeseveralProductionOrders.ThedatamodelinFigure2isbettersuitedto addingthiskindofnewstructurewhilekeepingthedatamodelflexibleandstable. 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/supertyperelationshipscorrespondingtoallthepossibleinheritancesinobjectorientedprogramming, butthissubjectisbeyondthescopeofthispaper.
Employee

NonEmployee

Person

Organization

Party

Figure3.TheinheritancestructureofPartyinInformationEngineeringNotation. February2009

UsingDataModelPatternstoBuildHighQualityDataModels,Lubyansky

ThedatamodelinFigure3hasseveraladvantages.Thefirstadvantageisthatitallowsbetternormalizationofthe fieldsoftherelevantbusinessconcepts.InFigure3,aPartyisagenericorganizationalentitythatmayenterinto contracts,haveidentifyinginformation,etc.Thisentityprobablyhasonlyafewattributes,suchasName.Of course,aPersonhasaFirstNameandLastName,whileanOrganizationhasaNameandmaybeaLegal NameorCommonName.Inthiscase,itmakessensetoputtheattributesintotheappropriatesubtypeofthe 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,PartymaybeeitheraPersonoranOrganization,allowingacontractorpurchaseordertobemadebetween anytwoparties,regardlessoftheirsubtypes.
Party

Person

Employee

NonEmployee

Organization

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). February2009

UsingDataModelPatternstoBuildHighQualityDataModels,Lubyansky

3.Activitiesandassociationsshouldbeentitytables,notrelationships. Oneofthemostfrequentplaceswherebusinesslogicishiddeninthestructureofadatamodelisinitsactivities andassociations.Thedatabasearchitectusuallyputsthenounsoftheorganizationintothedatamodelthe people,equipment,supplies,andplacesrelevanttotheorganizationwhilehidingtheverbsoftheorganization intherelationshipsbetweenthesenounentities. Theseverbsincludealloftheactivitiesandassociationsofthenounentities.Forexample,aPersonmaybe employedforanOrganization.ThismayberepresentedbyformingarelationshipbetweenaPersonentityandan Organizationentity. However,ifthereisaneedtorepresentmorethanthefactthatPersonXcurrentlyisemployedbyOrganization Y,theassociationcalledEmploymentneedstobemadeintoitsownentity.Thisway,thedatabasearchitectmay specifythestartandenddatesofemployment,thetypeofemployment(fulltime,parttime,contractor),and otherpropertiesoftheemployment. Figure5showsanexampleofthisdatamodelruleappliedtotheactivitiesandassociationsoftheequipmentused byahypotheticalscientificresearchorganization.Aspartofitsactivities,thisorganizationusesvariouskindsof equipmenttomeasureandtransmitenvironmentaldataatvariousgeographicsites. ThethreemainsupertypeentitiesinthismodelareAsset,Activity,andSite.TheirrelationshipsarethatanAsset 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 matterofpracticalityversusconformitytotherules. Totrulyfollowthethirdruleofdataquality,AssetPlacementmustberepresentedasanentity.Thereareatleast tworeasonsforthischoiceofrepresentation.First,AssetPlacementisanactivitythatisperformedbythe organization.Activitiesandproceduresaresignificantbusinessentitiesandmustbemodeledassuchtofully representalltheimportantdataoftheorganization. Second,activitiesandprocedurescanoftenhavemanytomanyrelationshipswiththeentitiestowhichtheyare linked.InFigure5,AssettoSiteisamanytoonerelationship.ThisassumesthatanAssetisonlyatoneSiteata timeandthatitisonlyimportanttorepresentthemostrecentplacementstartandendtimesoftheAsset.Quite often,thehistoryofactivitiesisimportanttorecordrelationallysothedatamodelmustrepresenttherelationship betweenAssetandSiteasmanytomany,withAssetPlacementholdingthestartandendtimeinformationfor eachplacementofanAssetataSite. Ultimately,Figure5showssomeactivities(Activity,Test,DataDissemination,andTransmission)andassociations (DataConnection,DataCollection,DataTransmission)asseparateentitiesfromtheAssetsdoingtheactivitiesor participatingintheassociations.Thisallowsforamorecompactandflexiblerepresentationofthecomplexityof theseactivitiesandassociations.

February2009

UsingDataModelPatternstoBuildHighQualityDataModels,Lubyansky

Asset Activity Equipment

Test performed by performs Data Dissemination performed by performs Data Connection Instrument

Data Collection performed by performs from the sender of Transmitter Transmission performed by refers to to the reciever of performs

refers to

Data Transmission

occurs at

located at

contains the reference for Site the reference for

Station hosts the occurrence of

Figure5.ActivitiesandAssociationsfortheAssetentity. February2009

UsingDataModelPatternstoBuildHighQualityDataModels,Lubyansky

4.Relationshipsshouldonlyattachthenounentitytableslikepeople,places,andassetstoactivityand associationentitytables. Thisruleissimplyanextensionofthethirdrule.Ifallactivitiesandassociations(verbs)areentitiesinadata model,allnounentitiesareindirectlylinkedthroughtheseactivity/associationentities.Byfollowingrulesthree andfour,adatamodelexplicitlyandseparatelyrepresentsandconnectsthesenounsandverbs. 5.Candidateattributesoftablesshouldbecheckedtoseeiftheyareforeignkeys. Thefifthruleofdataqualityasksthedatabaseanalysttocheckifentitiesattributesshouldthemselvesbesplitoff asnewentities.Theproblemhereiswhenabusinessviewisencodedintoanentitysattributes.Forexample, Figure6showsonepotentialsetofattributesfortheentityParty.


Party

Name (Last) FirstName Type StartEmployment EndEmployment Phone (Home) Phone (Cell) Email ParentOrg

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. Thebestthingtodoistocreateanewattributetoactastheuniqueidentifierforanentity.Thisuniqueidentifier attributemaybesetbythedatabasetohavenorepeatingrecords.Theonlyexceptiontothisruleisan intersectiontable.Anintersectiontabledoesnotneedtocreateanewuniqueidentifierattribute,sinceitsunique identifieristhecombinationoftheuniqueidentifiersoftheentitiestowhichitislinked.

February2009


Contact Source

UsingDataModelPatternstoBuildHighQualityDataModels,Lubyansky

Party

Phone Type Employment StartDt EndDt describes is described by Phone PhoneNumber is described by describes Email EmailAddress Employment Type Employment Type includes has includes has

Person FirstName LastName

is the parent of Organization OrgName is the child of

Organization Categorization is useful to reach

categorizes is categorized by

is described by describes Organization Type Organization Type can be reached via

Figure7.TheexpandedPartyentity.

DataModelPatterns
TheUniversalDataModel Hay(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.

February2009

UsingDataModelPatternstoBuildHighQualityDataModels,Lubyansky
Value

for described by Relationship from on one side of to on the other side of an example of of Thing

of

the definition of Relationship Type

Attribute Assignment

to

of

the structural definition of

the structural definition of Thing Class

subject to

given Attribute

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,muchlikewithThingandThingClass.Intheexample,theParkingRelationshipmaybethe RelationshipType. AllentitiesintheUniversalDataModelmaybesubtypesorsupertypesofotherentities,sothiswholestructure mayworkatmultiplelevels.Forexample,CarmayhaveasupertypeofVehicle,andCarModelmayhavea supertypeofVehicleType(car,airplane,boat,etc.). Attributesandtheirvaluesmaythusbeassignedatmultiplelevels.Attributesrelevantonlytocars(likepresence ofapowersteeringoption)mayberepresentedatthelevelofCarandCarModel,whileattributesatthelevelof vehicles(likeweight,maximumspeed,etc.)mayberepresentedatthelevelofVehicleandVehicleType.

February2009

UsingDataModelPatternstoBuildHighQualityDataModels,Lubyansky

Finally,theUniversalDataModelisametamodel,amodelofdatamodelsingeneral.Therefore,theUniversalData Modelisrecursivewithregardtoallitsentitiesandrelationships.AThingClassmayalsobeaThing,thushavingits ownAttributeValuesandRelationships(CarModeltoGarageType,forexample).ARelationshipmayalsobea ThingandsomayanAttribute.ThepossibilitiesareendlessaslongasthebasicpatternoftheUniversalData Modelapplies. Practicalapplicationsofdatamodelpatterns ThebasicbuildingblocksoftheUniversalDataModelmaybeusedtodevelopmanypractical,complexdata modelsofthebusiness.Forexhaustiveexamples,thesourceisHays1996book,butthereareseveralexamples accessibleonlinefromHaysprofessionalwebsite(1997)andonlinearticlesinTheDataAdministrationNewsletter. ThemainbusinessareasthatHaymodelsincludethefollowing:

Thepaperworkoforganizations,includingcontracting,accounting,anddocumentmanagement.Although
usuallythesefunctionsareusuallyperformedbycommercialofftheshelfsoftware,adatabasearchitectmay needtodesignthemfromscratch.Inthiscase,suchmodelsprovideusefulexamplesofthesuperstructureof thesevariousbusinessfunctions.

People,organizations,andplacesandtherelationshipsbetweenthem,suchasgeographicplacement,
employment,andorganizationalreportingstructures.

Physicalassetslikebuildings,piecesofequipment,andtypesofinventorygoods(likenutsandbolts).These
modelsdescribeindetailhowtorepresenttheassembly/compositionofphysicalthingsaswellastheirlogical andphysicalconnectionswitheachother.

Variousproceduresandactivitiesconductedbypeopleandorganizations.Theseworkordersmayinvolve
building,maintaining,repairing,orsomehowalteringotherimportantentitiessuchasassets.Thesemodels alsodiscusshowtorepresentmultipartworkactivitieslikeprojectsaswellasthedetailsofassigningand billingresourcestoworkorders.

Advancedproceduresandactivitiesthatrequireveryspecializeddatamodels.Examplesarelaboratory
measurements,materialrequirementplanning,andprocessmanufacturing.Thesedatamodelscoververy advancedlogicalconceptslikehowtotrackcontinuousflowsofliquids. Anexampledatamodelbuiltfrompatterns Figure9containsanexampledatamodelofanorganizationanditsactivitieswhichisbuiltfromdatamodel patterns.Thismodelonlyshowsthemostimportantentitiesofagenericorganizationandonlyatthehighestlevel ofthesubtype/supertypehierarchy. ThepeopleandorganizationsinFigure9arerepresentedbyParties,whichmaybeplacedatSites.Thephysical thingsoftheenterpriseAssetsmayalsobeplacedatSites.ASitemayrepresentanysizespaceorlocationand isgroundedtotheEarthviaoneormoreGeographicAreas. ThewayPartiesinteractwithAssetsisviaWorkOrders.WorkordersmayinvolvePartiesengaginginActivities and/orAssetsengaginginActivities.ThisallowsforsuchvariedActivitiesasanorganizationstartingaproject,a technicianinstallinganinstrument,oraninstrumentpassivelycollectingenvironmentaldata. TheentitiesAssetandActivityareeachlikelytobeheterogeneousandcomplicatedenoughtorequireParameters, andthushaveThingClassentities:AssetTypeandActivityType. Whileacompletedatamodelneedsmanymoreentities,thebasicsofenterprisearerepresentedinFigure9. Figure9showsthebasicpeople,places,things,andactivitiesofthegenericenterprise.

February2009

10

UsingDataModelPatternstoBuildHighQualityDataModels,Lubyansky
Asset Usage

charged to charged with Parameter Value for described by Activity authorized by

of

Work Order the responsibility of responsible for Placement the authorization for

Party

an example of

of

located via in subject to Asset described by location of place of Site

for

located at

from

Asset Type Usage

an example of location of

in

Geographic Area charged to embodied in charged with Activity Type to defined by to defined by from subject to subject to Parameter subject to of embodied in Asset Type

Parameter Assignment

Figure9.AnexampledatamodelbuiltwiththeUniversalDataModelpattern. February2009

11


AbouttheAuthor

UsingDataModelPatternstoBuildHighQualityDataModels,Lubyansky

AlexanderLubyanskyisanAnalystatProjectPerformanceCorporation.Hecomesfromaresearchand developmentbackgroundwithexperienceinbothITandresearch.Thisexperienceincludesrequirements elicitation,datamodelingandanalysis,decisionsupportsystemdesign,businessintelligence,andcomputer simulation.Formoreinformationonthiswhitepaper,pleasecontactAlexanderbyemailat sasha.lubyansky@ppc.com.

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,2008from http://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.

February2009

12

Das könnte Ihnen auch gefallen