图书介绍
数据库 原理、编程与性能 第2版 英文PDF|Epub|txt|kindle电子书版本网盘下载
![数据库 原理、编程与性能 第2版 英文](https://www.shukui.net/cover/46/31467720.jpg)
- (美)PatrickONeil,ElizabethONeil著 著
- 出版社: 北京:高等教育出版社
- ISBN:7040100401
- 出版时间:2001
- 标注页数:870页
- 文件大小:11MB
- 文件页数:895页
- 主题词:数据库理论 数据库 计算机/网络
PDF下载
下载说明
数据库 原理、编程与性能 第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