图书介绍
数据库系统基础教程PDF|Epub|txt|kindle电子书版本网盘下载
![数据库系统基础教程](https://www.shukui.net/cover/42/31181017.jpg)
- (美)(J.D.厄尔曼)(JeffreyD.Ullman),(美)(J.维多姆)(JenniferWidom)著 著
- 出版社: 北京:清华大学出版社
- ISBN:730202829X
- 出版时间:1998
- 标注页数:470页
- 文件大小:15MB
- 文件页数:488页
- 主题词:
PDF下载
下载说明
数据库系统基础教程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 Systems1
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 Systems5
1.2 The Architecture of a DBMS7
1.2.1 Overview of DBMS Components7
1.2.2 The Storage Manager9
1.2.3 The Query Manager10
1.2.4 The Transaction Manager11
1.2.5 Client-Server Architecture14
1.3 The Future of Database Systems14
1.3.1 Types,Classes,and Objects14
1.3.2 Constraints and Triggers18
1.3.3 Multimedia Data18
1.3.4 Data Integration19
1.4 Outline of the Book20
1.4.1 Design21
1.4.2 Programming21
1.5 Summary of Chapter122
1.6 References for Chapter 123
2 Database Modeling25
2.1 Introduction to ODL26
2.1.1 Object-Oriented Design27
2.1.2 Interface Declarations29
2.1.3 Attributes in ODL29
2.1.4 Relationships in ODL30
2.1.5 Inverse Relationships31
2.1.6 Multiplicity of Relationships33
2.1.7 Types in ODL36
2.1.8 Exercises for Section2.138
2.2 Entity-Relationship Diagrams40
2.2.1 Multiplicity of E/R Relationships41
2.2.2 Multiway Relationships42
2.2.3 Roles in Relationships43
2.2.4 Attributes on Relationships45
2.2.5 Converting Multiway Relationships to Binary46
2.2.6 Exercises for Section2.248
2.3 Design Principles50
2.3.1 Faithfulness50
2.3.2 Avoiding Redundancy51
2.3.3 Simplicity Counts51
2.3.4 Picking the Right Kind of Element52
2.3.5 Exercises for Section2.355
2.4 Subclasses57
2.4.1 Subclasses in ODL57
2.4.2 Multiple Inheritance in ODL58
2.4.3 Subclasses in Entity-Relationship Diagrams60
2.4.4 Inheritance in the E/R Model60
2.4.5 Exercises for Section2.462
2.5 The Modeling of Constraints63
2.5.1 Keys64
2.5.2 Declaring Keys in ODL66
2.5.3 Representing Keys in the E/R Model67
2.5.4 Single-Value Constraints67
2.5.5 Referential Integrity68
2.5.6 Referential Integrity in E/R Diagrams69
2.5.7 Other Kinds of Constraints70
2.5.8 Exercises for Section2.571
2.6 Weak Entity Sets72
2.6.1 Causes of Weak Entity Sets72
2.6.2 Requirements for Weak Entity Sets73
2.6.3 Weak Entity Set Notation75
2.6.4 Exercises for Section 2.676
2.7 Models of Historical Interest77
2.7.1 The Network Model77
2.7.2 Representing Network Schemas78
2.7.3 The Hierarchical Model79
2.7.4 Exercises for Section 2.780
2.8 Summary of Chapter 282
2.9 References for Chapter 283
3 The Relational Data Model85
3.1 Basics of the Relational Model85
3.1.1 Attributes86
3.1.2 Schemas86
3.1.3 Tuples87
3.1.4 Domains87
3.1.5 Equivalent Representations of a Relation88
3.1.6 Relation Instances89
3.1.7 Exercises for Section 3.190
3.2 Form ODL Designs to Relational Designs91
3.2.1 From ODL Attributes to Relational Attributes92
3.2.2 Nonatomic Attributes in Classes92
3.2.3 Representing Other Type Constructors96
3.2.4 Representing Single-Valued Relationships97
3.2.5 Representing Multivalued Relationships99
3.2.6 What If There Is No Key?100
3.2.7 Representing a Relationship and Its Inverse101
3.2.8 Exercises for Section 3.2102
3.3 From E/R Diagrams to Relational Designs103
3.3.1 From Entity Sets to Relations104
3.3.2 From E/R Relationships to Relations106
3.3.3 Handling Weak Entity Sets108
3.3.4 Exercises for Section 3.3111
3.4 Converting Subclass Structures to Relations112
3.4.1 Relational Representation of ODL Subclasses113
3.4.2 Representing Isa in the Relational Model114
3.4.3 Comparison of Approaches115
3.4.4 Using Null Values to Combine Relations115
3.4.5 Exercises for Section 3.4116
3.5 Functional Dependencies118
3.5.1 Definition of Functional Dependency118
3.5.2 Keys of Relations121
3.5.3 Superkeys122
3.5.4 Discovering Keys for Relations122
3.5.5 Keys for Relations Derived from ODL124
3.5.6 Exercises for Section 3.5126
3.6 Rules About Functional Dependencies126
3.6.1The Splitting/Combining Rule127
3.6.2 Trivial Dependencies128
3.6.3 Computing the Closure of Attributes129
3.6.4 The Transitive Rule132
3.6.5 Closing Sets of Functional Dependencies134
3.6.6 Exercises for Section 3.6135
3.7 Design of Relational Database Schemas137
3.7.1 Anomalies138
3.7.2 Decomposing Relations138
3.7.3 Boyce-Codd Normal Form140
3.7.4 Decomposition into BCNF142
3.7.5 Projecting Functional Dependencies147
3.7.6 Recovering Information from a Decomposition148
3.7.7 Third Normal Form151
3.7.8 Exercises for Section 3.7154
3.8 Multivalued Dependencies155
3.8.1 Attribute Independence and Its Consequent Redundancy156
3.8.2 Definition of Multivalued Dependencies157
3.8.3 Reasoning About Multivalued Dependencies159
3.8.4 Fourth Normal Form161
3.8.5 Decomposition into Fourth Normal Form162
3.8.6 Relationships Among Normal Forms163
3.8.7 Exercises for Section 3.8164
3.9 An Example Database Schema166
3.10 Summary of Chapter 3169
3.11 References for Chapter 3171
4 Operations in the Relational Model173
4.1 An Algebra of Relational Operations173
4.1.1 Set Operations on Relations174
4.1.2 Projection176
4.1.3 Selection177
4.1.4 Cartesian Product178
4.1.5 Natural Joins179
4.1.6 Theta-Joins180
4.1.7 Combining Operations to Form Queries182
4.1.8 Renaming185
4.1.9 Dependent and Independent Operations185
4.1.10 Exercises for Section 4.1187
4.2 A Logic for Relations194
4.2.1 Predicates and Atoms194
4.2.2 Arithmetic Atoms195
4.2.3 Datalog Rules and Queries196
4.2.4 Meaning of Datalog Rules197
4.2.5 Extensional and Intensional Predicates200
4.2.6 Exercises for Section 4.2200
4.3 From Relational Algebra to Datalog201
4.3.1 Intersection201
4.3.2 Union201
4.3.3 Difference202
4.3.4 Projection202
4.3.5 Selection203
4.3.6 Product205
4.3.7 Joins205
4.3.8 Simulating Multiple Operations with Datalog207
4.3.9 Exercises for Section 4.3208
4.4 Recursive Programming in Datalog209
4.4.1 The Fixedpoint Operator211
4.4.2 Computing the Least Fixedpoint211
4.4.3 Fixedpoint Equations in Datalog213
4.4.4 Negation in Recursive Rules218
4.4.5 Exercises for Section 4.4221
4.5 Constraints on Relations223
4.5.1 Relational Algebra as a Constraint Language223
4.5.2 Referential Integrity Constraints224
4.5.3 Additional Constraint Examples225
4.5.4 Exercises for Section 4.5227
4.6 Relational Operations on Bags229
4.6.1 Why Bags?229
4.6.2 Union,Intersection,and Difference of Bags230
4.6.3 Projection of Bags232
4.6.4 Selection on Bags233
4.6.5 Product of Bags234
4.6.6 Joins of Bags235
4.6.7 Datalog Rules Applied to Bags235
4.6.8 Exercises for Section 4.6237
4.7 Other Extensions to the Relational Model238
4.7.1 Modifications238
4.7.2 Aggregations238
4.7.3 Views239
4.7.4 Null Values239
4.8 Summary of Chapter 4240
4.9 References for Chapter 4241
5 The Database Language SQL243
5.1 Simple Queries in SQL244
5.1.1 Projection in SQL245
5.1.2 Selection in SQL247
5.1.3 Comparison of Strings248
5.1.4 Comparing Dates and Times251
5.1.5 Ordering the Output251
5.1.6 Exercises for Section 5.1252
5.2 Queries Involving More than One Relation254
5.2.1 Products and Joins in SQL254
5.2.2 Disambiguating Attributes255
5.2.3 Tuple Variables256
5.2.4 Interpreting Multirelation Queries257
5.2.5 Union,Intersection ,and Difference of Queries260
5.2.6 Exercises for Section 5.2262
5.3 Subqueries263
5.3.1 Subqueries that Produce Scalar Values264
5.3.2 Conditions Involving Relations265
5.3.3 Conditions Involving Tuples266
5.3.4 Correlated Subqueries267
5.3.5 Exercises for Section 5.3269
5.4 Duplicates270
5.4.1 Eliminating Duplicates271
5.4.2 Duplicates in Unions ,Intersections,and Differences271
5.4.3 Exercises for Section 5.4273
5.5 Aggregation273
5.5.1 Aggregation Operators273
5.5.2 Grouping274
5.5.3 HAVING Clauses276
5.5.4 Exercises for Section5.5277
5.6 Database Modifications279
5.6.1 Insertion279
5.6.2 Deletion281
5.6.3 Updates283
5.6.4 Exercises for Section 5.6284
5.7 Defining a Relation Schema in SQL285
5.7.1 Data Types286
5.7.2 Simple Table Declarations286
5.7.3 Deleting Tables287
5.7.4 Modifying Relation Schemas288
5.7.5 Default Values288
5.7.6 Domains289
5.7.7 Indexes290
5.7.8 Exercises for Section 5.7292
5.8 View Definitions294
5.8.1 Declaring Views294
5.8.2 Querying Views295
5.8.3 Renaming Attributes297
5.8.4 Modifying Views297
5.8.5 Interpreting Queries Involving Views300
5.8.6 Exercises for Section 5.8303
5.9 Null Values and Outerjoins304
5.9.1 Operations on Nulls304
5.9.2 The Truth-Value UNKNOWN306
5.9.3 SQL2 Join Expressions307
5.9.4 Natural Joins309
5.9.5 Outerjoins309
5.9.6 Exercises for Section 5.9311
5.10 Recursion in SQL3313
5.10.1 Defining IDB Relations in SQL3313
5.10.2 Linear Recursion316
5.10.3 Use of Views in With-Statements317
5.10.4 Stratified Negation318
5.10.5 Problematic Expressions in Recursive SQL3319
5.10.6 Exercises for Section 5.10322
5.11 Summary of Chapter 5324
5.12 References for Chapter 5326
6 Constraints and Triggers in SQL327
6.1 Keys in SQL328
6.1.1 Declaring Keys328
6.1.2 Enforcing Key Constraints330
6.1.3 Exercises for Section 6.1331
6.2 Referential Integrity and Foreign Keys331
6.2.1 Declaring Foreingn-Key Constraints331
6.2.2 Maintaining Referential Integrity333
6.2.3 Exercises for Section 6.2335
6.3 Constraints on the Values of Attributes336
6.3.1 Not-Null Constraints337
6.3.2 Attribute-Based CHECK Constraints337
6.3.3 Domain Constraints339
6.3.4 Exercises for Section 6.3340
6.4 Global Constraints341
6.4.1 Tuple-Based CHECK Constraints341
6.4.2 Assertions342
6.4.3 Exercises for Section 6.4346
6.5 Modification of Constraints348
6.5.1 Giving Names to Constraints348
6.5.2 Altering Constraints on Tables349
6.5.3 Altering Domain Constraints350
6.5.4 Altering Assertions351
6.5.5 Exercises for Section 6.5351
6.6 Triggers in SQL3352
6.6.1 Triggers and Constraints352
6.6.2 SQL 3 Triggers353
6.6.3 Assertions in SQL3356
6.6.4 Exercises for Section 6.6357
6.7 Summary of Chapter 6359
6.8 References for Chapter 6360
7 System Aspects of SQL361
7.1 SQL in a Programming Environment361
7.1.1 The Impedance Mismatch Problem362
7.1.2 The SQL/Host Language Interface363
7.1.3 The DECLARE Section364
7.1.4 Using Shared Variables365
7.1.5 Single-Row Select Statements366
7.1.6 Cursors367
7.1.7 Modifications by Cursor370
7.1.8 Cursor Options370
7.1.9 Ordering Tuples for Fetching371
7.1.10 Protecting Against Concurrent Updates372
7.1.11 Scrolling Cursors373
7.1.12 Dynamic SQL374
7.1.13 Exercises for Section 7.1375
7.2 Transactions in SQL378
7.2.1 Serializability378
7.2.2 Atomicity380
7.2.3 Transactions382
7.2.4 Read-Only Transactions384
7.2.5 Dirty Reads385
7.2.6 Other Isolation Levels387
7.2.7 Exercises for Section 7.2388
7.3 The SQL Environment389
7.3.1 Environments389
7.3.2 Schemas391
7.3.3 Catalogs392
7.3.4 Clients and Servers in the SQL Environment392
7.3.5 Connections393
7.3.6 Sessions394
7.3.7 Modules395
7.4 S?curity and User Authorization in SQL2395
7.4.1 Privileges396
7.4.2 Creating Privileges397
7.4.3 The Privilege-Checking Process398
7.4.4 Granting Privileges399
7.4.5 Grant Diagrams401
7.4.6 Revoking Privileges402
7.4.7 Exercises for Section 7.4407
7.5 Summary of Chapter 7408
7.6 References for Chapter 7410
8 Object-Oriented Query Languages411
8.1 Query-Related Features of ODL412
8.1.1 Operations on ODL Objects412
8.1.2 Declaring Method Signatures in ODL412
8.1.3 The Extent of a Class415
8.1.4 Exercises for Section 8.1415
8.2 Introduction to OQL417
8.2.1 An Object-Oriented Movie Example419
8.2.2 The OQL Type System419
8.2.3 Path Expressions420
8.2.4 Select-From-Where Expressions in OQL421
8.2.5 Eliminating Duplicates423
8.2.6 Complex Output Types423
8.2.7 Subqueries424
8.2.8 Ordering the Result425
8.2.9 Exercises for Section 8.2426
8.3 Additional Forms of OQL Expressions427
8.3.1 Ouantifier Expressions427
8.3.2 Aggregation Expressions428
8.3.3 Group-By Expressions428
8.3.4 HAVING Clauses431
8.3.5 Set Operators432
8.3.6 Exercises for Section 8.3433
8.4 Object Assignment and Creation in OQL434
8.4.1 Assigning Values to Host-Language Variables434
8.4.2 Extracting Elements of Collections434
8.4.3 Obtaining Each Member of a Collection435
8.4.4 Creating New Objects436
8.4.5 Exercises for Section 8.4438
8.5 Tuple Objects in SQL3439
8.5.1 Row Types439
8.5.2 Declaring Relations with a Row Type440
8.5.3 Accessing Components of a Row Type441
8.5.4 References441
8.5.5 Following References442
8.5.6 Scopes of References444
8.5.7 Object Identifiers as Values445
8.5.8 Exercises for Section 8.5448
8.6 Abstract Data Types in SQL3449
8.6.1 Defining ADT s450
8.6.2 Defining Methods for ADT s453
8.6.3 External Functions456
8.6.4 Exercises for Section 8.6456
8.7 A Comparison of the ODL/OQL and SQL3 Approaches458
8.8 Summary of Chapter 8459
8.9 References for Chapter 8460
Index463