Database system concepts 6th edition, (ebook pdf) - Download the ebook and start exploring right awa

Page 1


https://ebookmass.com/product/database-system-concepts-6thedition-ebook-pdf/

Instant digital products (PDF, ePub, MOBI) ready for you

Download now and discover formats that fit your needs...

Database System Concepts 7th Edition Avi Silberschatz

https://ebookmass.com/product/database-system-concepts-7th-editionavi-silberschatz/

ebookmass.com

Database System Concepts 7th Edition Abraham Silberschatz

https://ebookmass.com/product/database-system-concepts-7th-editionabraham-silberschatz/

ebookmass.com

(eBook PDF) Operating System Concepts, 10th Edition

https://ebookmass.com/product/ebook-pdf-operating-systemconcepts-10th-edition/

ebookmass.com

Optical Materials and Applications: Volume 1 Novel Optical Materials Francesco Simoni

https://ebookmass.com/product/optical-materials-and-applicationsvolume-1-novel-optical-materials-francesco-simoni/

ebookmass.com

Foundations of Sport and Exercise Psychology 7th Edition –

Ebook PDF Version

https://ebookmass.com/product/foundations-of-sport-and-exercisepsychology-7th-edition-ebook-pdf-version/

ebookmass.com

Understanding Disability and Everyday Hate Leah Burch

https://ebookmass.com/product/understanding-disability-and-everydayhate-leah-burch/

ebookmass.com

The Belgian Army and Society from Independence to the Great War 1st Edition Mario Draper

https://ebookmass.com/product/the-belgian-army-and-society-fromindependence-to-the-great-war-1st-edition-mario-draper/

ebookmass.com

Redemption (The Worthings Book 3) Noelle Adams

https://ebookmass.com/product/redemption-the-worthings-book-3-noelleadams/

ebookmass.com

Thomas' Calculus for the JEE 13th Edition George B. Thomas Jr

https://ebookmass.com/product/thomas-calculus-for-the-jee-13thedition-george-b-thomas-jr/

ebookmass.com

Collective Courage: A History of African American Cooperative Economic Thought and Practice 1st Edition, (Ebook PDF)

https://ebookmass.com/product/collective-courage-a-history-of-africanamerican-cooperative-economic-thought-and-practice-1st-edition-ebookpdf/

ebookmass.com

Chapter8RelationalDatabaseDesign

8.1FeaturesofGoodRelational Designs323

8.2AtomicDomainsandFirstNormal Form327

8.3DecompositionUsingFunctional Dependencies329

8.4Functional-DependencyTheory338

8.5AlgorithmsforDecomposition348

8.6DecompositionUsingMultivalued Dependencies355

8.7MoreNormalForms360

8.8Database-DesignProcess361

8.9ModelingTemporalData364

8.10Summary367 Exercises368

BibliographicalNotes374

Chapter9ApplicationDesignandDevelopment

9.1ApplicationProgramsandUser Interfaces375

9.2WebFundamentals377

9.3ServletsandJSP383

9.4ApplicationArchitectures391

9.5RapidApplicationDevelopment396

9.6ApplicationPerformance400

9.7ApplicationSecurity402

9.8EncryptionandItsApplications411

9.9Summary417 Exercises419

BibliographicalNotes426

PARTTHREE DATASTORAGEANDQUERYING

Chapter10StorageandFileStructure

10.1OverviewofPhysicalStorage Media429

10.2MagneticDiskandFlashStorage432

10.3RAID441

10.4TertiaryStorage449

10.5FileOrganization451

10.6OrganizationofRecordsinFiles457

10.7Data-DictionaryStorage462

10.8DatabaseBuffer464

10.9Summary468 Exercises470 BibliographicalNotes473

Chapter11IndexingandHashing

11.1BasicConcepts475

11.2OrderedIndices476

11.3B+ -TreeIndexFiles485

11.4B+ -TreeExtensions500

11.5Multiple-KeyAccess506

11.6StaticHashing509

11.7DynamicHashing515

11.8ComparisonofOrderedIndexingand Hashing523

11.9BitmapIndices524

11.10IndexDefinitioninSQL528

11.11Summary529 Exercises532

BibliographicalNotes536

Chapter12QueryProcessing

12.1Overview537

12.2MeasuresofQueryCost540

12.3SelectionOperation541

12.4Sorting546

12.5JoinOperation549

Chapter13QueryOptimization

13.1Overview579

13.2TransformationofRelational Expressions582

13.3EstimatingStatisticsofExpression Results590

13.4ChoiceofEvaluationPlans598

12.6OtherOperations563

12.7EvaluationofExpressions567

12.8Summary572 Exercises574 BibliographicalNotes577

13.5MaterializedViews**607

13.6AdvancedTopicsinQuery Optimization**612

13.7Summary615 Exercises617 BibliographicalNotes622 PARTFOUR

Chapter14Transactions

14.1TransactionConcept627

14.2ASimpleTransactionModel629

14.3StorageStructure632

14.4TransactionAtomicityand Durability633

14.5TransactionIsolation635

14.6Serializability641

Chapter15ConcurrencyControl

15.1Lock-BasedProtocols661

15.2DeadlockHandling674

15.3MultipleGranularity679

15.4Timestamp-BasedProtocols682

15.5Validation-BasedProtocols686

15.6MultiversionSchemes689

15.7SnapshotIsolation692

14.7TransactionIsolationand Atomicity646

14.8TransactionIsolationLevels648

14.9ImplementationofIsolationLevels650

14.10TransactionsasSQLStatements653

14.11Summary655 Exercises657 BibliographicalNotes660

15.8InsertOperations,DeleteOperations, andPredicateReads697

15.9WeakLevelsofConsistencyin Practice701

15.10ConcurrencyinIndexStructures**704 15.11Summary708 Exercises712 BibliographicalNotes718

Chapter16RecoverySystem

16.1FailureClassification721

16.2Storage722

16.3RecoveryandAtomicity726

16.4RecoveryAlgorithm735

16.5BufferManagement738

16.6FailurewithLossofNonvolatile Storage743

16.7EarlyLockReleaseandLogicalUndo Operations744

16.8ARIES**750

16.9RemoteBackupSystems756

16.10Summary759 Exercises762

BibliographicalNotes766

PARTFIVE SYSTEMARCHITECTURE

Chapter17Database-SystemArchitectures

17.1CentralizedandClient–Server Architectures769

17.2ServerSystemArchitectures772

17.3ParallelSystems777

17.4DistributedSystems784

Chapter18ParallelDatabases

18.1Introduction797

18.2I/OParallelism798

18.3InterqueryParallelism802

18.4IntraqueryParallelism803

18.5IntraoperationParallelism804

18.6InteroperationParallelism813

18.7QueryOptimization814

17.5NetworkTypes788

17.6Summary791 Exercises793

BibliographicalNotes794

18.8DesignofParallelSystems815

18.9ParallelismonMulticore Processors817

18.10Summary819 Exercises821 BibliographicalNotes824

Chapter19DistributedDatabases

19.1HomogeneousandHeterogeneous Databases825

19.2DistributedDataStorage826

19.3DistributedTransactions830

19.4CommitProtocols832

19.5ConcurrencyControlinDistributed Databases839

