《DATABASES,TYPES,AND THE RELATIONAL MODEL (THIRD EDITION)》PDF下载

  • 购买积分:17 如何计算积分?
  • 作  者:[英]C.J.DATE HUGH DARWEN著
  • 出 版 社:机械工业出版社
  • 出版年份:2007
  • ISBN:
  • 页数:556 页
图书介绍:

PART Ⅰ PRELIMINARIES 1

Chapter 1 Background and Overview 3

The Third Manifesto 4

Back to the relational future 8

Some guiding principles 10

Some crucial logical differences 11

Concluding remarks 13

Exercises 14

Chapter 2 A Survey of the Relational Model 17

The running example 17

Tuples 19

Relations 21

Relation variables 24

Relvars, relations, and predicates 28

Integrity constraints 32

Relational operators 34

Virtual relvars 46

The relational model 47

Exercises 48

Chapter 3 Toward a Theory of Types 55

Values are typed 57

Types vs. representations 60

Scalar vs. nonscalar types 60

Possible representations 61

Selectors and THE_ operators 62

System-defined types 68

Operators 69

Type generators 73

Concluding remarks 75

Exercises 75

PART Ⅱ FORMAL SPECIFICATIONS 79

Chapter 4 The Third Manifesto 81

RM Prescriptions 81

RM Proscriptions 88

OO Prescriptions 88

OO Proscriptions 89

RM Very Strong Suggestions 89

OO Very Strong Suggestions 90

Recent Manifesto changes 90

Chapter 5 Tutorial D 93

Common constructs 96

Scalar definitions 98

Tuple definitions 100

Relational definitions 101

Scalar operations 102

Tuple operations 105

Relational operations 110

Relations and arrays 117

Statements 118

Recent language changes 120

A remark on syntax 122

Exercises 123

PART Ⅲ INFORMAL DISCUSSIONS AND EXPLANATIONS 127

Chapter 6 RM Prescriptions 129

RM Prescription1: Scalar types 129

RM Prescription 2: Scalar values are typed 132

RM Prescription 3: Read-only vs. update operators 133

RM Prescription 4: Physical vs. possible representations 139

RM Prescription 5: Expose possible representations 144

RM Prescription 6: Type generator TUPLE 147

RM Prescription 7: Type generator RELATION 152

RM Prescription 8: Equality 155

RM Prescription 9: Tuples 157

RM Prescription 10: Relations 158

RM Prescription 11: Scalar variables 159

RM Prescription 12: Tuple variables 160

RM Prescription 13: Relation variables (relvars) 161

RM Prescription 14: Kinds of relvars 162

RM Prescription 15: Candidate keys 165

RM Prescription 16: Databases 166

RM Prescription 17: Transactions 167

RM Prescription 18: Relational algebra 167

RM Prescription 19: Relvar names, relation selectors, and recursion 172

RM Prescription 20: User-defined tuple and relational operators 176

RM Prescription 21: Assignments 177

RM Prescription 22: Comparisons 180

RM Prescription 23: Integrity constraints 181

RM Prescription 24: Total database constraints 186

RM Prescription 25: Catalog 187

RM Prescription 26: Language design 187

Exercises 188

Chapter 7 RM Proscriptions 191

RM Proscription 1: No attribute ordering 191

RM Proscription 2: No tuple ordering 193

RM Proscription 3: No duplicate tuples 193

RM Proscription 4: No nulls 193

RM Proscription 5: No nullological mistakes 194

RM Proscription 6: No internal-level constructs 194

RM Proscription 7: No tuple-level operations 195

RM Proscription 8: No composite attributes 196

RM Proscription 9: No domain check override 196

RM Proscription 10: Not SQL 196

Exercises 197

Chapter 8 OO Prescriptions 199

OO Prescription 1: Compile-time type checking 199

OO Prescription 2: Type inheritance (conditional) 199

OO Prescription 3: Computational completeness 200

OO Prescription 4: Explicit transaction boundaries 201

OO Prescription 5: Nested transactions 202

OO Prescription 6: Aggregate operators and empty sets 203

Exercises 204

Chapter 9 OO Proscriptions 205

OO Proscription1: Relvars are not domains 205

OO Proscription 2: No object IDs 209

Exercises 212

Chapter 10 RM Very Strong Suggestions 215

RM Very Strong Suggestion 1: System keys 215

RM Very Strong Suggestion 2: Foreign keys 218

RM Very Strong Suggestion 3: Candidate key inference 219

RM Very Strong Suggestion 4: Transition constraints 220

