Chapter1Introduction.1
ADeveloper'sView2
Introduction2
DatabasesandApplicationDevelopment2
ComponentsofaDatabaseManagementSystem4
DatabaseEngine4
DataDictionary5
QueryProcessor6
ReportWriter6
FormsGenerator8
ApplicationGenerator9
CommunicationandIntegration9
SecurityandOtherUtilities10
AdvantagesoftheDatabaseManagementSystemApproach10
FocusonData11
DataIndependence12
DataIndependenceandClient/ServerSystems13
LeadingCommercialDatabases13
BriefHistoryofDatabaseManagementSystems14
HierarchicalDatabases14
NetworkDatabases14
RelationalDatabases16
Object-OrientedDatabases16
ApplicationDevelopment20
Sally'sPetStore21
RollingThunderBicycles22
TheFeasibilityStudy22
Costs23
Benefits24
Summary25
KeyTerms26
ReviewQuestions26
Exercises26
WebsiteReferences28
AdditionalReading28
PARTONESYSTEMSDESIGN29
Chapter2DatabaseDesign30
ADeveloper'sView31
Introduction31
GettingStarted32
DesigningDatabases33
IdentifyingUserRequirements33
BusinessObjects34
TablesandRelationships35
Definitions35
PrimaryKey36
ClassDiagrams37
ClassesandEntities37
AssociationsandRelationships38
ClassDiagramDetails39
Sally'sPetStoreClassDiagram47
DataTypes(Domains)49
Text50
Numbers50
DatesandTimes51
BinaryObjects52
ComputedValues52
User-DefinedTypes
(Domains/Objects)53
Events53
LargeProjects55
RollingThunderBicycles56
ApplicationDesign61
Summary62
KeyTerms63
ReviewQuestions63
Exercises64
WebsiteReferences69
AdditionalReading69
Appendix:DatabaseDesignSystem70
SampleProblem:CustomerOrders70
GettingStarted:ldentifyingColumns70
CreatingaTableandAdding
Columns71
Relationships:ConnectingTables73
Grading:DetectingandSolving
Problems73
SpecifyingDataTypes76
Chapter3DataNormalization77
ADeveloper'sView78
Introduction78
Tables,Classes,andKeys79
CompositeKeys79
SurrogateKeys80
Notation81
SampleDatabaseforaVideoStore83
InitialObjects84
InitialFormEvaluation85
ProblemswithRepeatingSections87
FirstNormalForm89
RepeatingGroups89
NestedRepeatingGroups90
SecondNormalForm91
ProblemswithFirstNormalForm91
SecondNormalFormDefinition92
Dependence93
ThirdNormalForm94
ProblemswithSecondNormalForm94
ThirdNormalFormDefinition95
CheckingYourWork97
BeyondThirdNormalForm98
Boyce-CoddNormalForm98
FourthNormalForm99
Domain-KeyNormalForm100
DataRulesandIntegrity102
TheEffectsofBusinessRules104
ConvertingaClassDiagramtoNormalizedTables106
One-to-ManyRelationships106
Many-to-ManyRelationships108
N-aryAssociations108
GeneralizationorSubtypes108
Composition110
ReflexiveAssociations111
Summary112
Sally'sPetStoreExample112
ViewIntegration115
Sally'sPetStoreExample115
RollingThunderSampleIntegrationProblem117
DataDictionary123
DBMSTableDefinition123
DataVolumeandUsage127
Summary129
KeyTerms130
ReviewQuestions130
Exercises131
WebsiteReferences138
AdditionalReading138
Appendix:FormalDefinitionsofNormalization139
InitialDefinitions139
NormalFormDefinitions140
PARTTWOQUERIES143
Chapter4DataQueries144
ADeveloper'sView145
Introduction145
ThreeTasksofaQueryLanguage146
FourQuestionstoRetrieveData146
WhatOutputDoYouWanttoSee?147
WhatDoYouAlreadyKnow?147
WhatTablesAreInvolved?147
HowAretheTablesJoined?147
Sally'sPetStore148
VendorDifferences149
QueryBasics149
SingleTables149
IntroductiontoSQL151
SortingtheOutput151
Distinct152
Criteria153
BooleanAlgebra154
DeMorgan'sLaw155
UsefulWHEREClauses158
Computations159
BasicArithmeticOperators159
Aggregation159
Functions162
SubtotalsandGROUPBY163
ConditionsonTotals(HAVING)164
WHEREversusHAVING165
TheBestandtheWorst166
MultipleTables166
JoiningTables167
IdentifyingColumnsinDifferentTables168
JoiningManyTables169
HintsonJoiningTables170
TableAlias172
CreateView172
Summary174
KeyTerms175
ReviewQuestions175
Exercises175
WebsiteReferences178
AdditionalReading178
Appendix:SQLSyntax179
ALTERTABLE179
COMMITWORK179
CREATEINDEX179
CREATETABLE179
CREATETRIGGER179
CREATEVIEW180
DELETE180
DROP180
INSERT180
GRANT180
REVOKE180
ROLLBACK181
SELECT181
SELECTINTO181
UPDATE181
Chapter5AdvancedQueriesandSubqueries182
ADeveloper'sView183
Introduction..183
Sally'sPetStore184
Subqueries184
CalculationsorSimpleLookup184
SubqueriesandSetsofData185
SubquerywithANYandALL185
Subtraction:NOTIN187
OUTERJOINS188
CorrelatedSubqueriesAreDangerous190
MoreFeaturesandTrickswithSQLSELECT193
UNION,INTERSECT,EXCEPT193
MultipleJOINColumns194
ReflexiveJoin195
CASEFunction196
InequalityJoins197
Questionswith"Every"NeedtheEXISTSClauseI97
SQLSELECTSummary199
SQLDataDefinitionCommands199
SQLDataManipulationCommands201
INSERTandDELETE201
UPDATE202
Quality:TestingQueries203
Summary205
KeyTerms206
ReviewQuestions206
Exercises206
WebsiteReferences210
AdditionalReading210
Appendix:IntroductiontoProgramming211
VariablesandData211
VariableScope212
Computations213
StandardInternalFunctions214
InputandOutput215
Conditions216
Loops217
Subroutines218
Summary220
PARTTHREEAPPLICATIONS221
Chapter6Forms,Reports,andApplications222
ADeveloper'sView223
Introduction223
EffectiveDesignofReportsandForms224
HumanFactorsDesign224
WindowControls226
UserInterface--WebNotes228
UserInterface--AccessibilityIssues229
FormLayout230
TabularForms230
Single-RoworColumnar-Forms231
SubformForms232
SwitchboardForms233
CreatingForms235
UpdateableQueries235
LinkedForms236
PropertiesandControls236
ControlsonForms237
MultipleForms241
InternationalAttributes243
DirectManipulationofGraphicalObjects245
Sally'sPetStoreExample245
TheInternet246
ComplicationsandLimitationsofaGraphicalApproach247
Reports247
ReportDesign248
Terminology248
BasicReportTypes250
Graphs254
ApplicationFeatures255
MenusandToolbars255
CustomHelp257
Summary261
KeyTerms262
ReviewQuestions262
Exercises262
WebsiteReferences264
AdditionalReading264
Chapter7DatabaseIntegrityandTransactions265
ADeveloper'sView266
Introduction266
ProceduralLanguages266
WhereShouldCodeBeLocated?267
User-DefinedFunctions268
LookingUpData269
DataTriggers269
StatementversusRowTriggers270
CancelingDataChangesinTriggers271
CascadingTriggers272
INSTEADOFTriggers273
Transactions274
ATransactionExample274
StartingandEndingTransactions274
SAVEPOINT276
MultipleUsersandConcurrentAccess276
PessimisticLocks:Serialization277
MultiuserDatabases:ConcurrentAccessandDeadlock278
OptimisticLocks280
ACIDTransactions281
KeyGeneration283
DatabaseCursors285
CursorBasics285
ScrollableCursors286
ChangingorDeletingDatawithCursors287
CursorswithParameters288
MerchandiseInventoryatSally'sPet
Store289
Summary293
KeyTerms294
ReviewQuestions294
Exercises294
WebsiteReferences296
AdditionalReading297
Chapter8DataWarehousesandDataMining298
ADeveloper'sView299
Introduction299
Indexes300
BinarySearch300
PointersandIndexes301
BitmapIndexandStatistics301
Problemswith'Indexes302
DataWarehousesandOnlineAnalyticalProcessing303
DataWarehouseGoals303
DataWarehouseIssues305
OLAPConcepts306
OLAPDatabaseDesign308
OLAPDataAnalysis310
OLAPinSQL312
SQLAnalyticFunctions316
SQLOLAPWindows316
DataMining318
Classification320
AssociationRules/MarketBasketAnalysis321
ClusterAnalysis323
GeographicAnalysis324
Summary325
KeyTerms326
ReviewQuestions326
Exercises326
WebsiteReferences327
AdditionalReading328
PARTFOURDATABASEADMINISTRATION329
Chapter9DatabaseAdministration330
ADeveloper'sView331
Introduction331
DataAdministrator332
DatabaseAdministrator333
DatabaseStructure334
Metadata335
DatabaseTasksbyDevelopmentStages336
DatabasePlanning336
DatabaseDesign337
DatabaseImplementation338
DatabaseOperationandMaintenance338
BackupandRecovery339
SecurityandPrivacy341
DataPrivacy341
Threats342
PhysicalSecurity342
ManagerialControls344
LogicalSecurity344
DivisionofDuties349
SoftwareUpdates350
Encryption351
Sally'sPetStore353
Summary355
KeyTerms356
ReviewQuestions356
Exercises357
WebsiteReferences359
AdditionalReading359
Chapter10
DistributedDatabasesandtheInternet360
ADeveloper'sView361
Introduction361
Sally'sPetStore361
DistributedDatabases362
GoalsandRules363
AdvantagesandApplications364
CreatingaDistributedDatabaseSystem366
DistributedQueryProcessing367
DataReplication369
Concurrency,Locks,andTransactions370
IndependentTransactionManagers372
DistributedDesignQuestions372
Client/ServerDatabases373
Client/ServerversusFileServer374
Three-TierClient/ServerModel375
TheBackEnd:ServerDatabases377
TheFrontEnd:WindowsClients377
MaintainingDatabaseIndependenceintheClient378
ElectronicCommerceDatabases380
TheWebasaClient/ServerSystem381
HTMI,-LimitedClients381
WebServerDatabaseFundamentals383
DataTransmissionIssuesinApplications385
XML:TransferringDatatoDiverse
Systems387
JavaandJDBC391
Summary392
KeyTerms393
ReviewQuestions393
Exercises394
WebsiteReferences395
AdditionalReading...396