Foreword
Preface
Chapter1Introduction
1.1FundamentalDatabaseConcepts
HistoryofDatabaseSystems
TheRelationalandObject-RelationalModels
TheDatabaseSystemsCovered
ARelationalDatabaseExample
AnObject-RelationalDatabaseExample
1.2DatabaseUsers
1.3OverviewofRelationalandObject-RelationalDBMS
Chapter2:TheRelationalModel
Chapter3:BasicSQLQueryLanguage
Chapter4:TheObject-RelationalModel
Chapter5:ProgramstoAccessaDatabase
Chapter6:DatabaseDesign
Chapter7:Integrity,Views,Security,andCatalogs
Chapter8:Indexing
Chapter9:QueryProcessing
Chapter10:UpdateTransactions
Chapter11:ParallelandDistributedDatabases
1.4PuttingItAllTogether
Chapter2TheRelationalModel
2.1TheCAPDatabase
2.2NamingthePartsofaDatabase
DomainsandDatatypes
TablesandRelations
2.3RelationalRules
2.4Keys,Superkeys,andNullValues
NullValues
2.5Relationalalgebra
FundamentalOperationsofRelationalAlgebra
2.6Set-TheoreticOperations
TheUnion,Intersection,andDifferenceOperations
AssignmentandAlias
TheProductOperation
2.7NativeRelationalOperations
TheProjectionOperation
TheSelectionOperation
PrecedenceofRelationalOperations
TheJoinOperation
TheDivisionOperation
2.8TheInterdependenceofOperations
2.9IllustrativeExamples
2.10OtherRelationalOperations
OuterJoin
ThetaJoin
Chapter3BasicSQLQueryLanguage
3.1Introduction
SQLCapabilities
SQLHistory-StandardsandDialects
3.2SettingUptheDatabase
StandardTypographicalConventions
APracticalExercise
3.3SimpleSelectStatements
3.4Subqueries
TheINPredicate
TheQuantifiedComparisonPredicate
TheEXISTSPredicate
AWeaknessofSQL:TooManyEquivalentForms
3.5UNIONOperatorsandFORALLConditions
TheUNIONOperator
Division:SQL"FORALL..."Conditions
3.6SomeAdvancedSQLSyntax
TheINTERSECTandEXCEPTOperatorsinAdvancedSQL
JoinFormsinAdvancedSQL
OUTERJOIN
JoinFormsImplementedinDatabaseSystems
3.7SetFunctionsinSQLHandlingNullValues
3.8GroupsofRowsinSQL
3.9ACompleteDescriptionofSQLSelect
Identifiers
Expressions,Predicates,andthesearch_condition
ScalarSubqueriesasExpressions:AdvancedSQL
BasicSQLversusAdvancedSQL:Summary
ADiscussionofthePredicates
3.10Insert,Update,andDeleteStatements
TheInsertStatement
TheUpdateStatement
TheDeleteStatement
3.11ThePoweroftheSelectStatement
TheNon-ProceduralSelectStatement
TuringPower
LimitedPoweroftheBasicSQLSelectStatement
Chapter4Object-RelationalSQL
4.1Introduction
ORSQLCapabilities
FormofPresentationforThisChapter
Object-RelationalHistory
4.2ObjectsandTables
4.2.1ObjectTypesinORACLE
DefinitionoftheREFObjectReference
4.2.2INFORMIXRowTypesforObjects
AbsenceofRefsinINFORMIX
TypeInheritanceinINFORMIX
4.2.3ObjectsandTables:Summary
ObjectOrientation
4.3CollectionTypes
4.3.1CollectionTypesinORACLE
TableTypesandNestedTables
TwoTechniquesforRetrievingfromaTableofTables
UnnestingviaTableProducts
NestedCursors
ArrayTypesforVARRAYs
SQLSyntaxforCollectionsinORACLE
InsertsandUpdatesinORACLE
4.3.2CollectionTypesinINFORMIX
SetsinINFORMIX
ListsinINFORMIX
SQLSyntaxforCollectionsinINFORMIX
insertsandUpdatesinINFORMIX
4.3.3CollectionTypes:Summary
4.4ProceduralSQL,User-DefinedFunctions(UDFs),andMethods
4.4.1ORACLEPL/SQLProcedures,UDFs,andMethods
PL/SQL:ORACLEsProceduralSQLLanguage
UsingPL/LQLtoImplementMethodsinORACLE
UpdateMethods
4.4.2INFORMIXUser-DefinedFunctions
SPL:INFORMIXsProceduralSQLLanguage
UsingSPLtoImplementUDFsinINFORMIX
UpdateFunctions
4.4.3User-DefinedFunctions:Summary
4.5ExternalFunctionsandPackagedUser-DefinedTypes(UDTs)
BinaryDataandBLOBs
ExternalFunctions
Encapsulation
DistinctTypes
BLOBObjects
PackagedUDTsandOtherEncapsulatedUDTs
Summary
Chapter5ProgramstoAccessaDatabase
5.1IntroductiontoAccessaDatabase
ASimpleProgramUsingEmbeddedSQL
SelectingMultipleRowswithaCursor
5.2ConditionHandling
WheneverStatement:ScopeandFlowofControl
ExplicitErrorChecking
HandlingError:GettingErrorMessagesfromtheDatabase
IndicatorVariables
5.3SomeCommonEmbeddedSQLStatements
TheSelectStatement
TheDeclareVursorStatement
Chapter6DatabaseDesign
Chapter7Integrity,Views,Security,andCatalogs
Chapter8Indexing
Chapter9QueryProcessing
Chapter10UpdateTransactions
Chapter11ParallelandDistributedDatabases
AppendixAIntroductoryTutorial
AppendixBProgrammingDetails
AppendixCSQLStatementSyntax
AppendixDSetQueryCounts
SolutionstoSelectedExercises
Index