An Introduction to Relational Database Theory
Download for FREE in 4 easy steps...
Users who viewed this item also viewed
-
Exercises on Relational Database Theory
-
SQL: A Comparative Survey
-
Java: The Fundamentals of Objects and Classes - An Introduction to Java Programming
-
Object Oriented Programming using Java
-
Concise Notes on Data Structures and Algorithms - Ruby Edition
-
Java: Graphical User Interfaces - An Introduction to Java Programming
-
Object Oriented Programming using C#
About the book
Description
This book introduces you to the theory of relational databases, focusing on the application of that theory to the design of computer languages that properly embrace it. The book is intended for those studying relational databases as a part of a degree course in Information Technology (IT).
Preface
This book introduces you to the theory of relational databases, focusing on the application of that theory to the design of computer languages that properly embrace it. The book is intended for those studying relational databases as part of a degree course in Information Technology (IT). Relational database theory, originally proposed by Edgar F. Codd in 1969, is a topic in Computer Science. Codd’s seminal paper (1970) was entitled A Relational Model of Data for Large Shared Data Banks (reference [5] in Appendix B).
An introductory course on relational databases offered by a university’s Computer Science (or similarly named) department is typically broadly divided into a theory component and what we might call an “industrial” component. The “industrial” component typically teaches the language, SQL (Structured Query Language ), that is widely used in the industry for database purposes, and it might also teach other topics of current significance in the industry. Although this book is only about the theory, I hope it will be interesting and helpful to you even if your course’s main thrust is industrial.
Content
Preface
1. Introduction
1.1 Introduction
1.2 What Is a Database?
1.3 “Organized Collection of Symbols”
1.4 “To Be Interpreted as a True Account”
1.5 “Collection of Variables”
1.6 What Is a Relational Database?
1.7 “Relation” Not Equal to “Table”
1.8 Anatomy of a Relation
1.9 What Is a DBMS?
1.10 What Is a Database Language?
1.11 What Does a DBMS Do?
1.12 Creating and Destroying Variables
1.13 Taking Note of Integrity Rules
1.14 Taking Note of Authorisations
1.15 Updating Variables
1.16 Providing Results of Queries
EXERCISES
2. Values, Types, Variables, Operators
2.1 Introduction
2.2 Anatomy of A Command
2.3 Important Distinctions
2.4 A Closer Look at a Read-Only Operator (+)
2.5 Read-only Operators in Tutorial D
2.6 What Is a Type?
2.7 What Is a Type Used For?
2.8 The Type of a Relation
2.9 Relation Literals
2.10 Types and Representations
2.11 What Is a Variable?
2.12 Updating a Variable
2.13 Conclusion
EXERCISES
Getting Started with Rel
3. Predicates and Propositions
3.1 Introduction
3.2 What Is a Predicate?
3.3 Substitution and Instantiation
3.4 How a Relation Represents an Extension
3.5 Deriving Predicates from Predicates
EXERCISES
4. Relational Algebra – The Foundation
4.1 Introduction
4.2 Relations and Predicates
4.3 Relational Operators and Logical Operators
4.4 JOIN and AND
4.5 RENAME
4.6 Projection and Existential Quantification
4.7 Restriction and AND
4.8 Extension and AND
4.9 UNION and OR
4.10 Semidifference and NOT
4.11 Concluding Remarks
EXERCISES
Working with a Database in Rel
5. Building on The Foundation
5.1 Introduction
5.2 Semijoin and Composition
5.3 Aggregate Operators
5.4 Relations within a Relation
5.5 Using Aggregate Operators with Nested Relations
5.6 SUMMARIZE
5.7 GROUP and UNGROUP
5.8 WRAP and UNWRAP
5.9 Relation Comparison
5.10 Other Operators on Relations and Tuples
EXERCISES
6. Constraints and Updating
6.1 Introduction
6.2 A Closer Look at Constraints and Consistency
6.3 Expressing Constraint Conditions
6.4 Useful Shorthands for Expressing Constraints
6.5 Updating Relvars
EXERCISES
7. Database Design I: Projection-Join Normalization
7.1 Introduction
7.2 Avoiding Redundancy
7.3 Join Dependencies
7.4 Fifth Normal Form
7.5 Functional Dependencies
7.6 Keys
7.7 The Role of FDs and Keys in Optimization
7.8 Boyce-Codd Normal Form (BCNF)
7.9 JDs Not Arising from FDs
EXERCISES
8. Database Design II: Other Issues
8.1 Group-Ungroup and Wrap-Unwrap Normalization
8.2 Restriction-Union Normalization
8.3 Surrogate Keys
8.4 Representing “Entity Subtypes”
Notes
About the Author
Hugh Darwen was employed in IBM’s software development divisions from 1967 to 2004. In the early part of his career, he was involved in DBMS development; from 1978 to 1982, he was one of the chief architects of an IBM product called Business System 12, a product that faithfully embraced the principles of the relational model. He was an active participant in the development of the international standard for SQL (and related standards) from 1988 to 2004. Based in the UK, he currently teaches relational database theory at Warwick University and is a tutor and course development consultant for the Open University. His previous publications are all collaborative efforts with Chris Date, perhaps the best known and mostly highly acclaimed author in the field of relational databases:
C.J. Date and Hugh Darwen: Databases, Types, and The Relational Model: The Third Manifesto. 3rd edition, Addison-Wesley, 2007.
C.J. Date, Hugh Darwen, Nikos Lorentzos: Temporal Data and The Relational Model. Morgan Kaufmann, 2001.
C.J. Date with Hugh Darwen: Relational Database Writings, 1989-1991. Addison-Wesley, 1992.
As Andrew Warden: "Adventures in Relationland", a special contribution in C.J. Date, Relational Database Writings, 1985-1989. Addison-Wesley, 1990.
C.J. Date with Hugh Darwen. A Guide to The SQL Standard. 4th edition, Addison-Wesley, 1997.
C.J. Date and Hugh Darwen. Database Explorations: Essays on The Third Manifesto. Trafford.
Embed
Embed Frame - Terms of UseThe embed frame is free to use for private persons, universities and schools. It is not allowed to be used by any company for commercial purposes unless it is for media coverage. You may not modify, build upon, or block any portion or functionality of the embed frame, including but not limited to links back to the bookboon.com website.
The Embed frame may not be used as part of a commercial business offering. The embed frame is intended for private people who want to share eBooks on their website or blog, professors or teaching professionals who want to make an eBook available directly on their page, and media, journalists or bloggers who wants to discuss a given eBook
If you are in doubt about whether you can implement the embed frame, you are welcome to contact Thomas Buus Madsen on tbm@bookboon.com and seek permission.
Reviews
Sima ★★★★★
I don't remember the last time I enjoyed reading a technical book as I enjoyed reading An Introduction to Relational Database Theory.