Upload
abu-sesay
View
218
Download
0
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)
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
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
at
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.