You are on page 1of 7

7/5/2016

Chapter13DatabaseDevelopmentProcess|DatabaseDesign

BC OPEN TEXTBOOKS

Database Design
ADRIENNE WATT

MainBody

Home

13

Table of
Contents

CHAPTER13DATABASEDEVELOPMENTPROCESS
ADRIENNEWATT

Acoreaspectofsoftwareengineeringisthesubdivisionofthedevelopmentprocessintoaseriesofphases,orsteps,eachof
whichfocusesononeaspectofthedevelopment.Thecollectionofthesestepsissometimesreferredtoasadevelopmentlife
cycle.Thesoftwareproductmovesthroughthislifecycle(sometimesrepeatedlyasitisrefinedorredeveloped)untilitis
finallyretiredfromuse.Ideally,eachphaseinthelifecyclecanbecheckedforcorrectnessbeforemovingontothenext
phase.
Letusstartwithanoverviewofthewaterfallmodelsuchasyouwillfindinmostsoftwareengineeringtextbooks.

Source:http://www.oercommons.org/courses/thedatabasedevelopmentlifecycle/view

SDLCWATERFALL
Thewaterfallfigureaboveillustratesageneralwaterfallmodelwhichcouldapplytoanycomputersystemdevelopment.It
showstheprocessasastrictsequenceofstepswheretheoutputofonestepistheinputtothenextandallofonestephasto
becompletedbeforemovingontothenext.
Wecanusethewaterfallprocessasameansofidentifyingthetasksthatarerequired,togetherwiththeinputandoutputfor
https://opentextbc.ca/dbdesign/chapter/chapter13databasedevelopmentprocess/

1/7

7/5/2016

Chapter13DatabaseDevelopmentProcess|DatabaseDesign

eachactivity.Whatisimportantisthescopeoftheactivities,whichcanbesummarisedasfollows:
Establishingrequirementsinvolvesconsultationwith,andagreementamong,stakeholdersastowhattheywantofa
system,expressedasastatementofrequirements.
Analysisstartsbyconsideringthestatementofrequirementsandfinishesbyproducingasystemspecification.The
specificationisaformalrepresentationofwhatasystemshoulddo,expressedintermsthatareindependentofhowit
mayberealized.
Designbeginswithasystemspecificationandproducesdesigndocuments,andprovidesadetaileddescriptionofhowa
systemshouldbeconstructed.
Implementationistheconstructionofacomputersystemaccordingtoagivendesigndocumentandtakingaccountof
theenvironmentinwhichthesystemwillbeoperating(forexamplespecifichardwareorsoftwareavailableforthe
development).Implementationmaybestaged,usuallywithaninitialsystemthancanbevalidatedandtestedbeforea
finalsystemisreleasedforuse.
Testingcomparestheimplementedsystemagainstthedesigndocumentsandrequirementsspecificationandproducesan
acceptancereportor,moreusually,alistoferrorsandbugsthatrequireareviewoftheanalysis,designand
implementationprocessestocorrect(testingisusuallythetaskthatleadstothewaterfallmodeliteratingthroughthelife
cycle).
Maintenanceinvolvesdealingwithchangesintherequirements,ortheimplementationenvironment,bugfixingor
portingofthesystemtonewenvironments(forexamplemigratingasystemfromastandalonePCtoaUNIXworkstation
oranetworkedenvironment).Sincemaintenanceinvolvestheanalysisofthechangesrequired,designofasolution,
implementationandtestingofthatsolutionoverthelifetimeofamaintainedsoftwaresystem,thewaterfalllifecyclewill
berepeatedlyrevisited.
http://cnx.org/content/m28139/latest/

