Database management systems = 数据库管理系统原理与设计 / 3rd ed.

副标题:无

作   者:Raghu Ramakrishnan, Johannes Gehrke.

分类号:

ISBN:9787302075554

微信扫一扫,移动浏览光盘

简介

   本书由于内容全面,实践性强,已经成为数据库课程的首选教材。全书分为数据库基础、应用程序开发、存储与索引、查询评估、事务管理、数据库设计与调整、高级主题等七大部分,对数据库的设计与使用、数据库管理系统基本原理与实现技术,以及数据库研究的新进展做了详细论述。本书以一个网上书店的完整设计为例,介绍了数据库系统的具体实现过程。第3版保留了前两版的传统优点,并且加入了许多关于数据库最新研究和发展的内容,每章后面精选的复习题和练习使本书更吸引人,可读性更强。    本书可作为高等院校计算机专业本科生、研究生和教师的教材和教学参考,对于从事数据库系统研究以及学习数据库系统技术的人也很有参考价值。   

目录

preface

part i foundations

1 overview of database systems

1.1 managing data

1.2 a historical perspective

1.3 file systems versus a dbms

1.4 advantages of a dbms

1.5 describing and storing data in a dbms

1.5.1 the relational model

1.5.2 levels of abstraction in a dbms

1.5.3 data independence

1.6 queries in a dbms

1.7 transaction management

1.7.1 concurrent execution of transactions

1.7.2 incomplete transactions and system crashes

1.7.3 points to note

1.8 structure of a dbms

1.9 people who work with databases

1.10 review questions


.2 introduction to database design

2.1 database design and er diagrams

2.1.1 beyond er design

2.2 entities, attributes, and entity sets

2.3 relationships and relationship sets

2.4 additional features of the er model

2.4.1 key constraints

2.4.2 participation constraints

2.4.3 weak entities

2.4.4 class hierarchies

2.4.5 aggregation

2.5 conceptual design with the er model

2.5.1 entity versus attribute

2.5.2 entity versus relationship

2.5.3 binary versus ternary relationships

2.5.4 aggregation versus ternary relationships

2.6 conceptual design for large enterprises

2.7 the unified modeling language

2.8 case study: the internet shop

2.8.1 requirements analysis

2.8.2 conceptual design

2.9 review questions


3 the relational model

3.1 introduction to the relational model

3.1.1 creating and modifying relations using sql

3.2 integrity constraints over relations

3.2.1 key constraints

3.2.2 foreign key constraints

3.2.3 general constraints

3.3 enforcing integrity constraints

3.3.1 transactions and constraints

3.4 querying relational data

3.5 logical database design: er to relational

3.5.1 entity sets to tables

3.5.2 relationship sets (without constraints) to tables

3.5.3 translating relationship sets with key constraints

3.5.4 translating relationship sets with participation constraints

3.5.5 translating weak entity sets

3.5.6 translating class hierarchies

3.5.7 translating er diagrams with aggregation

3.5.8 er to relational: additional examples

3.6 introduction to views

3.6.1 views, data independence, security

3.6.2 updates on views

3.7 destroying/altering tables and views

3.8 case study: the internet store

3.9 review questions


4 relational algebra and calculus

4.1 preliminaries

4.2 relational algebra

4.2.1 selection and projection

4.2.2 set operations

4.2.3 renaming

4.2.4 joins

4.2.5 division

4.2.6 more examples of algebra queries

4.3 relational calculus

4.3.1 tuple relational calculus

4.3.2 domain relational calculus

4.4 expressive power of algebra and calculus

4.5 review questions


5 sql: queries, constraints, triggers

5.1 overview

5.1.1 chapter organization

5.2 the form of a basic sql query

5.2.1 examples of basic sql queries

5.2.2 expressions and strings in the select command

5.3 union, intersect, and except

5.4 nested queries

5.4.1 introduction to nested queries

5.4.2 correlated nested queries

