Sumário Itens Encontrados: 703The Worlds of Database SystemsThe Evolution of Database SystemsEarly Database Management SystemsRelational Database SystemsSmaller and Smaller SystemsBigger and Bigger SystemsClient-Server and Multi-Tier ArchitecturesMultimedia DataInformation IntegrationOverview of a Database Management SystemData-Definition Language CommandsOverview of Query ProcessingStorage and Buffer ManagementTransaction ProcessingThe Query ProcessorOutline of Database-System StudiesDatabase DesignDatabase ProgrammingDatabase System ImplementatiollInformation Integration OverviewReferences for ChapterThe Entity-Relationship Data ModelElements of the E/R SIodelEntity SetsAttributesRelationshipsEntity-Relationship DiagramsInstances of an E/R DiagramSiultiplicity of Binary E/R Relationshipsllultivay RelationshipsRoles in RelationshipsAttributes on RelationshipsConverting Multiway Relationships to BinarySubclasses in the E/R,bfodelExercises for SectionDesign PrinciplesFaithfulnessAvoiding RedundancySimplicity CountsChoosing the Right RelationshipsPicking the Right Kind of ElementThe Modeling of ConstraintsClassification of ConstraintsKeys in the E/R ModelRepresenting Keys in the E/R ModelSingle-Value ConstraintsReferential Integrity 'Referential Integrity in E/R DiagramsOther Kinds of ConstraintsWeakEntity SetsCauses of Weak Entity SetsRequirements for Weak Entity SetsWeak Entity Set NotationThe Relational Data ModelBasics of the Relational ModelSchemasTuplesDomainsEquivalent Representations of a RelationRelation InstancesFrom E/R Diagrams to Relational DesignsFro~nE ntity Sets to RelationsFrom E/R Relationships to RelationsCombining RelationsHandling Weak Entity SetsConverting Subclass Structures to RelationsE/R-Style ConversionAn Object-Oriented ApproachUsing Null Values to Combine RelationsComparison of ApproachesFunctional DependenciesDefinition of Functional DependencyKeys of RelationsSuperkeysDiscovering Keys for RelationsRules About Functional DependenciesThe Splitting/Combi~~inRgu leTrivial Functional DependenciesComputing the Closure of AttributesWhy the Closure Algorithm WorksThe Transitive RuleClosing Sets of Functional DependenciesProjecting Functional DependenciesDesign of Relational Database SchemasAnomaliesDecomposing RelationsBoyce-Codd Normal FormDecomposition into BCNFRecovering Information from a DecompositionThird Sormal FormIultivalued DependenciesAttribute Independence and Its Consequent RedundancyDefinition of Xfultivalued DependenciesReasoning About hlultivalued DependenciesFourth Sormal FormDecomposition into Fourth Normal FormRelationships Among Xormal FormsOther Data ModelsReview of Object-Oriented ConceptsThe Type SystemClasses and ObjectsObject IdentityMethodsClass HierarchiesIntroduction to ODLObject-Oriented DesignClass DeclarationsAttributes in ODLRelationships in ODLInverse Relationshipshfultiplicity of RelationshipsMethods in ODLTypes in ODLAdditional ODL ConceptsMultiway Relationships in ODLSubclasses in ODLMultiple Inheritance in ODLExtentsDeclaring Keys in ODLFrom ODL Designs to Relational DesignsFroni ODL Attributes to Relational AttributesNonatomic Attributes in ClassesRepresenting Set-Valued AttributesRepresenting Other Type ConstructorsRepresenting ODL RelationshipsWhat If There Is No Key?The Object-Relational ModelFrom Relations to Object-RelationsNested RelationsReferencesObject-Oriented Versus Object-RelationalFrom ODL Designs to Object-Relational DesignsSemistructured DataMotivation for the Semistructured-Data ModelSemistructured Data RepresentationInformation Integration Via Semistructured DataXML and Its Data ModelSemantic TagsWell-Formed Xi LDocument Type DefinitionsUsing a DTD-ttribute ListsRelational AlgebraAn Example Database SchemaAn Algebra of Relational OperationsBasics of Relational AlgebraSet Operations on RelationsProjectionSelectionCartesian ProductNatural JoinsTheta-JoinsCombining Operations to Form QueriesRenamingDependent and Independent OperationsA Linear Notation for Algebraic ExpressionsRelational Operations on BagsWhy Bags?Union,Intersection,and Difference of BagsProjection of BagsSelection on BagsProduct of BagsJoins of BagsExtended Operators of Relational AlgebraDuplicate EliminationAggregation OperatorsGroupingThe Grouping OperatorExtending the Projection OperatorThe Sorting OperatorOuterjoinsConstraints on RelationsRelational Algebra as a Constraint LanguageReferential Integrity ConstrailltsAdditional Constraint ExamplesThe Database Language SQLSimple Queries in SQLProjection in SQLSelection in SQLComparison of StringsDates and TimesNull Values and Comparisons Involving NULLThe Truth-Value UNKNOWNOrdering the OutputQueries Involving More Than One RelationProducts and Joins in SQLDisambiguating AttributesTuple VariablesInterpreting Multirelation QueriesUnion,Intersection,and Difference of QueriesSubqueriesSubqucries that Produce Scalar ValuesConditions Involving RelationsConditions Involving TuplesCorrelated SubqueriesSubqueries in FROM ClausesSQL Join ExpressionsXatural JoinsFn-Relation OperationsEliminating DuplicatesDuplicates in Unions,Intersections,and DifferencesGrouping and Aggregation in SQLHAVING ClausesDatabase hlodificationsInsertionDeletionUpdatesExercises for Section GDefining a Relation Schema in SQLData TypesSimple Table DeclarationsModifying Relation SchemasDefault ValuesIndexesIntroduction to Selection of IndexesView DefinitionsDeclaring ViewsQuerying ViewsRenaming AttributesModifying ViewsInterpreting Queries Involving ViewsConstraints and TriggersKeys andForeign KeysDeclaring Primary KeysKeys Declared ?VithUNIQUEEnforcing Key ConstraintsDeclaring Foreign-Key ConstraintsMaintaining Referential IntegrityDeferring the Checking of ConstraintsConstraints on Attributes and TuplesKot-Null ConstraintsAttribute-Based CHECK ConstraintsTuple-Based CHECK Constraints?Iodification of ConstraintsGiving Names to ConstraintsAltering Constraints on TablesSchema-Level Constraints and TriggersAssertionsEvent-Condition- Action RulesTriggers in SQLInstead-Of TriggersSystem Aspects of SQLSQL in a Programming EnvironmentThe Impedance Mismatch ProblemThe SQL/Host Language InterfaceThe DECLARE SectionUsing Shared VariablesSingle-Row Select StatementsCursorsModifications by CursorProtecting Against Concurrent UpdatesScrolling CursorsDynamic SQLProcedures Stored in the SchemaCreating PSM Functions and ProceduresSome Simple Statement Forms in PSMBranching StatementsQueries in PSMLoops in PSMFor-LoopsExceptions in PSMUsing PSM Functions and ProceduresThe SQL EnvironmentEnvironmentsCatalogsClients and Servers in the SQL EnvironmentConnectionsSessionsModulesUsing a Call-Level InterfaceIntroduction to SQL/CLIProcessing StatementsFetching Data F'rom a Query ResultPassing Parameters to QueriesJava Database ConnectivityIntroduction to JDBCCreating Statements in JDBCCursor Operations in JDBCParameter PassingTransactions in SQLSerializabilityAtomicityTransactionsRead-only TransactionsDirty ReadsOther Isolation LevelsSecurity and User Authorization in SQLPrivilegesCreating PrivilegesThe Privilege-Checking ProcessGranting PrivilegesGrant DiagramsRevoking PrivilegesObject-Orientation in Query LanguagesIntroduction to OQLAn Object-Oriented Movie ExamplePath ExpressionsSelect-From-Where Expressions in OQLModifying the Type of the ResultComplex Output TypesAdditional Forms of OQL ExpressionsQuantifier ExpressionsAggregation ExpressionsGroup-By ExpressionsUnion,Intersection,and DifferenceObject Assignment and Creation in OQLAssigning -alues to Host-Language biablesExtracting Elements of CollectionsObtaining Each Member of a CollectionConstants in OQLCreating Sew ObjectsUser-Defined Types in SQLDefining Types in SQLXIethods in User-Defined TypesDeclaring Relations with a UDTOperations on Object-Relational DataFollowing ReferencesAccessing Attributes of Tuples with a UDTGenerator and Mutator FunctionsOrdering Relationships on UDT'sLogical Query LanguagesA Logic for RelationsPredicates and AtomsArithmetic AtomsDatalog Rules and QueriesMeaning of Datalog RulesExtensional and Intensional PredicatesDatalog Rules Applied to BagsFkom Ilelational Algebra to DatalogIntersectionUnionDifferenceProductJoinsSimulating Alultiple Operations with DatalogRecursive Programming in DatalogRecursive RulesEvaluating Recursive Datalog RulesNegation in Recursive RulesRecursion in SQLDefining IDB Relations in SQLStratified NegationProblematic Expressions in Recursive SQLData StorageThe Database Systemhlegatron Implenlentation DetailsHow LIegatron Executes QueriesWhat's Wrong With hiegatron ?The Memory HierarchyCacheMain AlernoryirtualM emorySecondary StorageTertiary StorageVolatile and Nonvolatile StorageDisksivlechanics of DisksThe Disk ControllerDisk Storage CharacteristicsDisk Access CharacteristicsWriting BlocksModifying BlocksUsing Secondary Storage EffectivelyThe If Model of ComputationSorting Data in Secondary StorageMerge-SortTwo-Phase,Multiway 'ferge-SortAIultiway Merging of Larger RelationsAccelerating Access to Secondary StorageOrganizing Data by CylindersUsing llultiple DisksMirroring DisksDisk Scheduling and the Elevator AlgorithmPrefetching and Large-Scale BufferingDisk FailuresIntermittent FailuresChecksumsStable StorageError-Handling Capabilities of Stable StorageRecorery from Disk CrashesThe Failure Model for Disksllirroring as a Redundancy TechniqueParity BlocksAn Improvement: RAIDCoping With Multiple Disk CrashesRepresenting Data ElementsData Elements and FieldsRepresenting Relational Database ElementsRepresenting ObjectsRecordsBuilding Fixed-Length RecordsRecord HeadersPacking Fixed-Length Records into BlocksRepresenting Block and Record AddressesClient-Server SystemsLogical and Structured AddressesPointer SwizzlingReturning Blocks to DiskPinned Records and BlocksVariable-Length Data and RecordsRecords With Variable-Length FieldsRecords With Repeating FieldsVariable-Format RecordsRecords That Do Not Fit in a BlockBLOBSRecord ModificationsUpdateIndex StructuresIndexes on Sequential FilesSequential FilesDense Indexes :Sparse IndexesMultiple Levels of IndexIndexes With Duplicate Search KeysManaging Indexes During Data llodificationsSecondary IndexesDesign of Secondary Indexespplications of Secondary IndexesIndirection in Secondary IndexesDocument Retrieval and Inverted IndexesB-TreesThe Structure of B-treesApplications of B-treesLookup in B-TreesRange QueriesInsertion Into B-TreesDeletion From B-TreesEfficiency of B-TreesHash TablesSecondary-Storage Hash TablesInsertion Into a Hash TableHash-Table DeletionEfficiencyo f Hash Table IndexesExtensible Hash TablesInsertion Into Extensible Hash TablesLinear Hash TablesInsertion Into Linear Hash TablesMultidimensional and Bitmap Indexesapplications Xeeding klultiple DimensioGeographic Information SystemsData CubesIlultidimensional Queries in SQLExecuting Range Queries Using Conventional IndexesExecuting Nearest-Xeighbor Queries Using ConventionalOther Limitations of Conventional IndexesOverview of llultidimensional Index StructuresHash-Like Structures for lIultidimensiona DataGrid FilesLookup in a Grid FileInsertion Into Grid FilesPerformance of Grid FilesPartitioned Hash FunctionsComparison of Grid Files and Partitioned HashingTree-Like Structures for AIultidimensional DataMultiple-Key IndexesPerformance of Multiple-Key Indexeskd-TreesOperations on kd-Treesdapting kd-Trees to Secondary StorageQuad TreesR-TreesOperations on R-treesBitmap IndexesMotivation for Bitmap IndexesCompressed BitmapsOperating on Run-Length-Encoded Bit-VectorsManaging Bitmap IndexesQuery ExecutionIntroduction to Physical-Query-Plan OperatorsScanning TablesSorting While Scanning TablesThe Model of Computation for Physical OperatorsParameters for Measuring CostsI/O Cost for Scan OperatorsIterators for Implementation of Physical OperatorsOne-Pass Algorithms for Database OperationsOne-Pass Algorithms for Tuple-at-a-Time OperationsOne-Pass Algorithms for Unary,Full-Relation OperationsOne-Pass Algorithms for Binary OperationsNested-I,oop JoinsTuple-Based Nested-Loop JoinAn Iterator for Tuple-Based Nested-Loop JoinA Block-Based Nested-Loop Join AlgorithmAnalysis of Nested-Loop JoinTwo-Pass Algorithms Based on SortingDuplicate Elimination Using SortingGrouping and -Aggregation Using SortingA Sort-Based Union lgorithmSort-Based Intersection and DifferenceA Simple Sort-Based Join AlgorithmAnalysis of Simple Sort-JoinA More Efficient Sort-Based JoinTwo-Pass Algorithms Based on HashingPartitioning Relations by HashingA Hash-Based Algorithm for Duplicate EliminationHash-Based Grouping and AggregationHash-Based Union,Intersection,and DifferenceThe Hash-Join AlgorithmSaving Some Disk I/OsIndex-Based AlgorithmsClustering and Nonclustering IndexesIndex-Based SelectionJoining by Using an IndexJoins Using a Sorted IndexBuffer ManagementBuffer Itanagement ArchitectureBuffer Management StrategiesThe Relationship Between Physical Operator Selectionand Buffer ManagementAlgorithms Using More Than Two PassesMultipass Sort-Based AlgorithmsPerformance of lfultipass,Sort-Based AlgorithmsMultipass Hash-Based AlgorithmsPerformance of Multipass Hash-Based AlgorithmsParallel Algorithms for Relational OperationsSIodels of ParallelismTuple-at-a-Time Operations in ParallelParallel Algorithms for Full-Relation OperationsPerformance of Parallel AlgorithmsThe Query CompilerParsing 'Syntax Analysis and Parse TreesA Grammar for a Simple Subset of SQLThe PreprocessorAlgebraic Laws for Improving Query PlansOrdering of Physical OperationsCommutative and Associative LawsLaws Involving SelectionPushing SelectionsLaws Involving ProjectionLaws About Joins and ProductsCoping With System FailuresLaws Involving Duplicate EliminationIssues and Models for Resilient OperationLaws Involving Grouping and AggregationFailure Modes Exercises for SectionMore About TransactionsFrom Parse Bees to Logical Query PlansCorrect Execution of TransactionsConversion to Relational AlgebraThe Primitive Operations of TransactionsRemoving Subqueries From ConditionsImproving the Logical Query PlanGrouping Associative/Commutative OperatorsUndo LoggingLog RecordsEstimating the Cost of OperationsThe Undo-Logging RulesEstimating Sizes of Intermediate RelationsRecovery Using Undo LoggingEstimating the Size of a ProjectionCheckpointingEstimating the Size of a SelectionNonquiescent CheckpointingEstimating the Size of a JoinNatural Joins With Multiple Join AttributesRedo LoggingJoins of Many RelationsThe Redo-Logging RuleEstimating Sizes for Other OperationsRecovery With Redo LoggingCheckpointing a Redo LogIntroduction to Cost-Based Plan SelectionRecovery With a Checkpointed Redo LogObtaining Estimates for Size ParametersComputation of StatisticsUndo/RedoLoggingHeuristics for Reducing the Cost of Logical Query PlansThe Undo/Redo RulesApproaches to Enumerating Physical PlansRecovery With Undo/Redo LoggingChoosing an Order for JoinsCheckpointing an Undo/Redo LogSignificance of Left and Right Join ArgumentsJoin TreesProtecting Against Media FailuresLeft-Deep Join TreesThe ArchiveDynamic Programming to Select a Join Order and GroupingNonquiescent ArchivingDynamic Programming With More Detailed Cost FunctionsRecovery Using an Archive and LogA Greedy Algorithm for Selecting a Join OrderCon~pletingt he Physical-Query-PlanChoosing a Selection MethodChoosing a Join MethodConcur rency ControlPipelining Versus MaterializationSerial and Serializable SchedulesPipelining Unary OperationsSchedulesPipelining Binary OperationsSerial SchedulesNotation for Physical Query PlansSerializable SchedulesThe Effect of Transaction SemanticsA Notation for Transactions and SchedulesConflict-SeridiabilityConflictsPrecedence Graphs and a Test for Conflict-SerializabilityWhy the Precedence-Graph Test WorksEnforcing Serializability by LocksLocksThe Locking SchedulerTwo-Phase LockingWhy Two-Phase Locking WorksLocking Systems With Several Lock hlodesShared and Exclusive LocksCompatibility MatricesUpgrading LocksUpdate LocksIncrement Locks -An Architecture for a Locking SchedulerA Scheduler That Inserts Lock ActionsThe Lock Tablehianaging Hierarchies of Database ElementsLocks With Multiple GranularityWarning LocksPhantoms and Handling Insertions CorrectlyThe Tree ProtocolMotivation for Tree-Based LockingRules for Access to Tree-Structured DataWhy the Tree Protocol WorksConcurrency Control by TimestanipsTimestampsPhysically Cnrealizable BehaviorsProblems Kith Dirty DataThe Rules for Timestamp-Based SchedulingXfultiversion TimestampsTimestamps and LockingConcurrency Control by ValidationArchitecture of a Validation-Based SchedulerThe Validation RulesComparison of Three Concurrency-ControlMore About Transaction ManagementSerializability and RecoverabilityThe Dirty-Data ProblemCascading RollbackRecoverable SchedulesSchedules That Avoid Cascading RollbackJIanaging Rollbacks Using LockingGroup CommitLogical LoggingRecovery From Logical LogsView SerializabilityView EquivalencePolygraphs and the Test for View-SerializabilityTesting for View-SerializabilityResolving DeadlocksDeadlock Detection by TimeoutThe IVaits-For GraphDeadlock Prevention by Ordering ElementsDetecting Deadlocks by TimestampsComparison of Deadlock-Alanagenient MethodsEsercises for SectionDistributed DatabasesDistribution of DataDistributed TransactionsData ReplicationDistributed Query OptimizationDistributed CommitSupporting Distributed dtomicityTwo-Phase CommitRecovery of Distributed TransactionsDistributed LockingCentralized Lock SystemsA Cost Model for Distributed Locking AlgorithmsLocking Replicated ElementsPrimary-Copy LockingGlobal Locks From Local LocksLong-Duration PansactionsProblems of Long TransactionsSagasCompensating TransactionsWhy Compensating Transactions WorkInformation TntegrationModes of Information IntegrationProblems of Information IntegrationFederated Database SystemsData WarehousesMediators iiWrappers in Mediator-Based SystemsTemplates for Query PatternsWrapper GeneratorsFiltersOther Operations at the WrapperCapability-Based Optimization in MediatorsThe Problem of Limited Source CapabilitiesA Notation for Describing Source CapabilitiesCapability-Based Query-Plan SelectionAdding Cost-Based OptimizationOn-Line Analytic ProcessingOLAP Applicationsfultidimensional View of OLAP DataStar SchemasSlicing and DicingThe Cube OperatorCube Implementation by Materialized ViewsThe Lattice of ViewsData Mining sData-Mining ApplicationsFinding Frequent Sets of ItemsThe --Priori Algorithm