DATABASELIFECYCLE
Wecanusethewaterfallcycleasthebasisforamodelofdatabasedevelopmentwhichincorporatesthreeassumptions:
Wecanseparatethedevelopmentofadatabasethatis,specificationandcreationofaschematodefinedataina
databasefromtheuserprocessesthatmakeuseofthedatabase.
Wecanusethethreeschemaarchitectureasabasisfordistinguishingtheactivitiesassociatedwithaschema.
Wecanrepresenttheconstraintstoenforcethesemanticsofthedataonce,withinadatabase,ratherthanwithinevery
userprocessthatusesthedata.
http://www.oercommons.org/courses/thedatabasedevelopmentlifecycle/view

https://opentextbc.ca/dbdesign/chapter/chapter13databasedevelopmentprocess/

2/7

7/5/2016

Chapter13DatabaseDevelopmentProcess|DatabaseDesign

Source:http://www.oercommons.org/courses/thedatabasedevelopmentlifecycle/view
Usingtheseassumptions,thediagramaboverepresentsamodeloftheactivitiesandtheiroutputsfordatabasedevelopment.
ItisapplicabletoanyclassofDBMS(databasemanagementsystem),notjustarelationalapproach.
http://cnx.org/content/m28139/latest/
DatabaseApplicationDevelopmentistheprocessofobtainingrealworldrequirements,analyzingrequirements,designing
thedataandfunctionsofthesystemandthenimplementingtheoperationsinthesystem.
http://www.oercommons.org/courses/thedatabasedevelopmentlifecycle/view

REQUIREMENTSGATHERING
ThefirststepisRequirementsGathering.Duringthisstep,thedatabasedesignershavetointerviewthecustomers(database
users)tounderstandtheproposedsystem,obtainanddocumentthedataandfunctionalrequirements.Theresultofthisstepis
adocumentincludingthedetailrequirementsprovidedbytheusers.
Establishingrequirementsinvolvesconsultationwith,andagreementamong,alltheusersastowhatpersistentdatatheywant
tostorealongwithanagreementastothemeaningandinterpretationofthedataelements.Thedataadministratorplaysakey
roleinthisprocessastheyoverviewthebusiness,legalandethicalissueswithintheorganizationthatimpactonthedata
requirements.
Thedatarequirementsdocumentisusedtoconfirmtheunderstandingofrequirementswithusers.Tomakesurethatitis
easilyunderstood,itshouldnotbeoverlyformalorhighlyencoded.Thedocumentshouldgiveaconcisesummaryofall
usersrequirementsnotjustacollectionofindividualsrequirementsastheintentionistodevelopasingleshared
database.
Therequirementsshouldnotdescribehowthedataistobeprocessed,butratherwhatthedataitemsare,whatattributesthey
have,whatconstraintsapplyandtherelationshipsthatholdbetweenthedataitems.

ANALYSIS
Dataanalysisbeginswiththestatementofdatarequirementsandthenproducesaconceptualdatamodel.Theaimof
analysisistoobtainadetaileddescriptionofthedatathatwillsuituserrequirementssothatbothhighandlowlevel
propertiesofdataandtheirusearedealtwith.Theseincludepropertiessuchasthepossiblerangeofvaluesthatcanbe
permittedforattributessuchas,intheSchoolDatabaseexampleforinstance,theStudentcoursecode,coursetitleandcredit
points.
https://opentextbc.ca/dbdesign/chapter/chapter13databasedevelopmentprocess/

3/7

7/5/2016

Chapter13DatabaseDevelopmentProcess|DatabaseDesign

Theconceptualdatamodelprovidesashared,formalrepresentationofwhatisbeingcommunicatedbetweenclientsand
developersduringdatabasedevelopmentitisfocusedonthedatainadatabase,irrespectiveoftheeventualuseofthatdata
inuserprocessesorimplementationofthedatainspecificcomputerenvironments.Therefore,aconceptualdatamodelis
concernedwiththemeaningandstructureofdata,butnotwiththedetailsaffectinghowtheyareimplemented.
Theconceptualdatamodelthenisaformalrepresentationofwhatdataadatabaseshouldcontainandtheconstraintsthedata
mustsatisfy.Thisshouldbeexpressedintermsthatareindependentofhowthemodelmaybeimplemented.Asaresult,
analysisfocusesonWhatisrequired?notHowisitachieved?
http://www.oercommons.org/courses/thedatabasedevelopmentlifecycle/view