19.6Availability847

19.7DistributedQueryProcessing854

19.8HeterogeneousDistributed Databases857

19.9Cloud-BasedDatabases861

19.10DirectorySystems870

19.11Summary875 Exercises879

BibliographicalNotes883

PARTSIX DATAWAREHOUSING,DATA MINING,ANDINFORMATIONRETRIEVAL

Chapter20DataWarehousingandMining

20.1Decision-SupportSystems887

20.2DataWarehousing889

20.3DataMining893

20.4Classification894

20.5AssociationRules904

20.6OtherTypesofAssociations906

Chapter21InformationRetrieval

21.1Overview915

21.2RelevanceRankingUsingTerms917

21.3RelevanceUsingHyperlinks920

21.4Synonyms,Homonyms,and Ontologies925

21.5IndexingofDocuments927

21.6MeasuringRetrievalEffectiveness929

20.7Clustering907

20.8OtherFormsofDataMining908

20.9Summary909

Exercises911

BibliographicalNotes914

21.7CrawlingandIndexingtheWeb930

21.8InformationRetrieval:BeyondRanking ofPages931

21.9DirectoriesandCategories935

21.10Summary937 Exercises939

BibliographicalNotes941

PARTSEVEN SPECIALTYDATABASES

Chapter22Object-BasedDatabases

22.1Overview945

22.2ComplexDataTypes946

22.3StructuredTypesandInheritancein SQL949

22.4TableInheritance954

22.5ArrayandMultisetTypesinSQL956

22.6Object-IdentityandReferenceTypesin SQL961

22.7ImplementingO-RFeatures963

Chapter23XML

23.1Motivation981

23.2StructureofXMLData986

23.3XMLDocumentSchema990

23.4QueryingandTransformation998

23.5ApplicationProgramInterfacesto XML1008

22.8PersistentProgramming Languages964

22.9Object-RelationalMapping973

22.10Object-Orientedversus Object-Relational973

22.11Summary975 Exercises976

BibliographicalNotes980

23.6StorageofXMLData1009

23.7XMLApplications1016

23.8Summary1019 Exercises1021

BibliographicalNotes1024

PARTEIGHT ADVANCEDTOPICS

Chapter24AdvancedApplicationDevelopment

24.1PerformanceTuning1029

24.2PerformanceBenchmarks1045

24.3OtherIssuesinApplication Development1048

24.4Standardization1051

24.5Summary1056

Exercises1057

BibliographicalNotes1059

Chapter25SpatialandTemporalDataandMobility

25.1Motivation1061

25.2TimeinDatabases1062

25.3SpatialandGeographicData1064

25.4MultimediaDatabases1076

25.5MobilityandPersonalDatabases1079

25.6Summary1085

Exercises1087

BibliographicalNotes1089

Chapter26AdvancedTransactionProcessing

26.1Transaction-ProcessingMonitors1091

26.2TransactionalWorkflows1096

26.3E-Commerce1102

26.4Main-MemoryDatabases1105

26.5Real-TimeTransactionSystems1108

PARTNINE

26.6Long-DurationTransactions1109

26.7Summary1115

Exercises1117

BibliographicalNotes1119

CASESTUDIES

Chapter27PostgreSQL

27.1Introduction1123

27.2UserInterfaces1124

27.3SQLVariationsandExtensions1126

27.4TransactionManagementin PostgreSQL1137

Chapter28Oracle

28.1DatabaseDesignandQuerying Tools1157

28.2SQLVariationsandExtensions1158

28.3StorageandIndexing1162

28.4QueryProcessingand Optimization1172

28.5ConcurrencyControland Recovery1180

27.5StorageandIndexing1146

27.6QueryProcessingand Optimization1151

27.7SystemArchitecture1154

BibliographicalNotes1155

28.6SystemArchitecture1183

28.7Replication,Distribution,andExternal Data1188

28.8DatabaseAdministrationTools1189

28.9DataMining1191

BibliographicalNotes1191

Chapter29IBMDB2UniversalDatabase

29.1Overview1193

29.2Database-DesignTools1194

29.3SQLVariationsandExtensions1195

29.4StorageandIndexing1200

29.5MultidimensionalClustering1203

29.6QueryProcessingand Optimization1207

29.7MaterializedQueryTables1212

29.8AutonomicFeaturesinDB21214

29.9ToolsandUtilities1215

29.10ConcurrencyControland Recovery1217

29.11SystemArchitecture1219

29.12Replication,Distribution,andExternal Data1220

29.13BusinessIntelligenceFeatures1221 BibliographicalNotes1222

Chapter30MicrosoftSQLServer

30.1Management,Design,andQuerying Tools1223

30.2SQLVariationsandExtensions1228

30.3StorageandIndexing1233

30.4QueryProcessingand Optimization1236

30.5ConcurrencyandRecovery1241

30.6SystemArchitecture1246

30.7DataAccess1248

PARTTEN

30.8DistributedHeterogeneousQuery Processing1250

30.9Replication1251

30.10ServerProgrammingin.NET1253

30.11XMLSupport1258

30.12SQLServerServiceBroker1261

30.13BusinessIntelligence1263 BibliographicalNotes1267

APPENDICES

AppendixADetailedUniversitySchema

A.1FullSchema1271

A.2DDL1272

A.3SampleData1276

AppendixBAdvancedRelationalDesign(contentsonline)

B.1MultivaluedDependenciesB1

B.3Domain-KeyNormalFormB8

B.4SummaryB10 ExercisesB10 BibliographicalNotesB12

AppendixCOtherRelationalQueryLanguages(contentsonline)

C.1Query-by-ExampleC1

C.2MicrosoftAccessC9

C.3DatalogC11

C.4SummaryC25 ExercisesC26 BibliographicalNotesC30

AppendixDNetworkModel(contentsonline)

D.1BasicConceptsD1

D.2Data-StructureDiagramsD2

D.3TheDBTGCODASYLModelD7

D.4DBTGData-RetrievalFacilityD13

D.5DBTGUpdateFacilityD20

D.6DBTGSet-ProcessingFacilityD22

D.7MappingofNetworkstoFilesD27

D.8SummaryD31

ExercisesD32

BibliographicalNotesD35

AppendixEHierarchicalModel(contentsonline)

E.1BasicConceptsE1

E.2Tree-StructureDiagramsE2

E.3Data-RetrievalFacilityE13

E.4UpdateFacilityE17

E.5VirtualRecordsE20

Bibliography1283

Index1315

E.6MappingofHierarchiestoFilesE22

E.7TheIMSDatabaseSystemE24

E.8SummaryE25

ExercisesE26

BibliographicalNotesE29

This page intentionally left blank

Preface

Databasemanagementhasevolvedfromaspecializedcomputerapplicationtoa centralcomponentofamoderncomputingenvironment,and,asaresult,knowledgeaboutdatabasesystemshasbecomeanessentialpartofaneducationin computerscience.Inthistext,wepresentthefundamentalconceptsofdatabase management.Theseconceptsincludeaspectsofdatabasedesign,databaselanguages,anddatabase-systemimplementation.