5.4.3 set-comparison operators

5.4.4 more examples of nested queries

5.5 aggregate operators

5.5.1 the group by and having clauses

5.5.2 more examples of aggregate queries

5.6 null values

5.6.1 comparisons using null values

5.6.2 logical connectives and, or, and not

5.6.3 impact on sql constructs

5.6.4 outer joins

5.6.5 disallowing null values

5.7 complex integrity constraints in sql

5.7.1 constraints over a single table

5.7.2 domain constraints and distinct types

5.7.3 assertions: ics over several tables

5.8 triggers and active databases

5.8.1 examples of triggers in sql

5.9 designing active databases

5.9.1 why triggers can be hard to understand

5:9.2 constraints versus triggers

5.9.3 other uses of triggers

5.10 review questions


part ii application development

6 database application development

6.1 accessing databases from applications

6.1.1 embedded sql

6.1.2 cursors

6.1.3 dynamic sql

6.2 an introduction to jdbc

6.2.1 architecture

6.3 jdbc classes and interfaces

6.3.1 jdbc driver management

6.3.2 connections

6.3.3 executing sql statements

6.3.4 resultsets

6.3.5 exceptions and warnings

6.3.6 examining database metadata

6.4 sqlj

6.4.1 writing sqlj code

6.5 stored procedures

6.5.1 creating a simple stored procedure

6.5.2 calling stored procedures

6.5.3 sql/psm

6.6 case study: the internet book shop

6.7 review questions


7 internet applications

7.1 introduction

7.2 internet concepts

7.2.1 uniform resource identifiers

7.2.2 the hypertext transfer protocol (http)

7.3 html documents

7.4 xml documents

7.4.1 introduction to xml

7.4.2 xml dtds

7.4.3 domain-specific dtds

7.5 the three-tier application architecture

7.5.1 single-tier and client-server architectures

7.5.2 three-tier architectures

7.5.3 advantages of the three-tier architecture

7.6 the presentation layer

7.6.1 html forms

7.6.2 javascript

7.6.3 style sheets

7.7 the middle tier

7.7.1 cgi: the common gateway interface

7.7.2 application servers

7.7.3 servlets

7.7.4 javaserver pages

7.7.5 maintaining state

7.8 case study: the internet book shop

7.9 review questions


part iii storage and indexing

8 overview of storage and indexing

8.1 data on external storage

8.2 file organizations and indexing

8.2.1 clustered indexes

8.2.2 primary and secondary indexes

8.3 index data structures

8.3.1 hash-based indexing

8.3.2 tree-based indexing

8.4 comparison of file organizations

8.4.1 cost model

8.4.2 heap files

8.4.3 sorted files

8.4.4 clustered files

8.4.5 heap file with unclustered tree index

8.4.6 heap file with unclustered hash index

8.4.7 comparison of i/o costs

8.5 indexes and performance tuning

8.5.1 impact of the workload

8.5.2 clustered index organization

8.5.3 composite search keys

8.5.4 index specification in sql:1999

8.6 review questions


9 storing data: disks and files

9.1 the memory hierarchy

9.1.1 magnetic disks

9.1.2 performance implications of disk structure

9.2 redundant arrays of independent disks

9.2.1 data striping

9.2.2 redundancy

9.2.3 levels of redundancy

9.2.4 choice of raid levels

9.3 disk space management

9.3.1 keeping track of free blocks

9.3.2 using os file systems to manage disk space

9.4 buffer manager

9.4.1 buffer replacement policies

9.4.2 buffer management in dbms versus os

9.5 files of records

9.5.1 implementing heap files

9.6 page formats

9.6.1 fixed-length records

9.6.2 variable-length records

9.7 record formats

9.7.1 fixed-length records

9.7.2 variable-length records

9.8 review questions


10 tree-structured indexing

10.1 intuition for tree indexes

10.2 indexed sequential access method (isam)

10.2.1 overflow pages, locking considerations

