Using Data Model Patterns To Build High-Quality Data Models
Using Data Model Patterns To Build High-Quality Data Models
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:
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.
Production Order
performed by performs
Engineer
Project Order
performed by performs
Manager
UsingDataModelPatternstoBuildHighQualityDataModels,Lubyansky
APersoncorrespondstoaphysicalhumanbeingwhohasmanydifferentrolesandabilitiesintheorganization.A WorkOrdercorrespondstoapaperorelectronicdocumentauthorizingsomesortofwork.
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
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
Figure5.ActivitiesandAssociationsfortheAssetentity. February2009
UsingDataModelPatternstoBuildHighQualityDataModels,Lubyansky
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
categorizes is categorized by
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
Attribute Assignment
to
of
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
of
Work Order the responsibility of responsible for Placement the authorization for
Party
an example of
of
for
located at
from
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
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