Thistextisintendedforafirstcourseindatabasesatthejuniororsenior undergraduate,orfirst-yeargraduate,level.Inadditiontobasicmaterialfor afirstcourse,thetextcontainsadvancedmaterialthatcanbeusedforcourse supplements,orasintroductorymaterialforanadvancedcourse.

Weassumeonlyafamiliaritywithbasicdatastructures,computerorganization,andahigh-levelprogramminglanguagesuchasJava,C,orPascal.We presentconceptsasintuitivedescriptions,manyofwhicharebasedonourrunningexampleofauniversity.Importanttheoreticalresultsarecovered,butformal proofsareomitted.Inplaceofproofs,figuresandexamplesareusedtosuggest whyaresultistrue.Formaldescriptionsandproofsoftheoreticalresultsmay befoundinresearchpapersandadvancedtextsthatarereferencedinthebibliographicalnotes.

Thefundamentalconceptsandalgorithmscoveredinthebookareoften basedonthoseusedinexistingcommercialorexperimentaldatabasesystems. Ouraimistopresenttheseconceptsandalgorithmsinageneralsettingthatis nottiedtooneparticulardatabasesystem.Detailsofparticulardatabasesystems arediscussedinPart9, “CaseStudies.”

Inthis,thesixtheditionof DatabaseSystemConcepts,wehaveretainedthe overallstyleoftheprioreditionswhileevolvingthecontentandorganizationto reflectthechangesthatareoccurringinthewaydatabasesaredesigned,managed, andused.Wehavealsotakenintoaccounttrendsintheteachingofdatabase conceptsandmadeadaptationstofacilitatethesetrendswhereappropriate.

Organization

Thetextisorganizedinninemajorparts,plusfiveappendices.

• Overview (Chapter1).Chapter1providesageneraloverviewofthenature andpurposeofdatabasesystems.Weexplainhowtheconceptofadatabase systemhasdeveloped,whatthecommonfeaturesofdatabasesystemsare, whatadatabasesystemdoesfortheuser,andhowadatabasesysteminterfaceswithoperatingsystems.Wealsointroduceanexampledatabase application:auniversityorganizationconsistingofmultipledepartments, instructors,students,andcourses.Thisapplicationisusedasarunningexamplethroughoutthebook.Thischapterismotivational,historical,andexplanatoryinnature.

• Part1:RelationalDatabases (Chapters2through6).Chapter2introduces therelationalmodelofdata,coveringbasicconceptssuchasthestructure ofrelationaldatabases,databaseschemas,keys,schemadiagrams,relational querylanguages,andrelationaloperations.Chapters3,4,and5focusonthe mostinfluentialoftheuser-orientedrelationallanguages: SQL.Chapter6coverstheformalrelationalquerylanguages:relationalalgebra,tuplerelational calculus,anddomainrelationalcalculus.

Thechaptersinthispartdescribedatamanipulation:queries,updates,insertions,anddeletions,assumingaschemadesignhasbeenprovided.Schema designissuesaredeferredtoPart2.

• Part2:DatabaseDesign (Chapters7through9).Chapter7providesan overviewofthedatabase-designprocess,withmajoremphasisondatabase designusingtheentity-relationshipdatamodel.Theentity-relationshipdata modelprovidesahigh-levelviewoftheissuesindatabasedesign,andofthe problemsthatweencounterincapturingthesemanticsofrealisticapplicationswithintheconstraintsofadatamodel. UML class-diagramnotationis alsocoveredinthischapter.

Chapter8introducesthetheoryofrelationaldatabasedesign.Thetheoryoffunctionaldependenciesandnormalizationiscovered,withemphasis onthemotivationandintuitiveunderstandingofeachnormalform.This chapterbeginswithanoverviewofrelationaldesignandreliesonanintuitiveunderstandingoflogicalimplicationoffunctionaldependencies.This allowstheconceptofnormalizationtobeintroducedpriortofullcoverage offunctional-dependencytheory,whichispresentedlaterinthechapter.InstructorsmaychoosetouseonlythisinitialcoverageinSections8.1through 8.3withoutlossofcontinuity.Instructorscoveringtheentirechapterwillbenefitfromstudentshavingagoodunderstandingofnormalizationconceptsto motivatesomeofthechallengingconceptsoffunctional-dependencytheory.

Chapter9coversapplicationdesignanddevelopment.ThischapteremphasizestheconstructionofdatabaseapplicationswithWeb-basedinterfaces.In addition,thechaptercoversapplicationsecurity.

• Part3:DataStorageandQuerying (Chapters10through13).Chapter10 dealswithstoragedevices,files,anddata-storagestructures.Avarietyof data-accesstechniquesarepresentedinChapter11,includingB+ -treeindices andhashing.Chapters12and13addressquery-evaluationalgorithmsand queryoptimization.Thesechaptersprovideanunderstandingoftheinternals ofthestorageandretrievalcomponentsofadatabase.

• Part4:TransactionManagement (Chapters14through16).Chapter14focusesonthefundamentalsofatransaction-processingsystem:atomicity, consistency,isolation,anddurability.Itprovidesanoverviewofthemethods usedtoensuretheseproperties,includinglockingandsnapshotisolation. Chapter15focusesonconcurrencycontrolandpresentsseveraltechniques forensuringserializability,includinglocking,timestamping,andoptimistic (validation)techniques.Thechapteralsocoversdeadlockissues.Alternativestoserializabilityarecovered,mostnotablythewidely-usedsnapshot isolation,whichisdiscussedindetail.

Chapter16coverstheprimarytechniquesforensuringcorrecttransactionexecutiondespitesystemcrashesandstoragefailures.Thesetechniques includelogs,checkpoints,anddatabasedumps.Thewidely-used ARIES algorithmispresented.

• Part5:SystemArchitecture (Chapters17through19).Chapter17covers computer-systemarchitecture,anddescribestheinfluenceoftheunderlyingcomputersystemonthedatabasesystem.Wediscusscentralizedsystems,client–serversystems,andparallelanddistributedarchitecturesinthis chapter.

Chapter18,onparalleldatabases,exploresavarietyofparallelization techniques,including I/O parallelism,interqueryandintraqueryparallelism, andinteroperationandintraoperationparallelism.Thechapteralsodescribes parallel-systemdesign.

Chapter19coversdistributeddatabasesystems,revisitingtheissues ofdatabasedesign,transactionmanagement,andqueryevaluationandoptimization,inthecontextofdistributeddatabases.Thechapteralsocoversissuesofsystemavailabilityduringfailures,heterogeneousdistributed databases,cloud-baseddatabases,anddistributeddirectorysystems.

• Part6:DataWarehousing,DataMining,andInformationRetrieval (Chapters20and21).Chapter20introducestheconceptsofdatawarehousing anddatamining.Chapter21describesinformation-retrievaltechniquesfor queryingtextualdata,includinghyperlink-basedtechniquesusedinWeb searchengines.

Part6usesthemodelingandlanguageconceptsfromParts1and2,but doesnotdependonParts3,4,or5.Itcanthereforebeincorporatedeasily intoacoursethatfocuseson SQL andondatabasedesign.

• Part7:SpecialtyDatabases (Chapters22and23).Chapter22coversobjectbaseddatabases.Thechapterdescribestheobject-relationaldatamodel, whichextendstherelationaldatamodeltosupportcomplexdatatypes,type inheritance,andobjectidentity.Thechapteralsodescribesdatabaseaccess fromobject-orientedprogramminglanguages.