10.3 b+ trees: a dynamic index structure

10.3.1 format of a node

10.4 search

10.5 insert

10.6 delete

10.7 duplicates

10.8 b+ trees in practice

10.8.1 key compression

10.8.2 bulk-loading a b+ tree

10.8.3 the order concept

10.8.4 the effect of inserts and deletes on rids

10.9 review questions


11 hash-based indexing

11.1 static hashing

11.1.1 notation and conventions

11.2 extendible hashing

11.3 linear hashing

11.4 extendible vs. linear hashing

11.5 review questions


part iv query evaluation

12 overview of query evaluation

12.1 the system catalog

12.1.1 information in the catalog

12.2 introduction to operator evaluation

12.2.1 three common techniques

12.2.2 access paths

12.3 algorithms for relational operations

12.3.1 selection

12.3.2 projection

12.3.3 join

12.3.4 other operations

12.4 introduction to query optimization

12.4.1 query evaluation plans

12.4.2 multi-operator queries: pipelined evaluation

12.4.3 the iterator interface

12.5 alternative plans: a motivating example

12.5.1 pushing selections

12.5.2 using indexes

12.6 what a typical optimizer does

12.6.1 alternative plans considered

12.6.2 estimating the cost of a plan

12.7 review questions


13 external sorting

13.1 when does a dbms sort data?

13.2 a simple two-way merge sort

13.3 external merge sort

13.3.1 minimizing the number of runs

13.4 minimizing ilo cost versus number of i/os

13.4.1 blocked i/o

13.4.2 double buffering

13.5 using b+ trees for sorting

13.5.1 clustered index

13.5.2 unclustered index

13.6 review questions


14 evaluating relational operators

14.1 the selection operation

14.1.1 no index, unsorted data

14.1.2 no index, sorted data

14.1.3 b+ tree index

14.1.4 hash index, equality selection

14.2 general selection conditions

14.2.1 cnf and index matching

14.2.2 evaluating selections without disjunction

14.2.3 selections with disjunction

14.3 the projection operation

14.3.1 projection based on sorting

14.3.2 projection based on hashing

14.3.3 sorting versus hashing for projections

14.3.4 use of indexes for projections

14.4 the join 'operation

14.4.1 nested loops join

14.4.2 sort-merge join

14.4.3 hash join

14.4.4 general join conditions

14.5 the set operations

14.5.1 sorting for union and difference

14.5.2 hashing for union and difference

14.6 aggregate operations

14.6.1 implementing aggregation by using an index

14.7 the impact of buffering

14.8 review questions


15 a typical relational query optimizer

15.1 translating sql queries into algebra

15.1.1 decomposition of a query into blocks

15.1.2 a query block as a relational algebra expression

15.2 estimating the cost of a plan

15.2.1 estimating result sizes

15.3 relational algebra equivalences

15.3.1 selections

15.3.2 projections

15.3.3 cross-products and joins

15.3.4 selects, projects, and joins

15.3.5 other equivalences

15.4 enumeration of alternative plans

15.4.1 single-relation queries

15.4.2 multiple-relation queries

15.5 nested subqueries

15.6 the system r optimizer

15.7 other approaches to query optimization

15.8 review questions


part v transaction management

16 overview of transaction management

16.1 the acid properties

16.1.1 consistency and isolation

16.1.2 atomicity and durability

16.2 transactions and schedules

16.3 concurrent execution of transactions

16.3.1 motivation for concurrent execution

16.3.2 serializability

16.3.3 anomalies due to interleaved execution

16.3.4 schedules involving aborted transactions

16.4 lock-based concurrency control

16.4.1 strict two-phase locking (strict 2pl)

16.4.2 deadlocks

16.5 performance of locking

16.6 transaction support in sql

16.6.1 creating and terminating transactions

16.6.2 what should we lock?

16.6.3 transaction characteristics in sql

16.7 introduction to crash recovery

