Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
167 views

Chapter 13 Database Development Process - Database Design

The document discusses the database development life cycle process, which includes requirements gathering, analysis, logical design, physical design, implementation, and maintenance. It describes each phase in detail. Requirements gathering involves interviewing users to understand data needs. Analysis develops a conceptual data model from these requirements. Logical design transforms the conceptual model into a relational design, specifying tables and constraints. Physical design implements the logical design for a specific DBMS. The process is iterative, with refinements and testing occurring at each phase.

Uploaded by

Mike
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
167 views

Chapter 13 Database Development Process - Database Design

The document discusses the database development life cycle process, which includes requirements gathering, analysis, logical design, physical design, implementation, and maintenance. It describes each phase in detail. Requirements gathering involves interviewing users to understand data needs. Analysis develops a conceptual data model from these requirements. Logical design transforms the conceptual model into a relational design, specifying tables and constraints. Physical design implements the logical design for a specific DBMS. The process is iterative, with refinements and testing occurring at each phase.

Uploaded by

Mike
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 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