LOGICALDESIGN
Databasedesignstartswithaconceptualdatamodelandproducesaspecificationofalogicalschemathiswilldeterminethe
specifictypeofdatabasesystem(network,relational,objectoriented)thatisrequired.Therelationalrepresentationisstill
independentofanyspecificDBMS,itisanotherconceptualdatamodel.
Wecanusearelationalrepresentationoftheconceptualdatamodelasinputtothelogicaldesignprocess.Theoutputofthis
stageisadetailedrelationalspecification,thelogicalschema,ofallthetablesandconstraintsneededtosatisfythe
descriptionofthedataintheconceptualdatamodel.Itisduringthisdesignactivitythatchoicesaremadeastowhichtables
aremostappropriateforrepresentingthedatainadatabase.Thesechoicesmusttakeintoaccountvariousdesigncriteria
including,forexample,flexibilityforchange,controlofduplicationandhowbesttorepresenttheconstraints.Itisthetables
definedbythelogicalschemathatdeterminewhatdataarestoredandhowtheymaybemanipulatedinthedatabase.
DatabasedesignersfamiliarwithrelationaldatabasesandSQLmightbetemptedtogodirectlytoimplementationafterthey
haveproducedaconceptualdatamodel.However,suchadirecttransformationoftherelationalrepresentationtoSQLtables
doesnotnecessarilyresultinadatabasethathasallthedesirableproperties:completeness,integrity,flexibility,efficiency
andusability.Agoodconceptualdatamodelisanessentialfirststeptowardsadatabasewiththeseproperties,butthatdoes
notmeanthatthedirecttransformationtoSQLtablesautomaticallyproducesagooddatabase.Thisfirststepwillaccurately
representthetablesandconstraintsneededtosatisfytheconceptualdatamodeldescription,andsosatisfiesthecompleteness
andintegrityrequirements,butitmaybeinflexibleorofferpoorusability.Thefirstdesignisthenflexedtoimprovethe
qualityofthedatabasedesign.Flexingisatermthatisintendedtocapturethesimultaneousideasofbendingsomethingfora
differentpurposeandweakeningaspectsofitasitisbent.
Thefigurebelowsummarizestheiterative(repeated)stepsinvolvedindatabasedesign,basedontheoverviewgiven.Its
mainpurposeistodistinguishthegeneralissueofwhattablesshouldbeusedfromthedetaileddefinitionoftheconstituent
partsofeachtablethesetablesareconsideredoneatatime,althoughtheyarenotindependentofeachother.Eachiteration
thatinvolvesarevisionofthetableswouldleadtoanewdesigncollectivelytheyareusuallyreferredtoassecondcut
designs,eveniftheprocessiteratesformorethanasingleloop.
http://www.oercommons.org/courses/thedatabasedevelopmentlifecycle/view

https://opentextbc.ca/dbdesign/chapter/chapter13databasedevelopmentprocess/

4/7

7/5/2016

Chapter13DatabaseDevelopmentProcess|DatabaseDesign

