图书介绍

数据库 原理、编程与性能 第2版 英文PDF|Epub|txt|kindle电子书版本网盘下载

数据库 原理、编程与性能 第2版 英文
  • (美)PatrickONeil,ElizabethONeil著 著
  • 出版社: 北京:高等教育出版社
  • ISBN:7040100401
  • 出版时间:2001
  • 标注页数:870页
  • 文件大小:11MB
  • 文件页数:895页
  • 主题词:数据库理论 数据库 计算机/网络

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

数据库 原理、编程与性能 第2版 英文PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

Chapter 1 Introduction1

1.1 Fundamental Database Concepts1

History of Database Systems2

The Relational and Object-Relational Models2

The Database Systems Covered3

A Relational Database Example3

An Object-Relational Database Example5

1.2 Database Users6

1.3 Overview of Relational and Object-Relational DBMS8

Chapter 2:The Relational Model8

Chapter 3:Basic SQL Query Language9

Chapter 4:The Object-Relational Model11

Chapter 5:Programs to Access a Database12

Chapter 6:Database Design14

Chapter 7:Integrity,Views,Security,and Catalogs16

Chapter 8:Indexing19

Chapter 9:Query Processing20

Chapter 10:Update Transactions21

Chapter 11:Parallel and Distributed Databases22

1.4 Putting It All Together23

Chapter 2 The Relational Model25

2.1 The CAP Database26

2.2 Naming the Parts of a Database29

Domains and Datatypes30

Tables and Relations30

2.3 Relational Rules32

2.4 Keys,Superkeys,and Null Values40

Null Values40

2.5 Relational Algebra41

Fundamental Operations of Relational Algebra41

2.6 Set-Theoretic Operations42

The Union,Intersection,and Difference Operations42

Assignment and Alias44

The Product Operation46

2.7 Native Relational Operations47

The Projection Operation48

The Selection Operation49

Precedence of Relational Operations52

The Join Operation53

The Division Operation57

2.8 The Interdependence of Operations61

2.9 Illustrative Examples63

2.10 Other Relational Operations67

Outer Join68

Theta Join71

3.1 Introduction79

Chapter 3 Basic SQL Query Language79

SQL Capabilities80

SQL History-Standards and Dialects81

3.2 Setting Up the Database84

Standard Typographical Conventions85

A Practical Exercise86

3.3 Simple Select Statements87

3.4 Subqueries96

The IN Predicate96

The Quantified Comparison Predicate101

The EXISTS Predicate102

A Weakness of SQL:Too Many Equivalent Forms106

3.5 UNION Operators and FOR ALL Conditions107

The UNION Operator107

Division:SQL“FOR ALL...”Conditions108

3.6 Some Advanced SQL Syntax114

The INTERSECT and EXCEPT Operators in Advanced SQL114

Join forms in Advanced SQL117

OUTER JOIN120

Join Forms Implemented in Database Systems122

3.7 Set Functions in SQL123

Handling Null Values127

3.8 Groups of Rows in SQL129

3.9 A Complete Description of SQL Select134

Identifiers136

Expressions,Predicates,and the search_condition137

Scalar Subqueries as Expressions:Advanced SQL141

Basic SQL versus Advanced SQL:Summary142

A Discussion of the Predicates142

3.10 Insert,Update,and Delete Statements148

The Insert Statement148

The Update Statement149

The Delete Statement150

3.11 The Power of the Select Statement151

The Non-Procedural Select Statement152

Turing Power154

Limited Power of the Basic SQL Select Statementk155

Chapter 4 Object-Relational SQL173

4.1 Introduction173

ORSQL Capabilities174

Form of Presntation for This Chapter175

Object-Relational History176

4.2 Objects and Tables177

4.2.1 Object Types in ORACLE177

Definition of the REF Object Reference185

4.2.2 INFORMIX Row Types for Objects191

Absence of REFs in INFORMIX196

Type Inheritance in INFORMIX196

4.2.3 Objects and Tables:Summary197

Object Orientation198

4.3 Collection Types199

4.3.1 Collection Types in ORACLE200

Table Types and Nested Tables200

Two Techniques for Retrieving from a Table of Tables205

Unnesting via Table Products206

Nested Cursors206

Array Types for VARRAYs210

SQL Syntax for Collections in ORACLE212

Inserts and Updates in ORACLE213

4.3.2 Collection Types in INFORMIX215

Sets in INFORMIX215

Lists in INFORMIX218

SQL Syntax for Collections in INFORMIX220

Inserts and Updates in INFORMIX221

4.3.3 Collection Types:Summary222

4.4 Procedural SQL,User-Defined Functions(UDFs),and Methods223

4.4.1 ORACLE PL/SQL Procedures,UDFs,and Methods224

PL/SQL:ORACLE s Procedural SQL Language224

Using PL/SQL to Implement Methods in ORACLE229

Update Methods237