Chapter23coversthe XML standardfordatarepresentation,whichisseeing increasinguseintheexchangeandstorageofcomplexdata.Thechapteralso describesquerylanguagesfor XML.

• Part8:AdvancedTopics (Chapters24through26).Chapter24coversadvancedissuesinapplicationdevelopment,includingperformancetuning, performancebenchmarks,database-applicationtesting,andstandardization. Chapter25coversspatialandgeographicdata,temporaldata,multimedia data,andissuesinthemanagementofmobileandpersonaldatabases.

Finally,Chapter26dealswithadvancedtransactionprocessing.Topicscoveredinthechapterincludetransaction-processingmonitors,transactionalworkflows,electroniccommerce,high-performancetransactionsystems,real-timetransactionsystems,andlong-durationtransactions.

• Part9:CaseStudies (Chapters27through30).Inthispart,wepresentcase studiesoffouroftheleadingdatabasesystems,PostgreSQL,Oracle, IBMDB2, andMicrosoft SQL Server.Thesechaptersoutlineuniquefeaturesofeachof thesesystems,anddescribetheirinternalstructure.Theyprovideawealthof interestinginformationabouttherespectiveproducts,andhelpyouseehow thevariousimplementationtechniquesdescribedinearlierpartsareused inrealsystems.Theyalsocoverseveralinterestingpracticalaspectsinthe designofrealsystems.

