图书介绍

数据库与事务处理 面向应用的方法 英文本PDF|Epub|txt|kindle电子书版本网盘下载

数据库与事务处理 面向应用的方法 英文本
  • Philip M. Lewis著(美国纽约州立大学Stony Brook分校计算机科学系) 著
  • 出版社: 北京:高等教育出版社
  • ISBN:7040113961
  • 出版时间:2002
  • 标注页数:1014页
  • 文件大小:119MB
  • 文件页数:1044页
  • 主题词:

PDF下载


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

下载说明

数据库与事务处理 面向应用的方法 英文本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

热门推荐