《a first course in database systems 数据库系统基础教程 P470》求取 ⇩

1The Worlds of Database Systems1

1.1The 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.2The 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.3The 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.4Outline of the Book20

1.4.1 Design21

1.4.2 Programming21

1.5 Summary of Chapter 122

1.6 References for Chapter 123

2Database Modeling25

2.1Introduction 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 Section 2.138

2.2Entity-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 Section 2.248

2.3Design 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 Section 2.355

2.4Subclasses57

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 Section 2.462

2.5 The Modeling of Constraints63

2.5.1Keys64

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 Section 2.571

2.6 Weak Entity Sets72

2.6.1Causes 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.1The 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.2From 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.3From 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.4Converting 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.5Functional 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.6Rules About Functional Dependencies126

3.6.1 The 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.7Design of Relational Database Schemas137

3.7.1 Anomalies138

3.7.2 Decomposing Relations138

3.7.3 Bovce-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.1Attribute 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

4Operations in the Relational Model173

4.1 An Algebra of Relational Operations173

4.1.1Set 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.1Predicates 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.1Intersection201

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.4Recursive 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.5Constraints 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.6Relational Operationg 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.7Other 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

5The Database Language SQL243

5.1Simple 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.2Queries 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.1Subqueries 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.1Eliminating Duplicates271

5.4.2 Duplicates in Unions,Intersections,and Differences271

5.4.3 Exercises for Section 5.4273

5.5 Aggregation273

5.5.1Aggregation Operators273

5.5.2 Grouping274

5.5.3 HAVING Clauses276

5.5.4 Exercises for Section 5.5277

5.6 Database Modifications279

5.6.1Insertion279

5.6.2 Deletion281

5.6.3 Updates283

5.6.4 Exercises for Section 5.6284

5.7Defining 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.8View 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.9Null 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

6Constraints and Triggers in SQL327

6.1Keys in SQL328

6.1.1 Declaring Keys328

6.1.2 Enforcing Key Constraints330

6.1.3 Exercises for Section 6.1331

6.2Referential Integrity and Foreign Keys331

6.2.1 Declaring Foreign-Key Constraints331

6.2.2 Maintaining Referential Integrity333

6.2.3 Exercises for Section 6.2335

6.3Constraints 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.4Global Constraints341

6.4.1 Tuple-Based CHECK Constraints341

6.4.2 Assertions342

6.4.3 Exercises for Section 6.4346

6.5Modification 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.6Triggers in SQL3352

6.6.1 Triggers and Constraints352

6.6.2 SQL3 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

7System Aspects of SQL361

7.1SQL 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.2Transactions 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.1Environments389

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.4Security 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

8Object-Oriented Query Languages411

8.1Query-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.2Introduction 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.1Quantifier 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.1Assigning 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.1Row 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.1Defining 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

《a first course in database systems 数据库系统基础教程 P470》由于是年代较久的资料都绝版了,几乎不可能购买到实物。如果大家为了学习确实需要,博主可为大家寻取其电子版PDF文件,如果内容合法合规可以向博主求助,我会及时受理并将完整页PDF电子档下载地址发送给你(有违法规的内容不受理)。