RM Very Strong Suggestion 5: Quota queries 221

RM Very Strong Suggestion 6: Generalized transitive closure 223

RM Very Strong Suggestion 7: User-defined generic operators 226

RM Very Strong Suggestion 8: SQL migration 227

Exercises 238

Chapter 11 OO Very Strong Suggestions 241

OO Very Strong Suggestion 1: Type inheritance 241

OO Very Strong Suggestion 2: Types and operators unbundled 241

OO Very Strong Suggestion 3: Single-level store 242

Exercises 243

PART Ⅳ SUBTYPEING AND INHERITANCE 245

Chapter 12 Preliminaries 247

Toward a type inheritance model 248

Single vs. multiple inheritance 249

Scalars, tuples, and relations 249

The running example 250

Concluding remarks 258

Exercises 259

Chapter 13 The Inheritance Model 261

IM Prescriptions 261

Recent inheritance model changes 267

Chapter 14 Single Inheritance with Scalar Types 269

IM Prescription 1: Types are sets 269

IM Prescription 2: Subtypes are subsets 269

IM Prescription 3: "Subtype of" is reflexive 271

IM Prescription 4: Proper subtypes 272

IM Prescription 5: "Subtype of" is transitive 272

IM Prescription 6: Immediate subtypes 272

IM Prescription 7: Root types disjoint 273

IM Prescription 8: Scalar values with inheritance 273

IM Prescription 9: Scalar variables with inheritance 274

IM Prescription 10: Specialization by constraint 279

IM Prescription 11: Assignment with inheritance 282

IM Prescription 12: Equality etc. with inheritance 285

IM Prescription 13: Join etc. with inheritance 286

IM Prescription 14: TREAT 288

IM Prescription 15: Type testing 292

IM Prescription 16: Read-only operator inheritance and value substitutability 295

IM Prescription 17: Operator signatures 298

IM Prescription 18: Read-only parameters to update operators 305

IM Prescription 19: Update operator inheritance and variable substitutability 305

IM Prescription 20: Union, dummy, and maximal and minimal types 309

Exercises 315

Chapter 15 Multiple Inheritance with Scalar Types 317

An introductory example 317

Type graphs 323

Least specific types unique 325

Most specific types unique 326

Remarks on operator inheritance 333

Exercises 334

Chapter 16 Inheritance with Tuple and Relation Types 337

IM Prescription 21: Tuple/relation subtypes and supertypes 337

IM Prescription 22: Tuple/relation values with inheritance 341

IM Prescription 23: Maximal and minimal tuple/relation types 343

IM Prescription 24: Tuple/relation most specific types 346

IM Prescription 25: Tuple/relation variables with inheritance 351

Some implications of IM Prescriptions 21-25 353

Exercises 357

APPENDIXES 359

Appendix A A New Relational Algebra 361

Motivation and justification 361

REMOVE, RENAME, and COMPOSE 364

Treating operators as relations 366

Formal definitions 369

How Tutorial D builds on A 371

Appendix B A Design Dilemma? 377

Encapsulation 377

Discussion 378

Further considerations 379

Appendix C Types and Units 381

Type definition 381

Selectors 382

THE operators 383

Computational operators 384

Display operators 385

Type constraints 386

A more complex example 386

Appendix D What Is a Database? 389

Updating the database 389

Databases vs. tuples 390

Appendix E View Updating 393

Date's appoach 393

Assumptions and notation 394

A closer look at relational assignment 395

A model of updating 398

A closer look at constraints 399

Updating restrictions 403

Updating intersections 405

Updating unions 408

Updating differences 410

Nested updates 412

Updating extensions 417

Updating joins 418

Updating projections 424

Some remarks on orthogonality 428

A remark on multiple assignment 430

Summary 431

Darwen's approach 432

Appendix F A Closer Look at Specialization by Constraint 443

The 3 out of 4 "rule" 443

What does inheritance really mean? 448

Benefits of S by C 449

What about objects? 452

Implementation considerations 455

Appendix G A Closer Look at Structural Inheritance 461

An introductory example 461

Tuple types, values, and variables 463

Subtables and supertables 467

Scalar types revisited 471

Structural inheritance with fewer tears 472

Appendix H A Comparison with SQL 479

RM Prescriptions 480

RM Proscriptions 490

OO Prescriptions 491

OO Proscriptions 492

RM Very Strong Suggestions 493

OO Very Strong Suggestions 493

IM Prescriptions 494

Appendix I A Grammar for Tutorial D 499

Appendix J References and Bibliography 513

Index 545