16.7.1 stealing frames and forcing pages

16.7.2 recovery-related steps during normal execution

16.7.3 overview of aries

16.7.4 atomicity: implementing rollback

16.8 review questions


17 concurrency control

17.1 2pl, serializability, and recoverability

17.1.1 view serializability

17.2 introduction to lock management

17.2.1 implementing lock and unlock requests

17.3 lock conversions

17.4 dealing with deadlocks

17.4.1 deadlock prevention

17.5 specialized locking techniques

17.5.1 dynamic databases and the phantom problem

17.5.2 concurrency control in b+ trees

17.5.3 multiple-granularity locking

17.6 concurrency control without locking

17.6.1 optimistic concurrency control

17.6.2 timestamp-based concurrency control

17.6.3 multiversion concurrency control

17.7 review questions


18 crash recovery

18.1 introduction to aries

18.2 the log

18.3 other recovery-related structures

18.4 the write-ahead log protocol

18.5 checkpointing

18.6 recovering from a system crash

18.6.1 analysis phase

18.6.2 redo phase

18.6.3 undo phase

18.7 media recovery

18.8 other approaches and interaction with concurrency control

18.9 review questions


part vi database design and tuning

19 schema refinement and normal forms

19.1 introduction to schema refinement

19.1.1 problems caused by redundancy

19.1.2 decompositions

19.1.3 problems related to decomposition

19.2 functional dependencies

19.3 reasoning about fds

19.3.1 closure of a set of fds

19.3.2 attribute closure

19.4 normal forms

19.4.1 boyce-codd normal form

19.4.2 third normal form

19.5 properties of decompositions

19.5.1 lossless-join decomposition

19.5.2 dependency-preserving decomposition

19.6 normalization

19.6.1 decomposition into bcnf

19.6.2 decomposition into 3nf

19.7 schema refinement in database design

19.7.1 constraints on an entity set

19.7.2 constraints on a relationship set

19.7.3 identifying attributes of entities

19.7.4 identifying entity sets

19.8 other kinds of dependencies

19.8.1 multivalued dependencies

19.8.2 fourth normal form

19.8.3 join dependencies

19.8.4 fifth normal form

19.8.5 inclusion dependencies

19.9 case study: the internet shop

19.10 review questions


20 physical database design and tuning

20.1 introduction to physical database design

20.1.1 database workloads

20.1.2 physical design and tuning decisions

20.1.3 need for database tuning

20.2 guidelines for index selection

20.3 basic examples of index selection

20.4 clustering and indexing

20.4.1 co-clustering two relations

20.5 indexes that enable index-only plans

20.6 tools to assist in index selection

20.6.1 automatic index selection

20.6.2 how do index tuning wizards work?

20.7 overview of database tuning

20.7.1 tuning indexes

20.7.2 tuning the conceptual schema

20.7.3 tuning queries and views

20.8 choices in tuning the conceptual schema

20.8.1 settling for a weaker normal form

20.8.2 denormalization

20.8.3 choice of decomposition

20.8.4 vertical partitioning of bcnf relations

20.8.5 horizontal decomposition

20.9 choices in tuning queries and views

20.10 impact of concurrency

20.10.1 reducing lock durations

20.10.2 reducing hot spots

20.11 case study: the internet shop

20.11.1 tuning the database

20.12 dbms benchmarking

20.12.1 welt-known dbms benchmarks

20.12.2 using a benchmark

20.13 review questions


21 security and authorization

21.1 introduction to database security

21.2 access control

21.3 discretionary access control

21.3.1 grant and revoke on views and integrity constraints

21.4 mandatory access control

21.4.1 multilevel relations and polyinstantiation

21.4.2 covert channels, dod security levels

21.5 security for internet applications

21.5.1 encryption

21.5.2 certifying servers: the ssl protocol

21.5.3 digital signatures

21.6 additional issues related to security

21.6.1 role of the database administrator