Source:http://www.oercommons.org/courses/thedatabasedevelopmentlifecycle/view
First,foragivenconceptualdatamodelitisnotnecessarythatalltheuserrequirementsitrepresentshavetobesatisfiedbya
singledatabase.Therecanbevariousreasonsforthedevelopmentofmorethanonedatabase,suchastheneedfor
independentoperationindifferentlocationsordepartmentalcontrolovertheirdata.However,ifthecollectionofdatabases
containsduplicateddataandusersneedtoaccessdatainmorethanonedatabase,thentherearepossiblereasonsthattheone
databasecansatisfymultiplerequirementsorissuesrelatedtodatareplicationanddistributionneedtobeexamined.
Second,oneoftheassumptionsaboutdatabasedevelopmentisthatwecanseparatethedevelopmentofadatabasefromthe
developmentofuserprocessesthatmakeuseofit.Thisisbasedontheexpectationthat,onceadatabasehasbeen
implemented,alldatarequiredbycurrentlyidentifieduserprocesseshavebeendefinedandcanbeaccessedbutwealso
requireflexibilitytoallowustomeetfuturerequirementschanges.Indevelopingadatabaseforsomeapplicationsitmaybe
possibletopredictthecommonrequeststhatwillbepresentedtothedatabaseandsowecanoptimizeourdesignforthemost
commonrequests.
Third,atadetailedlevel,manyaspectsofdatabasedesignandimplementationdependontheparticularDBMSbeingused.If
thechoiceofDBMSisfixedormadepriortothedesigntask,thatchoicecanbeusedtodeterminedesigncriteriaratherthan
waitinguntilimplementation.Thatis,itispossibletoincorporatedesigndecisionsforaspecificDBMSratherthanproducea
genericdesignandthentailorittotheDBMSduringimplementation.
Itisnotuncommontofindthatasingledesigncannotsimultaneouslysatisfyallthepropertiesofagooddatabase.Soitis
importantthatthedesignerhasprioritizedtheseproperties(usuallyusinginformationfromtherequirementsspecification),
forexample,todecideifintegrityismoreimportantthanefficiencyandwhetherusabilityismoreimportantthanflexibility
inagivendevelopment.
AttheendofourdesignstagethelogicalschemawillbespecifiedbySQLdatadefinitionlanguage(DDL)statements,which
describethedatabasethatneedstobeimplementedtomeettheuserrequirements.
http://www.oercommons.org/courses/thedatabasedevelopmentlifecycle/view

IMPLEMENTATION
Implementationinvolvestheconstructionofadatabaseaccordingtothespecificationofalogicalschema.Thiswillinclude
thespecificationofanappropriatestorageschema,securityenforcement,externalschema,andsoon.Implementationis
heavilyinfluencedbythechoiceofavailableDBMS,databasetoolsandoperatingenvironment.Thereareadditionaltasks
beyondsimplycreatingadatabaseschemaandimplementingtheconstraintsdatamustbeenteredintothetables,issues
relatingtotheusersanduserprocessesneedtobeaddressedandthemanagementactivitiesassociatedwithwideraspectsof
corporatedatamanagementneedtobesupported.InkeepingwiththeDBMSapproachwewantasmanyoftheseconcernsas
possibletobeaddressedwithintheDBMS.Welookatsomeoftheseconcernsbrieflynow.
https://opentextbc.ca/dbdesign/chapter/chapter13databasedevelopmentprocess/

5/7

7/5/2016

Chapter13DatabaseDevelopmentProcess|DatabaseDesign

Inpractice,implementationofthelogicalschemainagivenDBMSrequiresaverydetailedknowledgeofthespecific
featuresandfacilitiesthattheDBMShastooffer.Inanidealworld,andinkeepingwithgoodsoftwareengineeringpractice,
thefirststageofimplementationwouldinvolvematchingthedesignrequirementswiththebestavailableimplementingtools
andthenusingthosetoolsfortheimplementation.Indatabaseterms,thismightinvolvechoosingvendorproductswhos
DBMSandSQLvariantsaremostsuitedtothedatabaseweneedtoimplement.However,wedontliveinanidealworldand
moreoftenthannot,hardwarechoiceanddecisionsregardingtheDBMSwillhavebeenmadewellinadvanceof
considerationofthedatabasedesign.Consequently,implementationcaninvolveadditionalflexingofthedesigntoovercome
anysoftwareorhardwarelimitations.