4.4.2 INFORMIX User-Defined Functions239

SPL:INFORMIX s Procedural SQL Language239

Using SPL to Implement UDFs in INFORMIX244

Update Functions247

4.4.3 User-Defined Functions:Summary248

4.5 External Functions and Packaged user-Defined Types(UDTs)249

Binary Data and BLOBs250

BLOB Objects251

Distinct Types251

Encapsulation251

External Functions251

Packaged UDTs and Other Encapsulated UDTs252

Summary253

Chapter 5 Programs to Access a Database259

5.1 Introduction to Embedded SQL in C262

A Simple Program Using Embedded SQL262

Selecting Multiple Rows with a Cursor270

5.2 Condition Handling272

Whenever Statement:Scope and Flow of Control274

Explicit Error Checking276

Handling Errors:Getting Error Messages from the Database277

Indicator Variables278

5.3 Some Common Embedded SQL Statements281

The Select Statement281

The Declare Cursor Statement282

The Delete Statement283

The Update Statement285

The Insert Statement286

Cursor Open,Fetch,and Close286

Other Embedded SQL Operations287

5.4 Programming for Transactions287

The Concept of a Transaction288

How Transactions Are Specified in Programs290

A Transaction Example292

The Transaction Isolation Guarantee and Locking294

Special Considerations in Transactions296

5.5 The Power of Procedural SQL Programs303

Customized Set Functions303

5.6 Dynamic SQL305

Execute Immediate305

Prepare,Execute,and Using309

Dynamic Select:The Describe Statement and the SQLDA310

5.7 Some Advanced Programming Concepts317

Scrollable Cursors317

Cursor Sensitivity319

Other Development Environments for Database Programming320

Chapter 6 Database Design329

6.1 Introduction to E-R Concepts331

Entities,Attributes,and Simple E-R Diagrams331

Transforming Entities and Attributes to Relations334

Relationships among Entities335

6.2 Further Details of E-R Modeling339

Cardinality of Entity Participation in a Relationship339

One-to-One,Many-to-Many,and Many-to-One Relationships342

Transforming Binary Relationships to Relations343

Cardinality of Attributes346

6.3 Additional E-R Concepts346

Weak Entities347

Generalization Hierarchies348

6.4 Case Study349

6.5 Normalization:Preliminaries353

A Running Example:Employee Information354

Anomalies of a Bad Database Design356

6.6 Functional Dependencies358

Logical Implications among Functional Dependencies361

Armstrong s Axioms362

Closure,Cover,and Minimal Cover366

6.7 Lossless Decompositions374

6.8 Normal Forms380

A Succession of Decompositions to Eliminate Anomalies381

Normal Forms:BCNF,3NF,and 2NF387

An Algorithm to Achieve Well-Behaved 3NF Decomposition393

A Review of Normalization394

6.9 Additional Design Considerations396

Database Design Tools397

Chapter 7 Integrity,Views,Security,and Catalogs409

7.1 Integrity Constraints410

Integrity Constraints in the Create Table Statement411

Primary Keys,Foreign Keys,and Referential Integrity417

Foreign Key Constraints:Product Variations421

The Alter Table Statement422

Non-Procedural and procedural Integrity Constraints:Triggers424

7.2 Creating Views433

Updatable and Read-Only views438

The Value of Views440

7.3 Security:The Grant Statement in SQL442

Variations in Database Products445

7.4 System Catalogs and Schemas445

Catalog Variations in Database Products447

Schemas447

The INFORMIX System Catalog451

Catalog Tables for Object-Relational Constructs:ORACLE and INFORMIX452

Chapter 8 Indexing465

8.1 The Concept of Indexing465

8.2 Disk Storage470

Disk Access Is Excruciatingly Slow470

The DBA and Disk Resource Allocation in ORACLE474

Data Storage Pages and Row Pointers:ORACLE and DB2 UDB479

8.3 The B-Tree Index484

Dynamic Changes in the B-Tree490

Properties of the B-Tree493

Index Node Layout and Free Space494

The Create Index Statement in ORACLE and DB2 UDB496

Duplicate Key Values in an Index497

The ORACLE Bitmap Index500

8.4 Clustered and Non-Clustered Indexes502

Clustering Indexes in DB2 UDB506

ORACLE Special Indexing Features507

8.5 A Hash Primary Index511

Tuning HASHKEYS and SIZE in a Hash Cluster514

No Incremental Changes in the Number of Slots Used517

Advantages and Disadvantages of a Hash Primary Index518

Unlimited Slot Occupancy:How Many Slots Are Occupied?520

8.6 Throwing Darts at Random Slots520

Slot Occupancy of One:Number of Retries(Rehash Chain)522

When Do Hash Pages Fill Up525

Chapter 9 Query Processing533

9.1 Introductory Concepts535

Query Resource Utilization535

Gathering Statistics537

Retrieving the Query Plan538

9.2 Tablespace Scans and I/O540