21.6.2 security in statistical databases

21.7 design case study: the internet store

21.8 review questions


part vii additional topics

22 parallel and distributed databases

22.1 introduction

22.2 architectures for parallel databases

22.3 parallel query evaluation

22.3.1 data partitioning

22.3.2 parallelizing sequential operator evaluation code

22.4 parallelizing individual operations

22.4.1 bulk loading and scanning

22.4.2 sorting

22.4.3 joins

22.5 parallel query optimization

22.6 introduction to distributed databases

22.6.1 types of distributed databases

22.7 distributed dbms architectures

22.7.1 client-server systems

22.7.2 collaborating server systems

22.7.3 middleware systems

22.8 storing data in a distributed dbms

22.8.1 fragmentation

22.8.2 replication

22.9 distributed catalog management

22.9.1 naming objects

22.9.2 catalog structure

22.9.3 distributed data independence

22.10 distributed query processing

22.10.1 nonjoin queries in a distributed dbms

22.10.2 joins in a distributed dbms

22.10.3 cost-based query optimization

22.11 updating distributed data

22.11.1 synchronous replication

22.11.2 asynchronous replication

22.12 distributed transactions

22.13 distributed concurrency control

22.13.1 distributed deadlock

22.14 distributed recovery

22.14.1 normal execution and commit protocols

22.14.2 restart after a failure

22.14.3 two-phase commit revisited

22.14.4 three-phase commit

22.15 review questions


23 object-database systems

23.1 motivating example

23.1.1 new data types

23.1.2 manipulating the new data

23.2 structured data types

23.2.1 collection types

23.3 operations on structured data

23.3.1 operations on rows

23.3.2 operations on arrays

23.3.3 operations on other collection types

23.3.4 queries over nested collections

23.4 encapsulation and adts

23.4.1 defining methods

23.5 inheritance

23.5.1 defining types with inheritance

23.5.2 binding methods

23.5.3 collection hierarchies

23.6 objects, oids, and reference types

23.6.1 notions of equality

23.6.2 dereferencing reference types

23.6.3 urls and oids in sql:1999

23.7 database design for an ordbms

23.7.1 collection types and adts

23.7.2 object identity

23.7.3 extending the er model

23.7.4 using nested collections

23.8 ordbms implementation challenges

23.8.1 storage and access methods

23.8.2 query processing

23.8.3 query optimization

23.9 00dbms

23.9.1 the odmg data model and odl

23.9.2 0ql

23.10 comparing rdbms, oodbms, and ordbms

23.10.1 rdbms versus ordbms

23.10.2 oodbms versus ordbms: similarities

23.10.3 00dbms versus ordbms: differences

23.11 review questions


24 deductive databases

24.1 introduction to recursive queries

24.1.1 datalog

24.2 theoretical foundations

24.2.1 least model semantics

24.2.2 the fixpoint operator

24.2.3 safe datalog programs

24.2.4 least model -- least fixpoint

24.3 recursive queries with negation

24.3.1 stratification

24.4 from datalog to sql

24.5 evaluating recursive queries

24.5.1 fixpoint evaluation without repeated inferences

24.5.2 pushing selections to avoid irrelevant inferences

24.5.3 the magic sets algorithm

24.6 review questions


25 data warehousing and decision support

25.1 introduction to decision support

25.2 olap: multidimensional data model

25.2.1 multidimensional database design

25.3 multidimensional aggregation queries

25.3.1 rollup and cube in sql:1999

25.4 window queries in sql:1999

25.4.1 framing a window

25.4.2 new aggregate functions

25.5 finding answers quickly

25.5.1 top n queries

25.5.2 online aggregation

25.6 implementation techniques for olap

25.6.1 bitmap indexes

25.6.2 join indexes

25.6.3 file organizations

25.7 data warehousing

25.7.1 creating and maintaining a warehouse

25.8 views and decision support

25.8.1 views, olap, and warehousing