REALISINGTHEDESIGN
AftertheLogicalDesignhasbeencreated,weneedourdatabasetobecreatedaccordingtothedefinitionswehaveproduced.
ForanimplementationwitharelationalDBMS,thiswillprobablyinvolvetheuseofSQLtocreatetablesandconstraintsthat
satisfythelogicalschemadescriptionandthechoiceofappropriatestorageschema(iftheDBMSpermitsthatlevelof
control).
OnewaytoachievethisistowritetheappropriateSQLDDLstatementsintoafilethatcanbeexecutedbyaDBMSsothat
thereisanindependentrecord,atextfile,oftheSQLstatementsdefiningthedatabase.Anothermethodistowork
interactivelyusingadatabasetoollikeSQLServerManagementStudioorMicrosoftAccess.Whatevermechanismisused
toimplementthelogicalschema,theresultisthatadatabase,withtablesandconstraints,isdefinedbutwillcontainnodata
fortheuserprocesses.

POPULATINGTHEDATABASE
Afteradatabasehasbeencreated,therearetwowaysofpopulatingthetableseitherfromexistingdata,orthroughtheuse
oftheuserapplicationsdevelopedforthedatabase.
Forsometables,theremaybeexistingdatafromanotherdatabaseordatafiles.Forexample,inestablishingadatabasefora
hospitalyouwouldexpectthattherearealreadysomerecordsofallthestaffthathavetobeincludedinthedatabase.Data
mightalsobeboughtinfromanoutsideagency(addresslistsarefrequentlybroughtinfromexternalcompanies)orproduced
duringalargedataentrytask(convertinghardcopymanualrecordsintocomputerfilescanbedonebyadataentryagency).
Insuchsituationsthesimplestapproachtopopulatethedatabaseistousetheimportandexportfacilitiesfoundinthe
DBMS.
Facilitiestoimportandexportdatainvariousstandardformatsareusuallyavailable(thesefunctionsarealsoknowninsome
systemsasloadingandunloadingdata).Importingenablesafileofdatatobecopieddirectlyintoatable.Whendataareheld
inafileformatthatisnotappropriateforusingtheimportfunctionthenitisnecessarytoprepareanapplicationprogramthat
readsintheolddata,transformsthemasnecessaryandtheninsertsthemintothedatabaseusingSQLcodespecifically
producedforthatpurpose.Thetransferoflargequantitiesofexistingdataintoadatabaseisreferredtoasabulkload.Bulk
loadingofdatamayinvolveverylargequantitiesofdatabeingloaded,onetableatatimesoyoumayfindthatthereare
DBMSfacilitiestopostponeconstraintcheckinguntiltheendofthebulkloading.
http://www.oercommons.org/courses/thedatabasedevelopmentlifecycle/view

GUIDELINESFORDEVELOPINGANERDIAGRAM
NOTE:Thesearegeneralguidelineswhichwillassistindevelopingastrongbasisfortheactualdatabasedesign(thelogical
model)
https://opentextbc.ca/dbdesign/chapter/chapter13databasedevelopmentprocess/

6/7

7/5/2016

Chapter13DatabaseDevelopmentProcess|DatabaseDesign

1.Documentallentitiesdiscoveredduringtheinformationgatheringstage.
2.Documentallattributesthatbelongtoeachentity.Selectcandidateandprimarykeys.Ensurethatallnonkeyattributesfor
eachentityarefullfunctionallydependentontheprimarykey.
3.DevelopaninitialERdiagramandreviewwithappropriatepersonnel.(Rememberthatthisisaniterativeprocess).
4.Createnewentities(tables)formultivaluedattributesandrepeatinggroups.Incorporatethesenewentities(tables)inthe
ERdiagram.Reviewwithappropriatepersonnel.
5.VerifyERmodelingbynormalizingtables.

Thiswork,unlessotherwiseexpresslystated,islicensedunderaCreativeCommonsAttribution2.5CanadaLicense.

This textbook is available for free at open.bccampus.ca

https://opentextbc.ca/dbdesign/chapter/chapter13databasedevelopmentprocess/

7/7

You might also like