• Appendices.Weprovidefiveappendicesthatcovermaterialthatisofhistoricalnatureorisadvanced;theseappendicesareavailableonlyonlineonthe Websiteofthebook(http://www.db-book.com).AnexceptionisAppendixA, whichpresentsdetailsofouruniversityschemaincludingthefullschema, DDL,andallthetables.Thisappendixappearsintheactualtext.

AppendixBdescribesotherrelationalquerylanguages,including QBE MicrosoftAccess,andDatalog.

AppendixCdescribesadvancedrelationaldatabasedesign,includingthe theoryofmultivalueddependencies,joindependencies,andtheproject-join anddomain-keynormalforms.Thisappendixisforthebenefitofindividuals whowishtostudythetheoryofrelationaldatabasedesigninmoredetail, andinstructorswhowishtodosointheircourses.Thisappendix,too,is availableonlyonline,ontheWebsiteofthebook.

Althoughmostnewdatabaseapplicationsuseeithertherelationalmodel ortheobject-relationalmodel,thenetworkandhierarchicaldatamodelsare stillinuseinsomelegacyapplications.Forthebenefitofreaderswhowishto learnaboutthesedatamodels,weprovideappendicesdescribingthenetwork andhierarchicaldatamodels,inAppendicesDandErespectively.

TheSixthEdition

Theproductionofthissixtheditionhasbeenguidedbythemanycommentsand suggestionswereceivedconcerningtheearliereditions,byourownobservations whileteachingatYaleUniversity,LehighUniversity,and IIT Bombay,andbyour analysisofthedirectionsinwhichdatabasetechnologyisevolving.

Wehavereplacedtheearlierrunningexampleofbankenterprisewithauniversityexample.Thisexamplehasanimmediateintuitiveconnectiontostudents thatassistsnotonlyinrememberingtheexample,but,moreimportantly,ingainingdeeperinsightintothevariousdesigndecisionsthatneedtobemade.

Wehavereorganizedthebooksoastocollectallofour SQL coveragetogether andplaceitearlyinthebook.Chapters3,4,and5presentcomplete SQL coverage. Chapter3presentsthebasicsofthelanguage,withmoreadvancedfeaturesin Chapter4.InChapter5,wepresent JDBC alongwithothermeansofaccessing SQL fromageneral-purposeprogramminglanguage.Wepresenttriggersandrecursion,andthenconcludewithcoverageofonlineanalyticprocessing(OLAP). Introductorycoursesmaychoosetocover onlycertainsectionsofChapter5or defersectionsuntilafterthecoverageofdatabasedesignwithoutlossofcontinuity.

Beyondthesetwomajorchanges,werevisedthematerialineachchapter, bringingtheoldermaterialup-to-date,addingdiscussionsonrecentdevelopmentsindatabasetechnology,andimprovingdescriptionsoftopicsthatstudents founddifficulttounderstand.Wehavealsoaddednewexercisesandupdated references.Thelistofspecificchangesincludesthefollowing:

• Earliercoverageof SQL. Manyinstructorsuse SQL asakeycomponentofterm projects(seeourWebsite, www.db-book.com,forsampleprojects).Inorderto givestudentsampletimefortheprojects,particularlyforuniversitiesand collegesonthequartersystem,itisessentialtoteach SQL asearlyaspossible. Withthisinmind,wehaveundertakenseveralchangesinorganization:

◦ Anewchapterontherelationalmodel(Chapter2)precedes SQL,laying theconceptualfoundation,withoutgettinglostindetailsofrelational algebra.

◦ Chapters3,4,and5providedetailedcoverageof SQL.Thesechaptersalso discussvariantssupportedbydifferentdatabasesystems,tominimize problemsthatstudentsfacewhentheyexecutequeriesonactualdatabase systems.Thesechapterscoverallaspectsof SQL,includingqueries,data definition,constraintspecification, OLAP,andtheuseof SQL fromwithin avarietyoflanguages,includingJava/JDBC.

◦ Formallanguages(Chapter6)havebeenpostponedtoafter SQL,andcan beomittedwithoutaffectingthesequencingofotherchapters.Onlyour discussionofqueryoptimizationinChapter13dependsontherelational algebracoverageofChapter6.

• Newdatabaseschema. Weadoptedanewschema,whichisbasedonuniversitydata,asarunningexamplethroughoutthebook.Thisschemais moreintuitiveandmotivatingforstudentsthantheearlierbankschema,and illustratesmorecomplexdesigntrade-offsinthedatabase-designchapters.

• Moresupportforahands-onstudentexperience. Tofacilitatefollowing ourrunningexample,welistthedatabaseschemaandthesamplerelation instancesforouruniversitydatabasetogetherinAppendixAaswellas wheretheyareusedinthevariousregularchapters.Inaddition,weprovide, onourWebsite http://www.db-book.com, SQL data-definitionstatementsforthe entireexample,alongwith SQL statementstocreateourexamplerelation instances.Thisencouragesstudents torunexamplequeriesdirectlyona databasesystemandtoexperimentwithmodifyingthosequeries.

• Revisedcoverageof E-R model. The E-R diagramnotationinChapter7has beenmodifiedtomakeitmorecompatiblewith UML.Thechapteralsomakes gooduseofthenewuniversitydatabaseschematoillustratemorecomplex designtrade-offs.

• Revisedcoverageofrelationaldesign. Chapter8nowhasamorereadable style,providinganintuitiveunderstandingoffunctionaldependenciesand normalization,beforecoveringfunctionaldependencytheory;thetheoryis motivatedmuchbetterasaresult.

• Expandedmaterialonapplicationdevelopmentandsecurity. Chapter9has newmaterialonapplicationdevelopment,mirroringrapidchangesinthe field.Inparticular,coverageofsecurityhasbeenexpanded,consideringits criticalityintoday’sinterconnectedworld,withanemphasisonpractical issuesoverabstractconcepts.

• Revisedandupdatedcoverageofdatastorage,indexingandqueryoptimization.Chapter10hasbeenupdatedwithnewtechnology,including expandedcoverageofflashmemory.

CoverageofB+ -treesinChapter11hasbeenrevisedtoreflectpractical implementations,includingcoverageofbulkloading,andthepresentation hasbeenimproved.TheB+ -treeexamplesinChapter11havenowbeen revisedwith n = 4,toavoidthespecialcaseofemptynodesthatariseswith the(unrealistic)valueof n = 3.

Chapter13hasnewmaterialonadvancedquery-optimizationtechniques.

• Revisedcoverageoftransactionmanagement. Chapter14providesfullcoverageofthebasicsforanintroductorycourse,withadvanceddetailsfollowinginChapters15and16.Chapter14hasbeenexpandedtocoverthepractical issuesintransactionmanagementfacedbydatabaseusersanddatabaseapplicationdevelopers.Thechapteralsoincludesanexpandedoverviewof topicscoveredinChapters15and16,ensuringthatevenifChapters15and16 areomitted,studentshaveabasicknowledgeoftheconceptsofconcurrency controlandrecovery.

Chapters14and15nowincludedetailedcoverageofsnapshotisolation, whichiswidelysupportedandusedtoday,includingcoverageofpotential hazardswhenusingit.

Chapter16nowhasasimplifieddescriptionofbasiclog-basedrecovery leadinguptocoverageofthe ARIES algorithm.

• Revisedandexpandedcoverageofdistributeddatabases. Wenowcover clouddatastorage,whichisgainingsignificantinterestforbusinessapplications.Cloudstorageoffersenterprisesopportunitiesforimprovedcostmanagementandincreasedstoragescalability,particularlyforWeb-based applications.Weexaminethoseadvantagesalongwiththepotentialdrawbacksandrisks.

Multidatabases,whichwereearlierintheadvancedtransactionprocessing chapter,arenowcoveredearlieraspartofthedistributeddatabasechapter.

• PostponedcoverageofobjectdatabasesandXML. Althoughobject-oriented languagesandXMLarewidelyusedoutsideofdatabases,theiruseindatabasesisstilllimited,makingthemappropriateformoreadvancedcourses, orassupplementarymaterialforanintroductorycourse.Thesetopicshave thereforebeenmovedtolaterinthebook,inChapters22and23.

• QBE,MicrosoftAccess,andDataloginanonlineappendix. Thesetopics, whichwereearlierpartofachapteron “otherrelationallanguages,” arenow coveredinonlineAppendixC.

Alltopicsnotlistedaboveareupdatedfromthefifthedition,thoughtheiroverall organizationisrelativelyunchanged.

Eachchapterhasalistofreviewterms,inadditiontoasummary,whichcanhelp readersreviewkeytopicscoveredinthechapter.

Theexercisesaredividedintotwosets: practiceexercises and exercises.The solutionsforthepracticeexercisesarepubliclyavailableontheWebsiteofthe book.Studentsareencouragedtosolvethepracticeexercisesontheirown,and laterusethesolutionsontheWebsitetochecktheirownsolutions.Solutions totheotherexercisesareavailableonlytoinstructors(see “Instructor’sNote,” below,forinformationonhowtogetthesolutions).

Manychaptershaveatoolssectionattheendofthechapterthatprovides informationonsoftwaretoolsrelatedtothetopicofthechapter;someofthese toolscanbeusedforlaboratoryexercises. SQLDDL andsampledataforthe universitydatabaseandotherrelationsusedintheexercisesareavailableonthe Websiteofthebook,andcanbeusedforlaboratoryexercises.

Instructor’sNote

Thebookcontainsbothbasicandadvancedmaterial,whichmightnotbecoveredinasinglesemester.Wehavemarkedseveralsectionsasadvanced,using thesymbol “**”.Thesesectionsmaybeomittedifsodesired,withoutalossof continuity.Exercisesthataredifficult(andcanbeomitted)arealsomarkedusing thesymbol “**” . Itispossibletodesigncoursesbyusingvarioussubsetsofthechapters.Some ofthechapterscanalsobecoveredinanorderdifferentfromtheirorderinthe book.Weoutlinesomeofthepossibilitieshere:

• Chapter5(Advanced SQL)canbeskippedordeferredtolaterwithoutlossof continuity.WeexpectmostcourseswillcoveratleastSection5.1.1early,as JDBC islikelytobeausefultoolinstudentprojects.

• Chapter6(FormalRelationalQueryLanguages)canbecoveredimmediately afterChapter2,aheadof SQL.Alternatively,thischaptermaybeomittedfrom anintroductorycourse.

WerecommendcoveringSection6.1(relationalalgebra)ifthecoursealso coversqueryprocessing.However,Sections6.2and6.3canbeomittedif studentswillnotbeusingrelationalcalculusaspartofthecourse.

• Chapter7(E-R Model)canbecoveredaheadofChapters3,4and5ifyouso desire,sinceChapter7doesnothaveanydependencyon SQL.

• Chapter13(QueryOptimization)canbeomittedfromanintroductorycourse withoutaffectingcoverageofanyotherchapter.

• Bothourcoverageoftransactionprocessing(Chapters14through16)and ourcoverageofsystemarchitecture(Chapters17through19)consistofan overviewchapter(Chapters14and17,respectively),followedbychapters withdetails.YoumightchoosetouseChapters14and17,whileomitting Chapters15,16,18and19,ifyoudefertheselatterchapterstoanadvanced course.

• Chapters20and21,coveringdatawarehousing,datamining,andinformationretrieval,canbeusedasself-studymaterialoromittedfromanintroductorycourse.

• Chapters22(Object-BasedDatabases),and23(XML)canbeomittedfroman introductorycourse.

• Chapters24through26,coveringadvancedapplicationdevelopment,spatial, temporalandmobiledata,andadvancedtransactionprocessing,aresuitable foranadvancedcourseorforself-studybystudents.

• Thecase-studyChapters27through30aresuitableforself-studybystudents. Alternatively,theycanbeusedasanillustrationofconceptswhentheearlier chaptersarepresentedinclass.

Modelcoursesyllabi,basedonthetext,canbefoundontheWebsiteofthebook.

WebSiteandTeachingSupplements

AWebsiteforthebookisavailableatthe URL: http://www.db-book.com.TheWeb sitecontains:

• Slidescoveringallthechaptersofthebook.

• Answerstothepracticeexercises.

• Thefiveappendices.

• Anup-to-dateerratalist.

• Laboratorymaterial,including SQLDDL andsampledatafortheuniversity schemaandotherrelationsusedinexercises,andinstructionsforsettingup andusingvariousdatabasesystemsandtools.

Thefollowingadditionalmaterialisavailableonlytofaculty:

• Aninstructormanualcontainingsolutionstoallexercisesinthebook.

• Aquestionbankcontainingextraexercises.

Formoreinformationabouthowtogetacopyoftheinstructormanualandthe questionbank,pleasesendelectronicmailtocustomer.service@mcgraw-hill.com. IntheUnitedStates,youmaycall800-338-3987.TheMcGraw-HillWebsitefor thisbookis http://www.mhhe.com/silberschatz.

ContactingUs

Wehaveendeavoredtoeliminatetypos,bugs,andthelikefromthetext.But,as innewreleasesofsoftware,bugsalmostsurelyremain;anup-to-dateerratalist isaccessiblefromthebook’sWebsite.Wewouldappreciateitifyouwouldnotify usofanyerrorsoromissionsinthebookthatarenotonthecurrentlistoferrata.

Wewouldbegladtoreceivesuggestionsonimprovementstothebook.We alsowelcomeanycontributionstothebookWebsitethatcouldbeofuseto otherreaders,suchasprogrammingexercises,projectsuggestions,onlinelabs andtutorials,andteachingtips.

Emailshouldbeaddressedto db-book-authors@cs.yale.edu.AnyothercorrespondenceshouldbesenttoAviSilberschatz,DepartmentofComputerScience, YaleUniversity,51ProspectStreet,P.O.Box208285,NewHaven,CT06520-8285 USA.

Acknowledgments

Manypeoplehavehelpeduswiththissixthedition,aswellaswiththeprevious fiveeditionsfromwhichitisderived.

SixthEdition

• AnastassiaAilamaki,SaileshKrishnamurthy,SpirosPapadimitriou,and BiancaSchroeder(CarnegieMellonUniversity)forwritingChapter27describingthe PostgreSQL databasesystem.

• HakanJakobsson(Oracle),forwritingChapter28ontheOracledatabase system.

• SriramPadmanabhan(IBM),forwritingChapter29describingthe IBMDB2 databasesystem.

• SameetAgarwal,Jos ´ eA.Blakeley,ThierryD’Hers,GeraldHinson,DirkMyers,VaqarPirzada,BillRamos,BalajiRathakrishnan,MichaelRys,Florian Waas,andMichaelZwilling(allofMicrosoft)forwritingChapter30describingtheMicrosoft SQLServerdatabasesystem,andinparticularJos ´ e Blakeleyforcoordinatingandeditingthechapter;C ´ esarGalindo-Legaria, GoetzGraefe,KalenDelaney,andThomasCasey(allofMicrosoft)fortheir contributionstothepreviouseditionoftheMicrosoft SQLServerchapter.

• DanielAbadiforreviewingthetableofcontentsofthefiftheditionand helpingwiththeneworganization.

• SteveDolins,UniversityofFlorida;RolandoFernanez,GeorgeWashington University;FrantisekFranek,McMasterUniversity;LatifurKhan,University ofTexas-Dallas;SanjayMadria,UniversityofMissouri-Rolla;ArisOuksel, UniversityofIllinois;andRichardSnodgrass,UniversityofWaterloo;who servedasreviewersofthebookandwhosecommentshelpedusgreatlyin formulatingthissixthedition.

• JudiPaigeforherhelpingeneratingfiguresandpresentationslides.

• MarkWogahnformakingsurethatthesoftwaretoproducethebook,includingLaTeXmacrosandfonts,workedproperly.

• N.L.Sardaforfeedbackthathelpedusimproveseveralchapters,inparticular Chapter11;VikramPudiformotivatingustoreplacetheearlierbankschema; andShetalShahforfeedbackonseveralchapters.

• StudentsatYale,Lehigh,and IIT Bombay,fortheircommentsonthefifth edition,aswellasonpreprintsofthesixthedition.

PreviousEditions

• ChenLiandSharadMehrotraforprovidingmaterialon JDBC andsecurity forthefifthedition.

• MarilynTurnamianandNandprasadJoshiprovidedsecretarialassistancefor thefifthedition,andMarilynalsopreparedanearlydraftofthecoverdesign forthefifthedition.

• LynDupr ´ ecopyeditedthethirdeditionandSaraStrandtmaneditedthetext ofthethirdedition.

• NileshDalvi,SumitSanghai,GauravBhalotia,ArvindHulgeriK.V.Raghavan,PrateekKapadia,SaraStrandtman,GregSpeegle,andDawnBezviner helpedtopreparetheinstructor’smanualforearliereditions.

• Theideaofusingshipsaspartofthecoverconceptwasoriginallysuggested tousbyBruceStephan.

• Thefollowingpeoplepointedouterrorsinthefifthedition:AlexComan, RavindraGuravannavar,ArvindHulgeri,RohitKulshreshtha,Sang-Won Lee,JoeH.C.Lu,AlexN.Napitupulu,H.K.Park,JianPei,FernandoSaenz Perez,DonniePinkston,YmaPinto,RajarshiRakshit,SandeepSatpal,Amon Seagull,BarrySoroka,PraveenRanjanSrivastava,HansSvensson,Moritz Wiese,andEyobDeleleYirdaw.

• Thefollowingpeopleofferedsuggestionsandcommentsforthefifthandearliereditionsofthebook.R.B.Abhyankar,HaniAbu-Salem,JamelR.Alsabbagh,RajAshar,DonBatory,PhilBernhard,ChristianBreimann,GavinM. Bierman,JanekBogucki,HaranBoral,PaulBourgeois,PhilBohannon,Robert Brazile,YuriBreitbart,RamziBualuan,MichaelCarey,SoumenChakrabarti, TomChappell,ZhengxinChen,Y.C.Chin,JanChomicki,LaurensDamen, PrasannaDhandapani,QinDing,ValentinDinu,J.Edwards,ChristosFaloutsos,HommaFarian,AlanFekete,FrantisekFranek,ShashiGadia,Hector Garcia-Molina,GoetzGraefe,JimGray,LeGruenwald,EitanM.Gurari, WilliamHankley,BruceHillyer,RonHitchens,ChadHogg,ArvindHulgeri, YannisIoannidis,ZhengJiaping,RandyM.Kaplan,GrahamJ.L.Kemp,Rami Khouri,Hyoung-JooKim,WonKim,HenryKorth(fatherofHenryF.),Carol Kroll,HaeChoonLee,Sang-WonLee,IrwinLevinstein,MarkLlewellyn, GaryLindstrom,LingLiu,DaveMaier,KeithMarzullo,MartyMaskarinec, FletcherMattox,SharadMehrotra,JimMelton,AlbertoMendelzon,Ami Motro,BhagirathNarahari,Yiu-KaiDennisNg,Thanh-DuyNguyen,Anil Nigam,CyrilOrji,MeralOzsoyoglu,D.B.Phatak,JuanAltmayerPizzorno, BrucePorter,SunilPrabhakar,JimPeterson,K.V.Raghavan,NahidRahman, RajarshiRakshit,KrithiRamamritham,MikeReiter,GregRiccardi,Odinaldo Rodriguez,MarkRoth,MarekRusinkiewicz,MichaelRys,SunitaSarawagi, N.L.Sarda,PatrickSchmid,NikhilSethi,S.Seshadri,StewartShen,Shashi Shekhar,AmitSheth,MaxSmolens,NanditSoparkar,GregSpeegle,Jeff Storey,DilysThomas,PremThomas,TimWahls,AnitaWhitehall,ChristopherWilson,MarianneWinslett,WeiningZhang,andLiuZhenming.

BookProduction

ThepublisherwasRaghuSrinivasan.ThedevelopmentaleditorwasMelinda D.Bilecki.TheprojectmanagerwasMelissaLeick.Themarketingmanagerwas

CurtReynolds.TheproductionsupervisorwasLauraFuller.Thebookdesigner wasBrendaRolwes.ThecoverdesignerwasStudioMontage,St.Louis,Missouri. ThecopyeditorwasGeorgeWatson.TheproofreaderwasKevinCampbell.The freelanceindexerwasTobiahWaldron.TheAptarateamconsistedofRaman AroraandSudeshnaNandy

PersonalNotes

Sudarshanwouldliketoacknowledgehiswife,Sita,forherloveandsupport, andchildrenMadhurandAdvaithfortheirloveandjoiedevivre.Hankwould liketoacknowledgehiswife,Joan,andhischildren,AbbyandJoe,fortheirlove andunderstanding.AviwouldliketoacknowledgeValerieforherlove,patience, andsupportduringtherevisionofthisbook.

A.S.

H.F.K.

S.S.

CHAPTER 1

Introduction

A database-managementsystem(DBMS) isacollectionofinterrelateddataand asetofprogramstoaccessthosedata.Thecollectionofdata,usuallyreferredto asthe database,containsinformationrelevanttoanenterprise.Theprimarygoal ofa DBMS istoprovideawaytostoreandretrievedatabaseinformationthatis both convenient and efficient.

Databasesystemsaredesignedtomanagelargebodiesofinformation.Managementofdatainvolvesbothdefiningstructuresforstorageofinformation andprovidingmechanismsforthemanipulationofinformation.Inaddition,the databasesystemmustensurethesafetyoftheinformationstored,despitesystem crashesorattemptsatunauthorizedaccess.Ifdataaretobesharedamongseveral users,thesystemmustavoidpossibleanomalousresults.

Becauseinformationissoimportantinmostorganizations,computerscientistshavedevelopedalargebodyofconceptsandtechniquesformanagingdata. Theseconceptsandtechniquesformthefocusofthisbook.Thischapterbriefly introducestheprinciplesofdatabasesystems.

1.1 Database-SystemApplications

Databasesarewidelyused.Herearesomerepresentativeapplications:

• EnterpriseInformation

◦ Sales:Forcustomer,product,andpurchaseinformation.

◦ Accounting:Forpayments,receipts,accountbalances,assetsandother accountinginformation.

◦ Humanresources:Forinformationaboutemployees,salaries,payrolltaxes, andbenefits,andforgenerationofpaychecks.

◦ Manufacturing:Formanagementofthesupplychainandfortrackingproductionofitemsinfactories,inventoriesofitemsinwarehousesandstores, andordersforitems.

◦ Onlineretailers:Forsalesdatanotedaboveplusonlineordertracking, generationofrecommendationlists,andmaintenanceofonlineproduct evaluations.

• BankingandFinance

◦ Banking:Forcustomerinformation,accounts,loans,andbankingtransactions.

◦ Creditcardtransactions:Forpurchasesoncreditcardsandgenerationof monthlystatements.

◦ Finance:Forstoringinformationaboutholdings,sales,andpurchasesof financialinstrumentssuchasstocksandbonds;alsoforstoringreal-time marketdatatoenableonlinetradingbycustomersandautomatedtrading bythefirm.

• Universities:Forstudentinformation,courseregistrations,andgrades(in additiontostandardenterpriseinformationsuchashumanresourcesand accounting).

• Airlines:Forreservationsandscheduleinformation.Airlineswereamongthe firsttousedatabasesinageographicallydistributedmanner.

• Telecommunication:Forkeepingrecordsofcallsmade,generatingmonthly bills,maintainingbalancesonprepaidcallingcards,andstoringinformation aboutthecommunicationnetworks.

Asthelistillustrates,databasesformanessentialpartofeveryenterprisetoday, storingnotonlytypesofinformationthatarecommontomostenterprises,but alsoinformationthatisspecifictothecategoryoftheenterprise.

Overthecourseofthelastfourdecadesofthetwentiethcentury,useof databasesgrewinallenterprises.Intheearlydays,veryfewpeopleinteracteddirectlywithdatabasesystems,althoughwithoutrealizingit,theyinteractedwith databasesindirectly—throughprintedreportssuchascreditcardstatements,or throughagentssuchasbanktellersandairlinereservationagents.Thenautomatedtellermachinescamealongandletusersinteractdirectlywithdatabases. Phoneinterfacestocomputers(interactivevoice-responsesystems)alsoallowed userstodealdirectlywithdatabases—acallercoulddialanumber,andpress phonekeystoenterinformationortoselectalternativeoptions,tofindflight arrival/departuretimes,forexample,ortoregisterforcoursesinauniversity.

TheInternetrevolutionofthelate1990ssharplyincreaseddirectuseraccessto databases.Organizationsconvertedmanyoftheirphoneinterfacestodatabases intoWebinterfaces,andmadeavarietyofservicesandinformationavailable online.Forinstance,whenyouaccessanonlinebookstoreandbrowseabookor musiccollection,youareaccessingdatastoredinadatabase.Whenyouenteran orderonline,yourorderisstoredinadatabase.WhenyouaccessabankWebsite andretrieveyourbankbalanceandtransactioninformation,theinformationis retrievedfromthebank’sdatabasesystem.WhenyouaccessaWebsite,informa-

tionaboutyoumayberetrievedfromadatabasetoselectwhichadvertisements youshouldsee.Furthermore,dataaboutyourWebaccessesmaybestoredina database.

Thus,althoughuserinterfaceshidedetailsofaccesstoadatabase,andmost peoplearenotevenawaretheyaredealingwithadatabase,accessingdatabases formsanessentialpartofalmosteveryone’slifetoday.

Theimportanceofdatabasesystemscanbejudgedinanotherway—today, databasesystemvendorslikeOracleareamongthelargestsoftwarecompanies intheworld,anddatabasesystemsformanimportantpartoftheproductlineof Microsoftand IBM.

1.2

PurposeofDatabaseSystems

Databasesystemsaroseinresponsetoearlymethodsofcomputerizedmanagementofcommercialdata.Asanexampleofsuchmethods,typicalofthe1960s, considerpartofauniversityorganizationthat,amongotherdata,keepsinformationaboutallinstructors,students,departments,andcourseofferings.One waytokeeptheinformationonacomputeristostoreitinoperatingsystem files.Toallowuserstomanipulatetheinformation,thesystemhasanumberof applicationprogramsthatmanipulatethefiles,includingprogramsto:

• Addnewstudents,instructors,andcourses

• Registerstudentsforcoursesandgenerateclassrosters

• Assigngradestostudents,computegradepointaverages(GPA),andgenerate transcripts

Systemprogrammerswrotetheseapplicationprogramstomeettheneedsofthe university.

Newapplicationprogramsareaddedtothesystemastheneedarises.For example,supposethatauniversitydecidestocreateanewmajor(say,computer science).Asaresult,theuniversitycreatesanewdepartmentandcreatesnewpermanentfiles(oraddsinformationtoexistingfiles)torecordinformationaboutall theinstructorsinthedepartment,studentsinthatmajor,courseofferings,degree requirements,etc.Theuniversitymayhavetowritenewapplicationprograms todealwithrulesspecifictothenewmajor.Newapplicationprogramsmayalso havetobewrittentohandlenewrulesintheuniversity.Thus,astimegoesby, thesystemacquiresmorefilesandmoreapplicationprograms.

Thistypical file-processingsystem issupportedbyaconventionaloperatingsystem.Thesystemstorespermanentrecordsinvariousfiles,anditneeds differentapplicationprogramstoextractrecordsfrom,andaddrecordsto,theappropriatefiles.Beforedatabasemanagementsystems(DBMSs)wereintroduced, organizationsusuallystoredinformationinsuchsystems.

Keepingorganizationalinformationinafile-processingsystemhasanumber ofmajordisadvantages:

• Dataredundancyandinconsistency.Sincedifferentprogrammerscreate thefilesandapplicationprogramsoveralongperiod,thevariousfilesare likelytohavedifferentstructuresandtheprogramsmaybewritteninseveral programminglanguages.Moreover,thesameinformationmaybeduplicated inseveralplaces(files).Forexample,ifastudenthasadoublemajor(say, musicandmathematics)theaddressandtelephonenumberofthatstudent mayappearinafilethatconsistsofstudentrecordsofstudentsintheMusic departmentandinafilethatconsistsofstudentrecordsofstudentsinthe Mathematicsdepartment.Thisredundancyleadstohigherstorageandaccess cost.Inaddition,itmayleadto datainconsistency;thatis,thevariouscopies ofthesamedatamaynolongeragree.Forexample,achangedstudentaddress maybereflectedintheMusicdepartmentrecordsbutnotelsewhereinthe system.

• Difficultyinaccessingdata.Supposethatoneoftheuniversityclerksneeds tofindoutthenamesofallstudentswholivewithinaparticularpostal-code area.Theclerkasksthedata-processingdepartmenttogeneratesuchalist. Becausethedesignersoftheoriginalsystemdidnotanticipatethisrequest, thereisnoapplicationprogramonhandtomeetit.Thereis,however,an applicationprogramtogeneratethelistof all students.Theuniversityclerk hasnowtwochoices:eitherobtainthelistofallstudentsandextractthe neededinformationmanuallyoraskaprogrammertowritethenecessary applicationprogram.Bothalternativesareobviouslyunsatisfactory.Suppose thatsuchaprogramiswritten,andthat,severaldayslater,thesameclerk needstotrimthatlisttoincludeonlythosestudentswhohavetakenatleast 60credithours.Asexpected,aprogramtogeneratesuchalistdoesnot exist.Again,theclerkhastheprecedingtwooptions,neitherofwhichis satisfactory.

Thepointhereisthatconventionalfile-processingenvironmentsdonot allowneededdatatoberetrievedinaconvenientandefficientmanner.More responsivedata-retrievalsystemsarerequiredforgeneraluse.

• Dataisolation.Becausedataarescatteredinvariousfiles,andfilesmay beindifferentformats,writingnewapplicationprogramstoretrievethe appropriatedataisdifficult.

• Integrityproblems.Thedatavaluesstoredinthedatabasemustsatisfycertaintypesof consistencyconstraints.Supposetheuniversitymaintainsan accountforeachdepartment,andrecordsthebalanceamountineachaccount.Supposealsothattheuniversity requiresthattheaccountbalanceofa departmentmayneverfallbelowzero.Developersenforcetheseconstraints inthesystembyaddingappropriatecodeinthevariousapplicationprograms.However,whennewconstraintsareadded,itisdifficulttochange theprogramstoenforcethem.Theproblemiscompoundedwhenconstraints involveseveraldataitemsfromdifferentfiles.

• Atomicityproblems.Acomputersystem,likeanyotherdevice,issubject tofailure.Inmanyapplications,itiscrucialthat,ifafailureoccurs,thedata

berestoredtotheconsistentstatethat existedpriortothefailure.Consider aprogramtotransfer$500fromtheaccountbalanceofdepartment A to theaccountbalanceofdepartment B.Ifasystemfailureoccursduringthe executionoftheprogram,itispossiblethatthe$500wasremovedfromthe balanceofdepartment A butwasnotcreditedtothebalanceofdepartment B, resultinginaninconsistentdatabasestate.Clearly,itisessentialtodatabase consistencythateitherboththecreditanddebitoccur,orthatneitheroccur. Thatis,thefundstransfermustbe atomic —itmusthappeninitsentiretyor notatall.Itisdifficulttoensureatomicityinaconventionalfile-processing system.

• Concurrent-accessanomalies.Forthesakeofoverallperformanceofthesystemandfasterresponse,manysystemsallowmultipleuserstoupdatethe datasimultaneously.Indeed,today,thelargestInternetretailersmayhave millionsofaccessesperdaytotheirdatabyshoppers.Insuchanenvironment,interactionofconcurrentupdatesispossibleandmayresultininconsistentdata.Considerdepartment A,withanaccountbalanceof$10,000.If twodepartmentclerksdebittheaccountbalance(bysay$500and$100,respectively)ofdepartment A atalmostexactlythesametime,theresultofthe concurrentexecutionsmayleavethebudgetinanincorrect(orinconsistent) state.Supposethattheprogramsexecutingonbehalfofeachwithdrawalread theoldbalance,reducethatvaluebytheamountbeingwithdrawn,andwrite theresultback.Ifthetwoprogramsrunconcurrently,theymaybothreadthe value$10,000,andwriteback$9500and$9900,respectively.Dependingon whichonewritesthevaluelast,theaccountbalanceofdepartment A may containeither$9500or$9900,ratherthanthecorrectvalueof$9400.Toguard againstthispossibility,thesystemmustmaintainsomeformofsupervision. Butsupervisionisdifficulttoprovidebecausedatamaybeaccessedbymany differentapplicationprogramsthathavenotbeencoordinatedpreviously.

Asanotherexample,supposearegistrationprogrammaintainsacountof studentsregisteredforacourse,inordertoenforcelimitsonthenumberof studentsregistered.Whenastudentregisters,theprogramreadsthecurrent countforthecourses,verifiesthatthecountisnotalreadyatthelimit,adds onetothecount,andstoresthecountbackinthedatabase.Supposetwo studentsregisterconcurrently,withthecountat(say)39.Thetwoprogram executionsmaybothreadthevalue39,andbothwouldthenwriteback40, leadingtoanincorrectincreaseofonly1,eventhoughtwostudentssuccessfullyregisteredforthecourseandthecountshouldbe41.Furthermore, supposethecourseregistrationlimitwas40;intheabovecasebothstudents wouldbeabletoregister,leadingtoaviolationofthelimitof40students.

• Securityproblems.Noteveryuserofthedatabasesystemshouldbeable toaccessallthedata.Forexample,inauniversity,payrollpersonnelneed toseeonlythatpartofthedatabasethathasfinancialinformation.Theydo notneedaccesstoinformationaboutacademicrecords.But,sinceapplicationprogramsareaddedtothefile-processingsysteminanadhocmanner, enforcingsuchsecurityconstraintsisdifficult.

Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.
Database system concepts 6th edition, (ebook pdf) - Download the ebook and start exploring right awa by Education Libraries - Issuu