25.8.2 queries over views

25.9 view materialization

25.9.1 issues in view materialization

25.10 maintaining materialized views

25.10.1 incremental view maintenance

25.10.2 maintaining warehouse views

25.10.3 when should we synchronize views?

25.11 review questions


26 data mining

26.1 introduction to data mining

26.1.1 the knowledge discovery process

26.2 counting co-occurrences

26.2.1 frequent itemsets

26.2.2 iceberg queries

26.3 mining for rules

26.3.1 association rules

26.3.2 an algorithm for finding association rules

26.3.3 association rules and isa hierarchies

26.3.4 generalized association rules

26.3.5 sequential patterns

26.3.6 the use of association rules for prediction

26.3.7 bayesian networks

26.3.8 classification and regression rules

26.4 tree-structured rules

26.4.1 decision trees

26.4.2 an algorithm to build decision trees

26.5 clustering

26.5.1 a clustering algorithm

26.6 similarity search over sequences

26.6.1 an algorithm to find similar sequences

26.7 incremental mining and data streams

26.7.1 incremental maintenance of frequent itemsets

26.8 additional data mining tasks

26.9 review questions


27 information retrieval and xml data

27.1 colliding worlds: databases, ir, and xml

27.1.1 dbms versus ir systems

27.2 introduction to information retrieval

27.2.1 vector space model

27.2.2 tf/idf weighting of terms

27.2.3 ranking document similarity

27.2.4 measuring success: precision and recall

27.3 indexing for text search

27.3.1 inverted indexes

27.3.2 signature files

27.4 web search engines

27.4.1 search engine architecture

27.4.2 using link information

27.5 managing text in a dbms

27.5.1 loosely coupled inverted index

27.6 a data model for xml

27.6.1 motivation for loose structure

27.6.2 a graph model

27.7 xquery: querying xml data

27.7.1 path expressions

27.7.2 flwr expressions

27.7.3 ordering of elements

27.7.4 grouping and generation of collection values

27.8 efficient evaluation of xml queries

27.8.1 storing xml in rdbms

27.8.2 indexing xml repositories

27.9 review questions


28 spatial data management

28.1 types of spatial data and queries

28.2 applications involving spatial data

28.3 introduction to spatial indexes

28.3.1 overview of proposed index structures

28.4 indexing based on space-filling curves

28.4.1 region quad trees and z-ordering: region data

28.4.2 spatial queries using z-ordering

28.5 grid files

28.5.1 adapting grid files to handle regions

28.6 r trees: point and region data

28.6.1 queries

28.6.2 insert and delete operations

28.6.3 concurrency control

28.6.4 generalized search trees

28.7 issues in high-dimensional indexing

28.8 review questions


29 further reading

29.1 advanced transaction processing

29.1.1 transaction processing monitors

29.1.2 new transaction models

29.1.3 real-time dbmss

29.2 data integration

29.3 mobile databases

29.4 main memory databases

29.5 multimedia databases

29.6 geographic information systems

29.7 temporal databases

29.8 biological databases

29.9 information visualization

29.10 summary


30 the minibase software

30.1 what is available

30.2 overview of minibase assignments

30.3 acknowledgments

references

subject index


已确认勘误

次印刷

页码 勘误内容 提交人 修订印次

Database management systems = 数据库管理系统原理与设计 / 3rd ed.
    • 名称
    • 类型
    • 大小

    光盘服务联系方式: 020-38250260    客服QQ:4006604884

    意见反馈

    14:15

    关闭

    云图客服:

    尊敬的用户,您好!您有任何提议或者建议都可以在此提出来,我们会谦虚地接受任何意见。

    或者您是想咨询:

    用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问

    Video Player
    ×
    Audio Player
    ×
    pdf Player
    ×
    Current View

    看过该图书的还喜欢

    some pictures

    解忧杂货店

    东野圭吾 (作者), 李盈春 (译者)

    loading icon