E-Book, Englisch, 888 Seiten, Web PDF
O'Neil Database
1. Auflage 2014
ISBN: 978-1-4831-8404-3
Verlag: Elsevier Science & Techn.
Format: PDF
Kopierschutz: 1 - PDF Watermark
Principles Programming Performance
E-Book, Englisch, 888 Seiten, Web PDF
ISBN: 978-1-4831-8404-3
Verlag: Elsevier Science & Techn.
Format: PDF
Kopierschutz: 1 - PDF Watermark
Patrick O'Neil is a professor of computer science at the University of Massachusetts at Boston. He is responsible for a number of important research results in transactional performance and disk access algorithms, and he holds patents for his work in these and other database areas. Author of 'The Set Query Benchmark' (in The Benchmark Handbook for Database and Transaction Processing Systems, also from Morgan Kaufmann) and an area editor for Information Systems, O'Neil is also an active industry consultant who has worked with a number of prominent companies, including Microsoft, Oracle, Sybase, Informix, Praxis, Price Waterhouse, and Policy Management Systems Corporation.
Autoren/Hrsg.
Weitere Infos & Material
1;Front Cover;1
2;Database: Principles Programming Performance;2
3;Copyright Page;3
4;Table of Contents;4
5;Preface;10
6;Chapter 1. Introduction;16
6.1;1.1 Fundamental Database Concepts;16
6.2;1.2 Database Users;19
6.3;1.3 Overview of a Relational DBMS;22
6.4;1.4 Putting It All Together;39
7;Chapter 2. The Relational Model;40
7.1;2.1 The CAP Database;41
7.2;2.2 Naming the Parts of a Database;44
7.3;2.3 Relational RULES;49
7.4;2.4 Keys, Superkeys, and Null Values;53
7.5;2.5 Relational Algebra;59
7.6;2.6 Set-Theoretic Operations;60
7.7;2.7 Native Relational Operations;67
7.8;2.8 The Interdependence of Operations;83
7.9;2.9 Illustrative Examples;85
7.10;2.10 Other Relational Operations;91
7.11;Suggestions for Further Reading;96
7.12;Exercises;96
8;Chapter 3. Query Language SQL;104
8.1;3.1 Introduction;104
8.2;3.2 Setting Up the Database;109
8.3;3.3 Simple Select Statements;112
8.4;3.4 Subselects;123
8.5;3.5 SQL Union and "FOR ALL . . ." Conditions;137
8.6;3.6 Set Functions in SQL;145
8.7;3.7 Groups of Rows in SQL;153
8.8;3.8 A Complete Description of SQL Select;158
8.9;3.9
Insert, Update, and Delete Statements;171
8.10;3.10 The Power of the Select Statement;174
8.11;3.11 Object-Orientation in Database Systems;188
8.12;Suggestions for Further Reading;205
8.13;Exercises;207
9;Chapter 4. Programs to Access a Database;216
9.1;4.1 Introduction to Embedded SQL in C;219
9.2;4.2 Error Handling;240
9.3;4.3 Some Common Embedded SQL Statements;251
9.4;4.4 Programming for Transactions;259
9.5;4.5 The Power of Procedural SQL Programs;274
9.6;4.6 Dynamic SQL;279
9.7;4.7 Some Advanced Programming Concepts;293
9.8;Suggestions for Further Reading;297
9.9;Exercises;298
10;Chapter 5. Database Design;308
10.1;5.1 Introduction to E-R Concepts;311
10.2;5.2 Further Details of E-R Modeling;320
10.3;5.3
Additional E-R Concepts;329
10.4;5.4 Case Study;334
10.5;5.5 Normalization: Preliminaries;338
10.6;5.6 Functional Dependencies;345
10.7;5.7 Lossless Decompositions;361
10.8;5.8 Normal Forms;368
10.9;5.9
Additional Design Considerations;387
10.10;Suggestions for Further Reading;390
10.11;Exercises;391
11;Chapter 6. Integrity, Views, Security, and Catalogs;400
11.1;6.1 Integrity Constraints;401
11.2;6.2 Creating Views;429
11.3;6.3 Security: The Grant Statement in SQL;441
11.4;6.4 System Catalogs;445
11.5;Suggestions for Further Reading;450
11.6;Exercises;451
12;Chapter 7. Indexing;460
12.1;7.1 The Concept of Indexing;460
12.2;7.2 Disk Storage;465
12.3;7.3 The B-Tree Index;480
12.4;7.4 Clustered and Non-Clustered Indexes;503
12.5;7.5 A Hash Primary Index;511
12.6;7.6 Throwing Darts at Random Slots;523
12.7;Suggestions for Further Reading;527
12.8;Exercises;528
13;Chapter 8. Query Processing;534
13.1;8.1 Introductory Concepts;536
13.2;8.2 Table Space Scans and I/O;543
13.3;8.3 Simple Indexed Access in DB2;552
13.4;8.4 Filter Factors and Statistics;564
13.5;8.5 Matching Index Scans, Composite Indexes;570
13.6;8.6 Multiple Index Access;582
13.7;8.7 Methods for Joining Tables;594
13.8;8.8 Disk Sorts;609
13.9;8.9 Query Performance Benchmarks: A Case Study;617
13.10;8.10 Query Performance Measurements;623
13.11;8.11 Cost-Performance Assessment;641
13.12;Suggestions for Further Reading;645
13.13;Exercises;646
14;Chapter 9. Update Transactions;660
14.1;9.1 Transactional Histories;666
14.2;9.2 Interleaved Read/Write Operations;672
14.3;9.3 Serializability and the Precedence Graph;679
14.4;9.4 Locking to Ensure Serializability;687
14.5;9.5 Levels of Isolation;693
14.6;9.6
Transactional Recovery;703
14.7;9.7 Recovery in Detail: Log Formats;705
14.8;9.8 Checkpoints;714
14.9;9.9 Media Recovery;722
14.10;9.10 Performance: The TPC-A Benchmark;723
14.11;Suggestions for Further Reading;736
14.12;Exercises;736
15;Chapter 10. Parallel and Distributed Databases;742
15.1;10.1 Some Multi-CPU Architectures;743
15.2;10.2 The Curve of CPU Cost versus Power;748
15.3;10.3 Shared-Nothing Database Architecture;751
15.4;10.4 Query Parallelism;763
15.5;Suggestions for Further Reading;766
15.6;Exercises;768
16;Appendix A: Introductory Tutorial;770
16.1;A.1 Setting Up the CAP Database in INGRES;770
16.2;A.2 Setting Up the CAP Database in ORACLE;778
16.3;A.3 Datatypes;786
17;Appendix B: Statement Syntax;788
17.1;B.1 Alter Table Statement;789
17.2;B.2 Close (Cursor) Statement;791
17.3;B.3 Commit Work Statement;792
17.4;B.4 Create Index Statement;792
17.5;B.5 Create Table Statement;797
17.6;B.6 Create Tablespace Statement in ORACLE;808
17.7;B.7 Create View Statement;809
17.8;B.8 Connect Statement;810
17.9;B.9 Declare Cursor Statement;811
17.10;B.10 Delete Statement;812
17.11;B.11 Describe Statement;814
17.12;B.12 Disconnect Statement;814
17.13;B.13 Drop {Table I View I Index} Statement;814
17.14;B.14 Execute Statement;815
17.15;B.15 Execute Immediate Statement;815
17.16;B.16 Fetch Statement;816
17.17;B.17 Grant Statement;817
17.18;B.18 Insert Statement;818
17.19;B.19 Modify Statement in INGRES;819
17.20;B.20 Open (Cursor) Statement;821
17.21;B.21 Prepare Statement;822
17.22;B.22 Revoke Statement;822
17.23;B.23 Rollback Statement;823
17.24;B.24 Select Statement;824
17.25;B.25 Update Statement;826
18;Appendix C: Set Query Counts;828
19;Solutions to Selected Exercises;832
20;Index;875




