《数据库系统基础教程》求取 ⇩

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.1Basics 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

1998《数据库系统基础教程》由于是年代较久的资料都绝版了,几乎不可能购买到实物。如果大家为了学习确实需要,可向博主求助其电子版PDF文件(由(美)(J.D.厄尔曼)(JeffreyD.Ullman), 1998 北京:清华大学出版社 出版的版本) 。对合法合规的求助,我会当即受理并将下载地址发送给你。

高度相关资料

趣谈足球赛事(1987 PDF版)
趣谈足球赛事
1987 天津:天津教育出版社
a first course in database systems 数据库系统基础教程 P470( PDF版)
a first course in database systems 数据库系统基础教程 P470
ORACLE数据库系统——基础与工具( PDF版)
ORACLE数据库系统——基础与工具
数据库系统教程( PDF版)
数据库系统教程
国外石膏建筑制品的生产(1975 PDF版)
国外石膏建筑制品的生产
1975
ORACLE5.10版关系数据库系统教程(1990 PDF版)
ORACLE5.10版关系数据库系统教程
1990 中国科学院希望高级电脑技术公司
ORACLE5.10版关系数据库系统教程(1990 PDF版)
ORACLE5.10版关系数据库系统教程
1990 中国科学院希望高级电脑技术公司
数据库基础教程 dBASEⅢ·FoxBASE·FoxPro(1996 PDF版)
数据库基础教程 dBASEⅢ·FoxBASE·FoxPro
1996 北京:电子工业出版社
数据库系统教程(1995 PDF版)
数据库系统教程
1995 天津:南开大学出版社
ORACLE数据库系统实用教程(1993 PDF版)
ORACLE数据库系统实用教程
1993 上海:上海科学普及出版社
数据库基础(1997 PDF版)
数据库基础
1997 北京:气象出版社
Sybase数据库系统基础知识(1998 PDF版)
Sybase数据库系统基础知识
1998 北京:中国水利水电出版社
FoxBASE+关系数据库基础(1998 PDF版)
FoxBASE+关系数据库基础
1998 北京:人民邮电出版社
数据库系统教程(1999 PDF版)
数据库系统教程
1999 北京:高等教育出版社
ORACLE数据库系统-基础与工具(1999 PDF版)
ORACLE数据库系统-基础与工具
1999 北京:人民邮电出版社