图书介绍

A FIRST COURSE IN DATABASE SYSTEMS SECOND EDITIONPDF|Epub|txt|kindle电子书版本网盘下载

A FIRST COURSE IN DATABASE SYSTEMS SECOND EDITION
  • [美]JEFFREY D.ULLMAN JENNIFER WIDOM著 著
  • 出版社: 机械工业出版社
  • ISBN:
  • 出版时间:2006
  • 标注页数:511页
  • 文件大小:25MB
  • 文件页数:531页
  • 主题词:

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

A FIRST COURSE IN DATABASE SYSTEMS SECOND EDITIONPDF格式电子书版下载

下载的文件为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-Denition 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 Classication 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 Section53

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 Section58

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 Section64

3.2 From E/R Diagrams to Relational Designs65

3.2.1 From Entity Sets to Relations66

3.2.2 om E/R Relationships to Relations67

3.2.3 Combining Relations70

3.2.4 Handling Weak Entity Sets71

3.2.5 Exercises for Section75

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 Section80

3.4 Functional Dependencies82

3.4.1 Denition 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 Section88

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 Section100

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 Section117

3.7 Multivalued Dependencies118

3.7.1 Attribute Independence and Its Consequent Redundancy118

3.7.2 Denition 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 Section126

3.8 Summary of Chapter127

3.9 References for Chapter129

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 Section146

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 Relation Designs155

4.4.1 From ODL Attributes to Relation 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-Relation170

4.5.5 From ODL Designs to Object-Relation 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 Section177

4.7 XML and Its Data Model178

4.7.1 Semantic Tags178

4.7.2 Well-Formed XML179

4.7.3 Document Type Denitions180

4.7.4 Using a DTD182

4.7.5 Attribute Lists183

4.7.6 Exercises for Section185

4.8 Summary of Chapter186

4.9 References for Chapter 4187

5 Relational Algebra189

5.1 An Example Databe 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 Section207

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 Section220

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 Section230

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 Section235

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 Section252

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 Dierence of Queries260

6.2.6 Exercises for Section262

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 Dierences278

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 Section284

6.5 Database Modications286

6.5.1 Insertion286

6.5.2 Deletion288

6.5.3 Updates289

6.5.4 Exercises for Section 6.5290

6.6 Dening 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 Section300

6.7 View Denitions301

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 Modication 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 Modications by Cursor358

8.1.8 Protecting Against Concurrent Updates360

8.1.9 Scrolling Cursors361

8.1.10 Dynamic SQL361

8.1.11 Exercises for Section363

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 Section377

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 Section409

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 Section421

8.8 Summary of Chapter422

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 Quantier Expressions437

9.2.2 Aggregation Expressions437

9.2.3 Group-By Expressions438

9.2.4 HAVING Clauses441

9.2.5 Union, Intersection, and Dierence442

9.2.6 Exercises for Section442

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-Dened Types in SQL449

9.4.1 Dening Types in SQL449

9.4.2 Methods in User-Dened Types451

9.4.3 Declaring Relations with a UDT452

9.4.4 References452

9.4.5 Exercises for Section454

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 UDTs458

9.5.5 Exercises for Section460

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 Section471

10.2 from Relational Algebra to Datalog471

10.2.1 Intersection471

10.2.2 Union472

10.2.3 Dierence472

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 Section479

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 Section490

10.4 Recursion in SQL492

10.4.1 Dening IDB Relations in SQL492

10.4.2 Stratied Negation494

10.4.3 Problematic Expressions in Recursive SQL496

10.4.4 Exercises for Section 10.4499

10.5 Summary of Chapter500

10.6 References for Chapter501

Index503

热门推荐