图书介绍
A first course in database systems Second Edition = 数据库系统基础教程 (英文版·第2版)PDF|Epub|txt|kindle电子书版本网盘下载
- Jeffrey D. Ullman ; Jennifer Widom 著
- 出版社: China Machine Press
- ISBN:711119344X
- 出版时间:2006
- 标注页数:514页
- 文件大小:255MB
- 文件页数:537页
- 主题词:数据库系统-教材-英文
PDF下载
下载说明
A first course in database systems Second Edition = 数据库系统基础教程 (英文版·第2版)PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
1 The Worlds of Database Systems1
1.1 The Evolution of Database Systems2
1.1.1 Early Database Management Systems2
1.1.2 Relational Database Systems4
1.1.3 Smaller and Smaller Systems5
1.1.4 Bigger and Bigger Systems6
1.1.5 Client-Server and Multi-Tier Architectures7
1.1.6 Multimedia Data8
1.1.7 Information Integration8
1.2 Overview of a Database Management System9
1.2.1 Data-Definition Language Commands10
1.2.2 Overview of Query Processing10
1.2.3 Storage and Buffer Management12
1.2.4 Transaction Processing13
1.2.5 The Query Processor14
1.3 Outline of Database-System Studies15
1.3.1 Database Design16
1.3.2 Database Programming17
1.3.3 Database System Implementation17
1.3.4 Information Integration Overview19
1.4 Summary of Chapter 119
1.5 References for Chapter 120
2 The Entity-Relationship Data Model23
2.1 Elements of the E/R Model24
2.1.1 Entity Sets24
2.1.2 Attributes25
2.1.3 Relationships25
2.1.4 Entity-Relationship Diagrams25
2.1.5 Instances of an E/R Diagram27
2.1.6 Multiplicity of Binary E/R Relationships27
2.1.7 Multiway Relationships28
2.1.8 Roles in Relationships29
2.1.9 Attributes on Relationships31
2.1.10 Converting Multiway Relationships to Binary32
2.1.11 Subclasses in the E/R Model33
2.1.12 Exercises for Section 2.136
2.2 Design Principles39
2.2.1 Faithfulness39
2.2.2 Avoiding Redundancy39
2.2.3 Simplicity Counts40
2.2.4 Choosing the Right Relationships40
2.2.5 Picking the Right Kind of Element42
2.2.6 Exercises for Section 2.244
2.3 The Modeling of Constraints47
2.3.1 Classification of Constraints47
2.3.2 Keys in the E/R Model48
2.3.3 Representing Keys in the E/R Model50
2.3.4 Single-Value Constraints51
2.3.5 Referential Integrity51
2.3.6 Referential Integrity in E/R Diagrams52
2.3.7 Other Kinds of Constraints53
2.3.8 Exercises for Section 2.353
2.4 Weak Entity Sets54
2.4.1 Causes of Weak Entity Sets54
2.4.2 Requirements for Weak Entity Sets56
2.4.3 Weak Entity Set Notation57
2.4.4 Exercises for Section 2.458
2.5 Summary of Chapter 259
2.6 References for Chapter 260
3 The Relational Data Model61
3.1 Basics of the Relational Model61
3.1.1 Attributes62
3.1.2 Schemas62
3.1.3 Tuples62
3.1.4 Domains63
3.1.5 Equivalent Representations of a Relation63
3.1.6 Relation Instances64
3.1.7 Exercises for Section 3.164
3.2 From E/R Diagrams to Relational Designs65
3.2.1 From Entity Sets to Relations66
3.2.2 From E/R Relationships to Relations67
3.2.3 Combining Relations70
3.2.4 Handling Weak Entity Sets71
3.2.5 Exercises for Section 3.275
3.3 Converting Subclass Structures to Relations76
3.3.1 E/R-Style Conversion77
3.3.2 An Object-Oriented Approach78
3.3.3 Using Null Values to Combine Relations79
3.3.4 Comparison of Approaches79
3.3.5 Exercises for Section 3.380
3.4 Functional Dependencies82
3.4.1 Definition of Functional Dependency83
3.4.2 Keys of Relations84
3.4.3 Superkeys86
3.4.4 Discovering Keys for Relations87
3.4.5 Exercises for Section 3.488
3.5 Rules About Functional Dependencies90
3.5.1 The Splitting/Combining Rule90
3.5.2 Trivial Functional Dependencies92
3.5.3 Computing the Closure of Attributes92
3.5.4 Why the Closure Algorithm Works95
3.5.5 The Transitive Rule96
3.5.6 Closing Sets of Functional Dependencies98
3.5.7 Projecting Functional Dependencies98
3.5.8 Exercises for Section 3.5100
3.6 Design of Relational Database Schemas102
3.6.1 Anomalies103
3.6.2 Decomposing Relations103
3.6.3 Boyce-Codd Normal Form105
3.6.4 Decomposition into BCNF107
3.6.5 Recovering Information from a Decomposition112
3.6.6 Third Normal Form114
3.6.7 Exercises for Section 3.6117
3.7 Multivalued Dependencies118
3.7.1 Attribute Independence and Its Consequent Redundancy118
3.7.2 Definition of Multivalued Dependencies119
3.7.3 Reasoning About Multivalued Dependencies120
3.7.4 Fourth Normal Form122
3.7.5 Decomposition into Fourth Normal Form123
3.7.6 Relationships Among Normal Forms124
3.7.7 Exercises for Section 3.7126
3.8 Summary of Chapter 3127
3.9 References for Chapter 3129
4 Other Data Models131
4.1 Review of Object-Oriented Concepts132
4.1.1 The Type System132
4.1.2 Classes and Objects133
4.1.3 Object Identity133
4.1.4 Methods133
4.1.5 Class Hierarchies134
4.2 Introduction to ODL135
4.2.1 Object-Oriented Design135
4.2.2 Class Declarations136
4.2.3 Attributes in ODL136
4.2.4 Relationships in ODL138
4.2.5 Inverse Relationships139
4.2.6 Multiplicity of Relationships140
4.2.7 Methods in ODL141
4.2.8 Types in ODL144
4.2.9 Exercises for Section 4.2146
4.3 Additional ODL Concepts147
4.3.1 Multiway Relationships in ODL148
4.3.2 Subclasses in ODL149
4.3.3 Multiple Inheritance in ODL150
4.3.4 Extents151
4.3.5 Declaring Keys in ODL152
4.3.6 Exercises for Section 4.3155
4.4 From ODL Designs to Relational Designs155
4.4.1 From ODL Attributes to Relational Attributes156
4.4.2 Nonatomic Attributes in Classes157
4.4.3 Representing Set-Valued Attributes158
4.4.4 Representing Other Type Constructors160
4.4.5 Representing ODL Relationships162
4.4.6 What If There Is No Key?164
4.4.7 Exercises for Section 4.4164
4.5 The Object-Relational Model166
4.5.1 From Relations to Object-Relations166
4.5.2 Nested Relations167
4.5.3 References169
4.5.4 Object-Oriented Versus Object-Relational170
4.5.5 From ODL Designs to Object-Relational Designs172
4.5.6 Exercises for Section 4.5172
4.6 Semistructured Data173
4.6.1 Motivation for the Semistructured-Data Model173
4.6.2 Semistructured Data Representation174
4.6.3 Information Integration Via Semistructured Data175
4.6.4 Exercises for Section 4.6177
4.7 XML and Its Data Model178
4.7.1 Semantic Tags178
4.7.2 Well-Formed XML179
4.7.3 Document Type Definitions180
4.7.4 Using a DTD182
4.7.5 Attribute Lists183
4.7.6 Exercises for Section 4.7185
4.8 Summary of Chapter 4186
4.9 References for Chapter 4187
5 Relational Algebra189
5.1 An Example Database Schema190
5.2 An Algebra of Relational Operations191
5.2.1 Basics of Relational Algebra192
5.2.2 Set Operations on Relations193
5.2.3 Projection195
5.2.4 Selection196
5.2.5 Cartesian Product197
5.2.6 Natural Joins198
5.2.7 Theta-Joins199
5.2.8 Combining Operations to Form Queries201
5.2.9 Renaming203
5.2.10 Dependent and Independent Operations205
5.2.11 A Linear Notation for Algebraic Expressions206
5.2.12 Exercises for Section 5.2207
5.3 Relational Operations on Bags214
5.3.1 Why Bags?214
5.3.2 Union,Intersection,and Difference of Bags215
5.3.3 Projection of Bags216
5.3.4 Selection on Bags217
5.3.5 Product of Bags218
5.3.6 Joins of Bags219
5.3.7 Exercises for Section 5.3220
5.4 Extended Operators of Relational Algebra221
5.4.1 Duplicate Elimination222
5.4.2 Aggregation Operators222
5.4.3 Grouping223
5.4.4 The Grouping Operator224
5.4.5 Extending the Projection Operator226
5.4.6 The Sorting Operator227
5.4.7 Outerjoins228
5.4.8 Exercises for Section 5.4230
5.5 Constraints on Relations231
5.5.1 Relational Algebra as a Constraint Language231
5.5.2 Referential Integrity Constraints232
5.5.3 Additional Constraint Examples233
5.5.4 Exercises for Section 5.5235
5.6 Summary of Chapter 5236
5.7 References for Chapter 5237
6 The Database Language SQL239
6.1 Simple Queries in SQL240
6.1.1 Projection in SQL242
6.1.2 Selection in SQL243
6.1.3 Comparison of Strings245
6.1.4 Dates and Times247
6.1.5 Null Values and Comparisons Involving NULL248
6.1.6 The Truth-Value UNKNOWN249
6.1.7 Ordering the Output251
6.1.8 Exercises for Section 6.1252
6.2 Queries Involving More Than One Relation254
6.2.1 Products and Joins in SQL254
6.2.2 Disambiguating Attributes255
6.2.3 Tuple Variables256
6.2.4 Interpreting Multirelation Queries258
6.2.5 Union,Intersection,and Difference of Queries260
6.2.6 Exercises for Section 6.2262
6.3 Subqueries264
6.3.1 Subqueries that Produce Scalar Values264
6.3.2 Conditions Involving Relations266
6.3.3 Conditions Involving Tuples266
6.3.4 Correlated Subqueries268
6.3.5 Subqueries in FROM Clauses270
6.3.6 SQL Join Expressions270
6.3.7 Natural Joins272
6.3.8 Outerjoins272
6.3.9 Exercises for Section 6.3274
6.4 Full-Relation Operations277
6.4.1 Eliminating Duplicates277
6.4.2 Duplicates in Unions,Intersections,and Differences278
6.4.3 Grouping and Aggregation in SQL279
6.4.4 Aggregation Operators279
6.4.5 Grouping280
6.4.6 HAVING Clauses282
6.4.7 Exercises for Section 6.4284
6.5 Database Modifications286
6.5.1 Insertion286
6.5.2 Deletion288
6.5.3 Updates289
6.5.4 Exercises for Section 6.5290
6.6 Defining a Relation Schema in SQL292
6.6.1 Data Types292
6.6.2 Simple Table Declarations293
6.6.3 Modifying Relation Schemas294
6.6.4 Default Values295
6.6.5 Indexes295
6.6.6 Introduction to Selection of Indexes297
6.6.7 Exercises for Section 6.6300
6.7 View Definitions301
6.7.1 Declaring Views302
6.7.2 Querying Views302
6.7.3 Renaming Attributes304
6.7.4 Modifying Views305
6.7.5 Interpreting Queries Involving Views308
6.7.6 Exercises for Section 6.7310
6.8 Summary of Chapter 6312
6.9 References for Chapter 6313
7 Constraints and Triggers315
7.1 Keys and Foreign Keys316
7.1.1 Declaring Primary Keys316
7.1.2 Keys Declared With UNIQUE317
7.1.3 Enforcing Key Constraints318
7.1.4 Declaring Foreign-Key Constraints319
7.1.5 Maintaining Referential Integrity321
7.1.6 Deferring the Checking of Constraints323
7.1.7 Exercises for Section 7.1326
7.2 Constraints on Attributes and Tuples327
7.2.1 Not-Null Constraints328
7.2.2 Attribute-Based CHECK Constraints328
7.2.3 Tuple-Based CHECK Constraints330
7.2.4 Exercises for Section 7.2331
7.3 Modification of Constraints333
7.3.1 Giving Names to Constraints334
7.3.2 Altering Constraints on Tables334
7.3.3 Exercises for Section 7.3335
7.4 Schema-Level Constraints and Triggers336
7.4.1 Assertions337
7.4.2 Event-Condition-Action Rules340
7.4.3 Triggers in SQL340
7.4.4 Instead-Of Triggers344
7.4.5 Exercises for Section 7.4345
7.5 Summary of Chapter 7347
7.6 References for Chapter 7348
8 System Aspects of SQL349
8.1 SQL in a Programming Environment349
8.1.1 The Impedance Mismatch Problem350
8.1.2 The SQL/Host Language Interface352
8.1.3 The DECLARE Section352
8.1.4 Using Shared Variables353
8.1.5 Single-Row Select Statements354
8.1.6 Cursors355
8.1.7 Modifications by Cursor358
8.1.8 Protecting Against Concurrent Updates360
8.1.9 Scrolling Cursors361
8.1.10 Dynamic SQL361
8.1.11 Exercises for Section 8.1363
8.2 Procedures Stored in the Schema365
8.2.1 Creating PSM Functions and Procedures365
8.2.2 Some Simple Statement Forms in PSM366
8.2.3 Branching Statements368
8.2.4 Queries in PSM369
8.2.5 Loops in PSM370
8.2.6 For-Loops372
8.2.7 Exceptions in PSM374
8.2.8 Using PSM Functions and Procedures376
8.2.9 Exercises for Section 8.2377
8.3 The SQL Environment379
8.3.1 Environments379
8.3.2 Schemas380
8.3.3 Catalogs381
8.3.4 Clients and Servers in the SQL Environment382
8.3.5 Connections382
8.3.6 Sessions384
8.3.7 Modules384
8.4 Using a Call-Level Interface385
8.4.1 Introduction to SQL/CLI385
8.4.2 Processing Statements388
8.4.3 Fetching Data From a Query Result389
8.4.4 Passing Parameters to Queries392
8.4.5 Exercises for Section 8.4393
8.5 Java Database Connectivity393
8.5.1 Introduction to JDBC393
8.5.2 Creating Statements in JDBC394
8.5.3 Cursor Operations in JDBC396
8.5.4 Parameter Passing396
8.5.5 Exercises for Section 8.5397
8.6 Transactions in SQL397
8.6.1 Serializability397
8.6.2 Atomicity399
8.6.3 Transactions401
8.6.4 Read-Only Transactions403
8.6.5 Dirty Reads405
8.6.6 Other Isolation Levels407
8.6.7 Exercises for Section 8.6409
8.7 Security and User Authorization in SQL410
8.7.1 Privileges410
8.7.2 Creating Privileges412
8.7.3 The Privilege-Checking Process413
8.7.4 Granting Privileges414
8.7.5 Grant Diagrams416
8.7.6 Revoking Privileges417
8.7.7 Exercises for Section 8.7421
8.8 Summary of Chapter 8422
8.9 References for Chapter 8424
9 Object-Orientation in Query Languages425
9.1 Introduction to OQL425
9.1.1 An Object-Oriented Movie Example426
9.1.2 Path Expressions426
9.1.3 Select-From-Where Expressions in OQL428
9.1.4 Modifying the Type of the Result429
9.1.5 Complex Output Types431
9.1.6 Subqueries431
9.1.7 Exercises for Section 9.1433
9.2 Additional Forms of OQL Expressions436
9.2.1 Quantifier Expressions437
9.2.2 Aggregation Expressions437
9.2.3 Group-By Expressions438
9.2.4 HAVING Clauses441
9.2.5 Union,Intersection,and Difference442
9.2.6 Exercises for Section 9.2442
9.3 Object Assignment and Creation in OQL443
9.3.1 Assigning Values to Host-Language Variables444
9.3.2 Extracting Elements of Collections444
9.3.3 Obtaining Each Member of a Collection445
9.3.4 Constants in OQL446
9.3.5 Creating New Objects447
9.3.6 Exercises for Section 9.3448
9.4 User-Defined Types in SQL449
9.4.1 Defining Types in SQL449
9.4.2 Methods in User-Defined Types451
9.4.3 Declaring Relations with a UDT452
9.4.4 References452
9.4.5 Exercises for Section 9.4454
9.5 Operations on Object-Relational Data455
9.5.1 Following References455
9.5.2 Accessing Attributes of Tuples with a UDT456
9.5.3 Generator and Mutator Functions457
9.5.4 Ordering Relationships on UDT’s458
9.5.5 Exercises for Section 9.5460
9.6 Summary of Chapter 9461
9.7 References for Chapter 9462
10 Logical Query Languages463
10.1 A Logic for Relations463
10.1.1 Predicates and Atoms463
10.1.2 Arithmetic Atoms464
10.1.3 Datalog Rules and Queries465
10.1.4 Meaning of Datalog Rules466
10.1.5 Extensional and Intensional Predicates469
10.1.6 Datalog Rules Applied to Bags469
10.1.7 Exercises for Section 10.1471
10.2 From Relational Algebra to Datalog471
10.2.1 Intersection471
10.2.2 Union472
10.2.3 Difference472
10.2.4 Projection473
10.2.5 Selection473
10.2.6 Product476
10.2.7 Joins476
10.2.8 Simulating Multiple Operations with Datalog477
10.2.9 Exercises for Section 10.2479
10.3 Recursive Programming in Datalog480
10.3.1 Recursive Rules481
10.3.2 Evaluating Recursive Datalog Rules481
10.3.3 Negation in Recursive Rules486
10.3.4 Exercises for Section 10.3490
10.4 Recursion in SQL492
10.4.1 Defining IDB Relations in SQL492
10.4.2 Stratified Negation494
10.4.3 Problematic Expressions in Recursive SQL496
10.4.4 Exercises for Section 10.4499
10.5 Summary of Chapter 10500
10.6 References for Chapter 10501
Index503