图书介绍
数据库与事务处理 面向应用的方法 英文本PDF|Epub|txt|kindle电子书版本网盘下载
![数据库与事务处理 面向应用的方法 英文本](https://www.shukui.net/cover/1/34399808.jpg)
- Philip M. Lewis著(美国纽约州立大学Stony Brook分校计算机科学系) 著
- 出版社: 北京:高等教育出版社
- ISBN:7040113961
- 出版时间:2002
- 标注页数:1014页
- 文件大小:119MB
- 文件页数:1044页
- 主题词:
PDF下载
下载说明
数据库与事务处理 面向应用的方法 英文本PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
PART One Introduction1
1 Overview of Databases and Transactions3
1.1 What Are Databases and Transactions?3
1.2 Features of Modern Database and Transaction Processing Systems5
1.3 Major Players in the Implementation and Support of Database and Transaction Processing Systems9
1.4 Decision Support Systems OLAP and OLTP10
1.5 Exercises12
2 A Closer Look15
2.1 Case Study:A Student Registration System15
2.2 Introduction to Relational Databases15
2.3 What Makes a Program a Transaction?21
2.4 Bibliographic Notes26
2.5 Exercises26
3.1 Software Engineering Methodology29
3 Case Study:Starting the Student Registration System29
3.2 Requirements Document31
3.3 Requirements Analysis New Issues38
3.4 Application Generators40
3.5 GUIs and Objects40
3.6 Events and Procedures44
3.7 Accessing Databases and Executing Transactions46
3.8 Specifying the Student Registration System48
3.9 Specification Document49
3.10 Bibliographic Notes50
3.11 Exercises50
PART Two Database Management53
4.1 What Is a Data Model?55
4 The Relational Data Model55
4.2 The Relational Model58
4.2.1 Basic Concepts59
4.2.2 Integrity Constraints62
4.3 SQL Data Definition Sublanguage69
4.3.1 Specifying the Relation Type70
4.3.2 The System Catalog70
4.3.3 Key Constraints70
4.3.4 Dealing with Missing Information71
4.3.5 Semantic Constraints72
4.3.6 User-Defined Domains75
4.3.7 Foreign Key Constraints76
4.3.8 Reactive Constraints78
4.3.9 Database Views81
4.3.10 Modifying Existing Definitions82
4.3.11 SQL-Schemas84
4.3.12 Access Control85
4.4 Bibliographic Notes87
4.5 Exercises87
5 Database Design Ⅰ:The Entity-Relationship Model89
5.1 Conceptual Modeling with the E-R Approach89
5.2 Entities and Entity Types90
5.3 Relationships and Relationship Types94
5.4 Advanced Features of the E-R Approach99
5.4.1 Entity Type Hierarchies99
5.4.2 Participation Constraints103
5.5 A Brokerage Firm Example106
5.6 Limitations of the E-R Approach110
5.7 Case Study:A Design for the Student Registration System114
5.8 Bibliographic Notes119
5.9 Exercises119
6 Query Languages Ⅰ:Relational Algebra and SQL123
6.1 Relational Algebra:Under the Hood of SQL124
6.1.1 Basic Operators124
6.1.2 Derived Operators133
6.2 The Query Sublanguage of SQL140
6.2.1 Simple SQL Queries140
6.2.2 Set Operations146
6.2.3 Nested Queries149
6.2.4 Aggregation over Data154
6.2.5 A Simple Query Evaluation Algorithm159
6.2.6 More on Views in SQL161
6.2.7 The Null Value Quandary166
6.3 Modifying Relation Instances in SQL167
6.4 Bibliographic Notes172
6.5 Exercises172
7 Query Languages Ⅱ:Relational Calculus and Visual Query Languages177
7.1 Tuple Relational Calculus177
7.2 Understanding SQL through Tuple Relational Calculus186
7.3 Domain Relational Calculus and Visual Query Languages189
7.4 Visual Query Languages:QBE and PC Databases193
7.5 The Relationship between Relational Algebra and the Calculi200
7.6 Recursive Queries in SQL:1999202
7.7 Bibliographic Notes208
7.8 Exercises208
8.1 The Problem of Redundancy211
8 Database Design Ⅱ:Relational Normalization Theory211
8.2 Decompositions213
8.3 Functional Dependencies215
8.4 Properties of Functional Dependencies217
8.5 Normal Forms222
8.6 Properties of Decompositions225
8.6.1 Lossless and Lossy Decompositions226
8.6.2 Dependency-Preserving Decompositions228
8.7 An Algorithm for BCNF Decomposition232
8.8 Synthesis of 3NF Schemas234
8.8.1 Minimal Cover234
8.8.2 3NF Decomposition through Schema Synthesis237
8.8.3 BCNF Decomposition through 3NF Synthesis238
8.9 The Fourth Normal Form241
8.10 Advanced 4NF Design245
8.10.1 MVDs and Their Properties245
8.10.2 The Difficulty of Designing for 4NF246
8.10.3 A 4NF Decomposition How-To249
8.11 Summary of Normal Form Decomposition251
8.12 Case Study:Schema Refinement for the Student Registration System252
8.13 Tuning Issues:To Decompose or Not to Decompose?254
8.14 Bibliographic Notes256
8.15 Exercises256
9 Triggers and Active Databases261
9.1 Semantic Issues in Trigger Handling261
9.2 Triggers in SQL:1999264
9.3 Avoiding a Chain Reaction271
9.4 Bibliographic Notes272
9.5 Exercises273
10 SQL in the Real World275
10.1 Executing SQL Statements within an Application Program275
10.2 Embedded SQL276
10.2.1 Status Processing279
10.2.2 Sessions,Connections,and Transactions281
10.2.3 Executing Transactions282
10.2.4 Cursors284
10.2.5 Stored Procedures on the Server288
10.3 More on Integrity Constraints293
10.4 Dynamic SQL294
10.4.1 Statement Preparation in Dynamic SQL295
10.4.2 Prepared Statements and the Descriptor Area297
10.4.3 Cursors299
10.4.4 Stored Procedures on the Server301
10.5 JDBC and SQLJ301
10.5.1 JDBC Basics301
10.5.2 Prepared Statements304
10.5.3 Result Sets and Cursors305
10.5.4 Obtaining Information about a Result Set307
10.5.5 Status Processing308
10.5.6 Executing Transactions308
10.5.7 Stored Procedures on the Server309
10.5.8 An Example311
10.5.9 SQLJ:Statement-Level Interface to Java311
10.6 ODBC313
10.6.1 Prepared Statements315
10.6.2 Cursors316
10.6.3 Status Processing318
10.6.4 Executing Transactions318
10.6.5 Stored Procedures on the Server319
10.6.6 An Example319
10.7 Comparison319
10.8 Bibliographic Notes322
10.9 Exercises322
11 Physical Data Organization and Indexing325
11.1 Disk Organization325
11.2 Heap Files330
11.3 Sorted Files334
11.4 Indices336
11.4.1 Clustered versus Unclustered Indices341
11.4.2 Sparse versus Dense Indices343
11.4.3 Search Keys Containing Multiple Attributes345
11.5 Multilevel Indexing347
11.5.1 Index-Sequential Access350
11.5.2 B+ Trees352
11.6 Hash Indexing359
11.6.1 Static Hashing359
11.6.2 Dynamic Hashing Algorithms362
11.7 Special-Purpose Indices370
11.7.1 Bitmap Indices370
11.7.2 Join Indices371
11.8 Tuning Issues:Choosing Indices for an Application372
11.10 Exercises373
11.9 Bibliographic Notes373
12 Case Study:Completing the Student Registration System377
12.1 The Design Document377
12.1.1 The Document Structure378
12.1.2 Design Review381
12.2 Test Plan382
12.3 Project Planning385
12.4 Coding387
12.5 Incremental Development389
12.6 Design and Code for the Student Registration System390
12.6.1 Completing the Database Design:Integrity Constraints391
12.6.2 Design of the Registration Transaction392
12.6.3 Partial Code for the Registration Transaction395
12.8 Exercises398
12.7 Bibliographic Notes398
13 The Basics of Query Processing401
13.1 External Sorting401
13.2 Computing Projection,Union,and Set Difference405
13.3 Computing Selection407
13.3.1 Selections with Simple Conditions408
13.3.2 Access Paths409
13.3.3 Selections with Complex Conditions411
13.4 Computing Joins413
13.4.1 Computing Joins Using Nested Loops413
13.4.2 Sort-Merge Join416
13.4.3 Hash Join417
13.5 Multi-Relational Joins418
13.7 Tuning Issues:Impact on Physical Database Design420
13.6 Computing Aggregate Functions420
13.8 Bibliographic Notes421
13.9 Exercises422
14 An Overview of Query Optimization425
14.1 Overview of Query Processing425
14.2 Heuristic Optimization Based on Algebraic Equivalences426
14.3 Estimating the Cost of a Query Execution Plan430
14.4 Estimating the Size of the Output437
14.5 Choosing a Plan439
14.6 Tuning Issues:Impact on Query Design443
14.7 Bibliographic Notes446
14.8 Exercises446
15 An Overview of Transaction Processing451
15.1 Isolation451
15.1.1 Serializability452
15.1.2 Two-Phase Locking454
15.1.3 Deadlock457
15.1.4 Locking in Relational Databases458
15.1.5 Isolation Levels459
15.1.6 Lock Granularity and Intention Locks462
15.1.7 A Serializable Locking Strategy Using Intention Locks464
15.1.8 Summary465
15.2 Atomicity and Durability465
15.2.1 The Write-Ahead Log465
15.2.2 Recovery from Mass Storage Failure468
15.3 Implementing Distributed Transactions469
15.3.1 Atomicity and Durability The Two-Phase Commit Protocol470
15.3.2 Global Serializability and Deadlock471
15.3.3 Replication472
15.3.4 Summary474
15.4 Bibliographic Notes474
15.5 Exercises475
PART Three Advanced Topics in Databases477
16 Object Databases479
16.1 Shortcomings of the Relational Data Model479
16.1.1 Object Databases versus Relational Databases484
16.2 Historical Developments485
16.3 The Conceptual Object Data Model488
16.3.1 Objects and Values488
16.3.2 Classes489
16.3.3 Types490
16.3.4 Object-Relational Databases493
16.4 The ODMG Standard494
16.4.1 ODL-The ODMG Object Definition Language497
16.4.2 OQL-The ODMG Object Query Language503
16.4.3 Transactions in ODMG507
16.4.4 Object Manipulation in ODMG508
16.4.5 Language Bindings508
16.5 Objects in SQL:1999512
16.5.1 Row Types513
16.5.2 User-Defined Types514
16.5.3 Objects515
16.5.4 Querying User-Defined Types516
16.5.5 Updating User-Defined Types517
16.5.6 Reference Types519
16.5.7 Collection Types521
16.6 Common Object Request Broker Architecture522
16.6.1 CORBA Basics523
16.6.2 CORBA and Databases528
16.7 Summary533
16.8 Bibliographic Notes533
16.9 Exercises534
17 XML and Web Data537
17.1 Semistructured Data537
17.2 Overview of XML540
17.2.1 XML Elements and Database Objects543
17.2.2 XML Attributes544
17.2.3 Namespaces548
17.2.4 Document Type Definitions551
17.2.5 Inadequacy of DTDs as a Data Definition Language554
17.3 XML Schema555
17.3.1 XML Schema and Namespaces556
17.3.2 Simple Types559
17.3.3 Complex Types564
17.3.4 Putting It Together571
17.3.5 Integrity Constraints572
17.4 XML Query Languages580
17.4.1 XPath:A Lightweight XML Query Language581
17.4.2 XSLT:A Transformation Language for XML588
17.4.3 XQuery:A Full-Featured Query Language for XML599
17.4.4 Summary617
17.5 Bibliographic Notes617
17.6 Exercises618
18 Distributed Databases623
18.1 The Application Designer s View of the Database624
18.2 Distributing Data among Different Databases627
18.2.1 Fragmentation627
18.2.2 Updates and Fragmentation630
18.2.3 Replication630
18.3 Query Planning Strategies632
18.3.1 Global Query Optimization633
18.3.2 Strategies for a Multidatabase System638
18.3.3 Tuning Issues:Database Design and Query Planning in a Distributed Environment639
18.4 Bibliographic Notes640
18.5 Exercises641
19 OLAP and Data Mining643
19.1 OLAP and Data Warehouses Old and New643
19.2 A Multi-Dimensional Model for OLAP Applications645
19.3 Aggregation648
19.3.1 Drilling,Slicing,Rolling,Dicing649
19.3.2 The CUBE Operator652
19.4 ROLAP and MOLAP657
19.5 Implementation Issues658
19.6 Data Mining658
19.7 Populating a Data Warehouse663
19.8 Bibliographic Notes664
19.9 Exercises665
PART Four Transaction Processing667
20 ACID Properties of Transactions669
20.1 Consistency670
20.1.1 Checking Integrity Constraints671
20.2 Atomicity672
20.3 Durability674
20.4 Isolation675
20.5 The ACID Properties678
20.6 Bibliographic Notes680
20.7 Exercises680
21 Models of Transactions683
21.1 Flat Transactions683
21.2 Providing Structure within a Transaction685
21.2.1 Savepoints685
21.2.2 Distributed Transactions687
21.2.3 Nested Transactions691
21.2.4 Multilevel Transactions694
21.3.1 Chained Transactions698
21.3 Structuring an Application into Multiple Transactions698
21.3.2 Transaction Scheduling with Recoverable Queues702
21.3.3 Extended Transactions706
21.3.4 Workflows and Workflow Management Systems709
21.4 Bibliographic Notes713
21.5 Exercises714
22 Architecture of Transaction Processing Systems717
22.1 Transaction Processing in a Centralized System717
22.1.1 Organization of a Single-User System717
22.1.2 Organization of a Centralized Multiuser System719
22.2 Transaction Processing in a Distributed System720
22.2.1 Organization of a Distributed System721
22.2.2 Sessions and Context728
22.2.3 Queued Transaction Processing730
22.3 Heterogeneous Systems and the TP Monitor731
22.3.1 The Transaction Manager732
22.3.2 The TP Monitor734
22.4 The TP Monitor:Communication and Global Atomicity737
22.4.1 Remote Procedure Call738
22.4.2 Peer-to-Peer Communication746
22.4.3 Handling Exceptional Situations within a Transaction748
22.5 Transaction Processing on the Internet752
22.5.1 Common Architectures753
22.5.2 Organization of Transaction Systems on the Internet754
22.6 Bibliographic Notes757
22.7 Exercises757
23 Implementing Isolation761
23.1 Schedules and Their Equivalence763
23.1.1 Serializability767
23.1.2 Conflict Equivalence and View Equivalence769
23.1.3 Serialization Graphs770
23.2 Recoverability,Cascaded Aborts,and Strictness772
23.3 Models for Concurrency Control774
23.4 A Strategy for Immediate-Update Pessimistic Concurrency Controls776
23.4.1 Conflict Avoidance776
23.4.2 Deadlocks779
23.5 Design of an Immediate-Update Pessimistic Concurrency Control780
23.5.1 An Implementation Using Lock Sets and Wait Sets780
23.5.2 Two-Phase Locking782
23.5.3 Lock Granularity783
23.6 Objects and Semantic Commutativity784
23.6.1 Atomicity,Recoverability,and Compensating Operations788
23.7 Isolation in Structured Transaction Models790
23.7.1 Savepoints790
23.7.2 Chained Transactions791
23.7.3 Recoverable Queues791
23.7.4 Nested Transactions792
23.7.5 Multilevel Transactions793
23.8 Other Concurrency Controls797
23.8.1 Timestamp-Ordered Concurrency Controls797
23.8.2 Optimistic Concurrency Controls800
23.9 Bibliographic Notes803
23.10 Exercises803
24 Isolation in Relational Databases809
24.1 Locking809
24.1.1 Phantoms810
24.1.2 Predicate Locking811
24.2 Locking and the SQL Isolation Levels814
24.2.1 Lost Updates,Cursor Stability,and Update Locks820
24.2.2 Case Study:Correctness and NonSERIALIZABLE Schedules The Student Registration System822
24.2.3 Serializable,SERIALIZABLE,and Correct829
24.3 Granular Locking:Intention Locks and Index Locks830
24.3.1 Index Locks:Granular Locking without Phantoms832
24.3.2 Granular Locking in an Object Database838
24.4 Improving System Performance839
24.5 Multiversion Concurrency Controls840
24.5.1 Read-Only Multiversion Concurrency Controls842
24.5.2 Read-Consistency Multiversion Concurrency Controls843
24.5.3 SNAPSHOT Isolation844
24.7 Exercises850
24.6 Bibliographic Notes850
25 Atomicity and Durability857
25.1 Crash,Abort,and Media Failure857
25.2 Immediate-Update Systems and Write-Ahead Logs859
25.2.1 Performance and Write-Ahead Logging863
25.2.2 Checkpoints and Recovery866
25.2.3 Logical and Physiological Logging871
25.3 Recovery in Deferred-Update Systems873
25.4 Recovery from Media Failure874
25.5 Bibliographic Notes877
25.6 Exercises878
26 Implementing Distributed Transactions881
26.1 Implementing the ACID Properties881
26.2 Atomic Termination883
26.2.1 The Two-Phase Commit Protocol884
26.2.2 Dealing with Failures in the Two-Phase Commit Protocol888
26.2.3 Formats and Protocols:The X/Open Standard892
26.2.4 The Peer-to-Peer Atomic Commit Protocol893
26.3 Transfer of Coordination893
26.3.1 The Linear Commit Protocol894
26.3.2 Two-Phase Commit without a Prepared State895
26.4 Distributed Deadlock895
26.5 Global Serialization896
26.6 When Global Atomicity Cannot Be Guaranteed898
26.6.1 Weaker Commit Protocols899
26.7 Replicated Databases900
26.7.1 Synchronous-Update Replication Systems902
26.7.2 Asynchronous-Update Replication Systems905
26.8 Distributed Transactions in the Real World909
26.9 Bibliographic Notes910
26.10 Exercises910
27 Security and Internet Commerce915
27.1 Authentication,Authorization,and Encryption915
27.2 Encryption916
27.3 Digital Signatures919
27.4 Key Distribution and Authentication921
27.4.1 The Kerberos Protocol:Tickets923
27.4.2 Nonces926
27.5 Authorization927
27.6 Authenticated Remote Procedure Call929
27.7 Internet Commerce930
27.7.1 The Secure Sockets Layer Protocol:Certificates931
27.7.2 The Secure Electronic Transaction Protocol:Dual Signatures933
27.7.3 Goods Atomicity,Escrow,and Certified Delivery937
27.7.4 Electronic Cash:Blind Signatures941
27.8 Bibliographic Notes947
27.9 Exercises947
Appendix System Issues951
A.1 Basic System Issues951
A.1.1 Modules and Objects951
A.1.2 Clients and Servers954
A.2 Multiprogrammed Operating Systems955
A.3 Threads958
A.4 Communication959
References963
Index979