Assumptions about I/O541

9.3 Simple Indexed Access in DB2546

Equal Unique Match Index Access549

Index-Only Retrieval554

9.4 Filter Factors and Statistics556

DB2 Statistics557

Filter Factors in DB2559

9.5 Matching Index Scans,Composite Indexes560

Definition of a Matching Index Scan563

Predicate Screening and Screening Predicates564

Indexable Predicates and Performance568

9.6 Multiple Index Access570

List Prefetch and the RID Pool574

Point of Diminishing Returns in Multiple Index Access578

9.7 Methods for Joining Tables579

Nested-Loop Join580

Merge Join583

Hybrid Join587

Multiple Table Joins588

Transforming Nested Queries to Joins589

9.8 Disk Sorts591

The N-Way Merge Disk Sort Algorithm592

9.9 Query kPerformance Benchmarks:A Case Study597

The BENCH Table599

Load measurements601

9.10 Query Performance Measurements602

Query Q1603

Query Q2A604

Query Q2B607

Query Q3A608

Query Q3B609

Query Q4A and Q4B610

Query Q5613

Query Q6A615

Query Q6B616

9.11 Cost-Performance Assessment617

Elapsed Time versus CPU Time Rating618

Customizing the Rating619

Variations in Indexing Use between DB2 and ORACLE620

Chapter 10 Update Transactions633

10.1 Transactional Histories638

Fundamental Atomic Read and Write Actions in the Database638

Predicate Read Actions639

Transactional Histories with Reads and Writes639

10.2 Interleaved Read-Write Operations643

10.3 Serializability and the Precedence Graph648

The Precedence Graph653

10.4 Locking to Ensure Serializability655

The waits-For Graph658

10.5 Levels of Isolation660

The Read Uncommitted Isolation Level662

The Read Committed Isolation Level and Cursor Stability663

Repeatable Read Isolation Level666

Serializability and Phantom Updates666

10.6 Transactional Recovery669

10.7 Recovery in Detail:Log Formats671

Guarantees That Needed Log Entries Are on Disk675

10.8 Checkpoints677

The Commit-Consistent Checkpoint678

Motivation for Other Kinds of Checkpoints679

The Cache-Consistent Checkpoint680

The Fuzzy Checkpoint682

10.9 Media Recovery683

Stable Storage684

10.10 Performance:The TPC-A Benchmark684

The TPC-A Benchmark Specification685

Lessons from the TPC-A Benchmark689

Chapter 11 Parallel and Distributed Databases699

11.1 Some Multi-CPU Architectures700

Client-Server Architectures703

11.2 The Curve of CPU Cost versus Power704

11.3 Shared-Nothing Database Architecture706

Two-Phase Commit707

Further Problems with Shared-Nothing Architecture713

11.4 Query Parallelism715

Intra-Query Parallelism715

Appendix A Introductory Tutorial721

A.1 Setting Up the CAP Database in ORACLE721

Creating the CAP Database721

Using the SQL *Loader722

Using SQL *Plus725

A.2 Setting Up the CAP Database in INFORMIX728

Creating the CAP Database(in UNIX)728

Using DB-Access(UNIX Systems)732

A.3 Datatypes733

Appendix B Programming Details735

B.1 The prompt()Function735

Use of Numeric Constants in Code Examples736

B.2 The print_dberror()Function737

B.3 Building Embedded C Programs737

Precompilation and Compilation Procedure Using ORACLE/UNIX737

Precompilation and Compilation Procedure Using DB2 UDB/UNIX740

Appendix C SQL Statement Syntax743

C.2 Close Cursor statement745

C.1 Alter Table Statement745

C.3 Commit Work Statement746

C.4 Connect Statement747

C.5 Create Function Statement(UDF)748

C.6 Create Index Statement749

C.7 Create Row Type Statement(O-R)751

C.8 Create Schema Statement751

C.9 Create Table Statement752

C.10 Create Tablespace Statement in ORACLE and DB2 UDB755

C.11 Create Trigger Statement756

C.12 Create Type Statement(O-R)757

C.13 Create View Statement758

C.14 Declare Cursor Statement759

C.15 Delete Statement760

C.16 Describe Statement761

C.17 Disconnect Statement761

C.18 Drop Function Statement762

C.19 Drop Index Statement762

C.20 Drop Trigger Statement763

C.21 Drop (Row)Type Statement(O-R)763

C.22 Drop {Schema|Table|View}Statement764

C.23 Execute Statement764

C.25 Fetch Statement765

C.24 Execute Immediate Statement765

C.26 Grant Statement766

C.27 Insert Statement767

C.28 Open Crsor Statement768

C.29 Prepare Statement768

C.30 Revoke Statement768

C.31 Rollback Statement769

C.32 Select Statement769

C.33 Update Statement773

Appendix D Set Query Counts775

Solutions to Selected Exercises779

Index823

热门推荐