书籍详情
数据库、类型和关系模型(英文版·第3版)
作者:(英)戴特(Date,C.J.) 等著
出版社:机械工业出版社
出版时间:2007-01-01
ISBN:9787111201687
定价:¥65.00
购买这本书可以去
内容简介
《数据库.类型和关系模型(英文版 第3版)》指出了数据和数据库管理系统未来的发展方向,对抽象数据模型给出了一种精确的、正规的定义。这种定义被认为是DBMS和数据库语言的基础。这一基本概念的提出虽然不是一项颠覆性的变革,但它代表了一个发展阶段。它建立在Ted Codd数据关系模型和Codd研究成果的基础上,包含了对数据类型定义方法的精确而全面的规范。因此,《数据库.类型和关系模型(英文版 第3版)》不仅重新定义了关系模型,在必要的地方做了解释,而且还提出了关系模型所依赖的数据类型的正交问题。《数据库.类型和关系模型(英文版 第3版)》为DBMS未来的发展奠定了坚实的基础,是学习数据库的学生和相关专业人员的必要读物。
作者简介
C.J.Date,1962年、1966年在英国剑桥大学获得数学学士、硕士学位,1994年在英国Moritfort大学获得博士学位。他是关系数据库系统方面非常著名的独立撰稿人、学者、研究者和顾问,是最早认识到Codd在关系模型方面所做的开创性贡献的学者之一,参与了IBM产品(SQL/DS和DB 2)的技术规划。Date发表了300多篇数据库方面的技术性文章和研究论文,对数据库理论的发展做出了巨大的贡献。特别是《数据库系统导论》一书,这是数据库领域的标准教材,已在全球发行了近75万册。Hugh Darwen 1967-2004年间一直在IBM软件开发中心工作。在他职业生涯的早期阶段,他参与了DBMS的研究与开发。在1978—1982年间,他是IBM Business System 12的主要架构师之一。从1988年起。他是SOL国际标准制订工作的积极参与者。他是一位学者,同时也是英国Warwick大学和Open大学的课程开发顾问。
目录
Preface . vii
PART I PRELIMINARIES
Chapter 1 Background and Overview
The Third Manifesto
Back to the relational future
Some guiding principles
Some crucial logical differences
Concluding remarks
Exercises
Chapter 2 A Survey of the Relational Model
The running example
Tuples
Relations
Relation variables
Relvars, relations, and predicates
Integrity constraints
Relational operators
Virtual relvars
The relational model
Exercises
Chapter 3 Toward a Theory of Types
Values are typed
Types vs. representations
Scalar vs. nonsealar types
Possible representations
Selectors and THE_ operators
System-defined types
Operators
Type generators
Concluding remarks
Exercises
PART II FORMAL SPECIFICATIONS
Chapter 4 The Third Manifesto
RM Prescriptions
RM Proscriptions
OO Prescriptions
OO Proscriptions
RM Very Strong Suggestions
OO Very Strong Suggestions
Recent Manifesto changes
Chapter 5 Tutorial D
Common constructs
Scalar definitions
Tuple definitions
Relational definitions
S alara operations
Tuple operations
Relational operations
Relations and arrays
Statements
Recent language changes
A remark on syntax
Exercises
PART III INFORMAL DISCUSSIONS AND EXPLANATIONS
Chapter 6 RM Prescriptions
RM Prescription 1: Scalar types
RM Pres ription 2: Scalar values are typed
RM Pres ription 3: Read-only vs. update operators
RM Pres ription 4: Physical vs. possible representations
RM Pres ription 5: Expose possible representations
RM Pres ription 6: Type generator TUPLE
RM Pres ription 7: Type generator RELATION
RM Pres ription 8: Equality
RM Pres ription 9: Tuples
RM Pres ription 10: Relations
RM Pres ription 11: Scalar variables
RM Pres ription 12: Tuple variables
RM Pres ription 13: Relation variables (relvars)
RM Pres ription 14: Kinds of relvars
RM Pres ription 15: Candidate keys
RM Pres ription 16: Databases
RM Pres ription 17: Transa tions
RM Pres ription 18: Relational algebra
RM Pres ription 19: Relvar names, relation selectors, and recursion
RM Pres ription 20: User-defined tuple and relational operators
RM Pres ription 21: Assignments
RM Pres ription 22: Comparisons
RM Pres ription 23: Integrity constraints
RM Pres ription 24: Total database constraints
RM Pres ription 25: Catalog
RM Pres ription 26: Language design
Exercises
Chapter 7 RM Proscriptions
RM Proscription 1: No attribute ordering
RM Proscription 2: No tuple ordering
RM Proscription 3: No duplicate tuples
RM Proscription 4: No nulls
RM Proscription 5: No nullologi at mistakes
RM Proscription 6: No internal-level constru ts
RM Prosciption 7: No tuple-level coperations
RM Proscription 8: No composite attributes
RM Proscription 9: No domain check override
RM Proscription 10: Not SQL
Exercises
Chapter 8 OO Prescriptions
OO Prescription 1: Compile-time type checking
OO Prescription 2: Type inheritance (conditional)
OO Prescription 3: Computational completeness
OO Prescription 4: Explicit transaction boundaries
OO Prescription 5: Nested transactions
OO Prescription 6: Aggregate operators and empty sets
Exercises
Chapter 9 OO Proscriptions
OO Proscription 1: Relvars are not domains
OO Proscription 2: No object IDs
Exercises
Chapter 10 RM Very Strong Suggestions
RM Very Strong Suggestion 1: System keys
RM Very Strong Suggestion 2: Foreign keys
RM Very Strong Suggestion 3: Candidate key inferen e
RM Very Strong Suggestion 4: Transition constraints
RM Very Strong Suggestion 5: Quota queries
RM Very Strong Suggestion 6: Generalized transitive closure
RM Very Strong Suggestion 7: User-defined generi operators
RM Very Strong Suggestion 8: SQL migration
Exercises ..
Chapter 11 OO Very Strong Suggestions
OO Very Strong Suggestion 1: Type inheritance
OO Very Strong Suggestion 2: Types and operators unbundled
OO Very Strong Suggestion 3: Single-level store
Exercises
PART IV SUBTYPING AND INHERITANCE
Chapter 12 Preliminaries
Toward a type inheritance model
Single vs. multiple inheritance
Scalars, tuples, and relations
The running example
Concluding remarks
Exercises
Chapter 13 The Inheritan e Model
IM Prescriptions
Recent inheritan e model changes
Chapter 14 Single Inheritan e with Scalar Types
IM Prescription 1: Types are sets
IM Prescription 2: Subtypes are subsets
IM Prescription 3: "Subtype of" is reflexive
IM Prescription 4: Proper subtypes
IM Prescription 5: "Subtype of" is transitive
IM Prescription 6: Immediate subtypes
IM Prescription 7: Root types disjoint
IM Prescription 8: Scalar values with inheritance
IM Prescription 9: Scalar variables With inheritance
IM Prescription 10: Specialization by constraint
IM Prescription 11: Assignment with inheritance
IM Prescription 12: Bquality etc . with inheritance
IM Prescription 13: Join etc . with inheritanc e
IM Prescription 14: TREAT
IM Prescription 15: Type testing
IM Prescription 16: Read-only operator inheritanc e and value substitutability
IM Prescription 17: Operator signatures
IM Prescription 18: Read-only parameters to update operators
IM Prescription 19: Update operator inheritan e and variable substitutability
IM Prescription 20: Union, dummy, and maximal and minimal types
Exerc ises
Chapter 15 Multiple Inheritance with Scalar Types
An introductory example
Type graphs
Least specifi types unique
Most specifi types unique
Remarks on operator inheritance
Exercises
Chapter 16 Inheritance with Tuple and Relation Types
IM Prescription 21: Tuple/relation subtypes and supertypes
IM Prescription 22: Tuple/relation values with inheritance
IM Prescription 23: Maximal and minimal tuple/relation types
IM Prescription 24: Tuple/relation most spe ifi types
IM Prescription 25: Tuple/relation variables with inheritance
Some implications of IM Prescriptions 21-25
Exercises
APPENDIXES
Appendix A A New Relational Algebra
Motivation and justification
REMOVE, RENAME, and COMPOSE
Treating operators as relations
Formal definitions
How Tutorial D builds on A
Appendix B A Design Dilemma?
Encapsulation
Discussion
Further considerations
Appendix C Types and Units
Type definition
Selectors
THE_ operators
Computational operators
Display operators
Type constraints
A more complex example
Appendix D What Is a Database?
Updating the database
Databases vs. tuples
Appendix E View Updating
Date's appoa h
Assumptions and notation
A loser look at relational assignment
A model of updating
A loser look at constraints
Updating restrictions
Updating intersections
Updating unions
Updating differences
Nested updates
Updating extensions
Updating joins
Updating projections
Some remarks on orthogonality
A remark on multiple assignment
Summary
Darwen's approach
Appendix F A Closer Look at Specialization by Constraint
The 3 out of 4 "rule"
What does inheritance really mean?
Benefits of S by C
What about objects?
Implementation considerations
Appendix G A Closer Look at Structural Inheritance
An introductory example
Tuple types, values, and variables
Subtables and supertables
Scalar types revisited
Structural inheritance with fewer tears
Appendix H A Comparison with SQL
RM Prescriptions
RM Proscriptions
OO Prescriptions
OO Proscriptions
RM Very Strong Suggestions
OO Very Strong Suggestions
IM Pres riptions
Appendix I A Grammar for Tutorial D
Appendix J References and Bibliography
Index
PART I PRELIMINARIES
Chapter 1 Background and Overview
The Third Manifesto
Back to the relational future
Some guiding principles
Some crucial logical differences
Concluding remarks
Exercises
Chapter 2 A Survey of the Relational Model
The running example
Tuples
Relations
Relation variables
Relvars, relations, and predicates
Integrity constraints
Relational operators
Virtual relvars
The relational model
Exercises
Chapter 3 Toward a Theory of Types
Values are typed
Types vs. representations
Scalar vs. nonsealar types
Possible representations
Selectors and THE_ operators
System-defined types
Operators
Type generators
Concluding remarks
Exercises
PART II FORMAL SPECIFICATIONS
Chapter 4 The Third Manifesto
RM Prescriptions
RM Proscriptions
OO Prescriptions
OO Proscriptions
RM Very Strong Suggestions
OO Very Strong Suggestions
Recent Manifesto changes
Chapter 5 Tutorial D
Common constructs
Scalar definitions
Tuple definitions
Relational definitions
S alara operations
Tuple operations
Relational operations
Relations and arrays
Statements
Recent language changes
A remark on syntax
Exercises
PART III INFORMAL DISCUSSIONS AND EXPLANATIONS
Chapter 6 RM Prescriptions
RM Prescription 1: Scalar types
RM Pres ription 2: Scalar values are typed
RM Pres ription 3: Read-only vs. update operators
RM Pres ription 4: Physical vs. possible representations
RM Pres ription 5: Expose possible representations
RM Pres ription 6: Type generator TUPLE
RM Pres ription 7: Type generator RELATION
RM Pres ription 8: Equality
RM Pres ription 9: Tuples
RM Pres ription 10: Relations
RM Pres ription 11: Scalar variables
RM Pres ription 12: Tuple variables
RM Pres ription 13: Relation variables (relvars)
RM Pres ription 14: Kinds of relvars
RM Pres ription 15: Candidate keys
RM Pres ription 16: Databases
RM Pres ription 17: Transa tions
RM Pres ription 18: Relational algebra
RM Pres ription 19: Relvar names, relation selectors, and recursion
RM Pres ription 20: User-defined tuple and relational operators
RM Pres ription 21: Assignments
RM Pres ription 22: Comparisons
RM Pres ription 23: Integrity constraints
RM Pres ription 24: Total database constraints
RM Pres ription 25: Catalog
RM Pres ription 26: Language design
Exercises
Chapter 7 RM Proscriptions
RM Proscription 1: No attribute ordering
RM Proscription 2: No tuple ordering
RM Proscription 3: No duplicate tuples
RM Proscription 4: No nulls
RM Proscription 5: No nullologi at mistakes
RM Proscription 6: No internal-level constru ts
RM Prosciption 7: No tuple-level coperations
RM Proscription 8: No composite attributes
RM Proscription 9: No domain check override
RM Proscription 10: Not SQL
Exercises
Chapter 8 OO Prescriptions
OO Prescription 1: Compile-time type checking
OO Prescription 2: Type inheritance (conditional)
OO Prescription 3: Computational completeness
OO Prescription 4: Explicit transaction boundaries
OO Prescription 5: Nested transactions
OO Prescription 6: Aggregate operators and empty sets
Exercises
Chapter 9 OO Proscriptions
OO Proscription 1: Relvars are not domains
OO Proscription 2: No object IDs
Exercises
Chapter 10 RM Very Strong Suggestions
RM Very Strong Suggestion 1: System keys
RM Very Strong Suggestion 2: Foreign keys
RM Very Strong Suggestion 3: Candidate key inferen e
RM Very Strong Suggestion 4: Transition constraints
RM Very Strong Suggestion 5: Quota queries
RM Very Strong Suggestion 6: Generalized transitive closure
RM Very Strong Suggestion 7: User-defined generi operators
RM Very Strong Suggestion 8: SQL migration
Exercises ..
Chapter 11 OO Very Strong Suggestions
OO Very Strong Suggestion 1: Type inheritance
OO Very Strong Suggestion 2: Types and operators unbundled
OO Very Strong Suggestion 3: Single-level store
Exercises
PART IV SUBTYPING AND INHERITANCE
Chapter 12 Preliminaries
Toward a type inheritance model
Single vs. multiple inheritance
Scalars, tuples, and relations
The running example
Concluding remarks
Exercises
Chapter 13 The Inheritan e Model
IM Prescriptions
Recent inheritan e model changes
Chapter 14 Single Inheritan e with Scalar Types
IM Prescription 1: Types are sets
IM Prescription 2: Subtypes are subsets
IM Prescription 3: "Subtype of" is reflexive
IM Prescription 4: Proper subtypes
IM Prescription 5: "Subtype of" is transitive
IM Prescription 6: Immediate subtypes
IM Prescription 7: Root types disjoint
IM Prescription 8: Scalar values with inheritance
IM Prescription 9: Scalar variables With inheritance
IM Prescription 10: Specialization by constraint
IM Prescription 11: Assignment with inheritance
IM Prescription 12: Bquality etc . with inheritance
IM Prescription 13: Join etc . with inheritanc e
IM Prescription 14: TREAT
IM Prescription 15: Type testing
IM Prescription 16: Read-only operator inheritanc e and value substitutability
IM Prescription 17: Operator signatures
IM Prescription 18: Read-only parameters to update operators
IM Prescription 19: Update operator inheritan e and variable substitutability
IM Prescription 20: Union, dummy, and maximal and minimal types
Exerc ises
Chapter 15 Multiple Inheritance with Scalar Types
An introductory example
Type graphs
Least specifi types unique
Most specifi types unique
Remarks on operator inheritance
Exercises
Chapter 16 Inheritance with Tuple and Relation Types
IM Prescription 21: Tuple/relation subtypes and supertypes
IM Prescription 22: Tuple/relation values with inheritance
IM Prescription 23: Maximal and minimal tuple/relation types
IM Prescription 24: Tuple/relation most spe ifi types
IM Prescription 25: Tuple/relation variables with inheritance
Some implications of IM Prescriptions 21-25
Exercises
APPENDIXES
Appendix A A New Relational Algebra
Motivation and justification
REMOVE, RENAME, and COMPOSE
Treating operators as relations
Formal definitions
How Tutorial D builds on A
Appendix B A Design Dilemma?
Encapsulation
Discussion
Further considerations
Appendix C Types and Units
Type definition
Selectors
THE_ operators
Computational operators
Display operators
Type constraints
A more complex example
Appendix D What Is a Database?
Updating the database
Databases vs. tuples
Appendix E View Updating
Date's appoa h
Assumptions and notation
A loser look at relational assignment
A model of updating
A loser look at constraints
Updating restrictions
Updating intersections
Updating unions
Updating differences
Nested updates
Updating extensions
Updating joins
Updating projections
Some remarks on orthogonality
A remark on multiple assignment
Summary
Darwen's approach
Appendix F A Closer Look at Specialization by Constraint
The 3 out of 4 "rule"
What does inheritance really mean?
Benefits of S by C
What about objects?
Implementation considerations
Appendix G A Closer Look at Structural Inheritance
An introductory example
Tuple types, values, and variables
Subtables and supertables
Scalar types revisited
Structural inheritance with fewer tears
Appendix H A Comparison with SQL
RM Prescriptions
RM Proscriptions
OO Prescriptions
OO Proscriptions
RM Very Strong Suggestions
OO Very Strong Suggestions
IM Pres riptions
Appendix I A Grammar for Tutorial D
Appendix J References and Bibliography
Index
猜您喜欢