Similar authors to follow
See more recommendations
Customers Also Bought Items By
What makes this book different from others on database design? Many resources on design practice do little to explain the underlying theory, and books on design theory are aimed primarily at theoreticians. In this book, renowned expert Chris Date bridges the gap by introducing design theory in ways practitioners can understand—drawing on lessons learned over four decades of experience to demonstrate why proper database design is so critical in the first place.
Every chapter includes a set of exercises that show how to apply the theoretical ideas in practice, provide additional information, or ask you to prove some simple theoretical result. If you’re a database professional familiar with the relational model, and have more than a passing interest in database design, this book is for you.
Questions this book answers include:
- Why is Heath’s Theorem so important?
- What is The Principle of Orthogonal Design?
- What makes some JDs reducible and others irreducible?
- Why does dependency preservation matter?
- Should data redundancy always be avoided? Can it be?
Databases often stay in production for decades, and careful design is critical for avoiding subtle errors and processing problems over time. If they’re badly designed, the negative impacts can be incredibly widespread. This gentle introduction shows you how to use important theoretical results to create good database designs.
All of today’s mainstream database products support the SQL language, and relational theory is what SQL is supposed to be based on. But are those products truly relational? Sadly, the answer is no. This book shows you what a real relational product would be like, and how and why it would be so much better than what’s currently available.
With this unique book, you will:
- Learn how to see database systems as programming systems
- Get a careful, precise, and detailed definition of the relational model
- Explore a detailed analysis of SQL from a relational point of view
There are literally hundreds of books on relational theory or the SQL language or both. But this one is different. First, nobody is more qualified than Chris Date to write such a book. He and Ted Codd, inventor of the relational model, were colleagues for many years, and Chris’s involvement with the technology goes back to the time of Codd’s first papers in 1969 and 1970. Second, most books try to use SQL as a vehicle for teaching relational theory, but this book deliberately takes the opposite approach. Its primary aim is to teach relational theory as such. Then it uses that theory as a vehicle for teaching SQL, showing in particular how that theory can help with the practical problem of using SQL correctly and productively.
Any computer professional who wants to understand what relational systems are all about can benefit from this book. No prior knowledge of databases is assumed.
- it was born on August 19th, 1969, when Codd's first database paper was published. And Chris Date has been involved with it for almost the whole of that time, working closely with Codd for many years and publishing the very first, and definitive, book on the subject in 1975. In this book's title essay, Chris offers his own unique perspective (two chapters) on those fifty years. No database professional can afford to miss this one of a kind history.
But there's more to this book than just a little personal history. Another unique feature is an extensive and in depth discussion (nine chapters) of a variety of frequently asked questions on relational matters, covering such topics as mathematics and the relational model; relational algebra; predicates; relation valued attributes; keys and normalization; missing information; and the SQL language. Another part of the book offers detailed responses to critics (four chapters). Finally, the book also contains the text of several recent interviews with Chris Date, covering such matters as RM/V2, XML, NoSQL,
The Third Manifesto, and how SQL came to dominate the database landscape.
This book is about database design theory. Design theory is the scientific foundation for database design, just as the relational model is the scientific foundation for database technology in general. Databases lie at the heart of so much of what we do in the computing world that negative impacts of poor design can be extraordinarily widespread.
This second edition includes greatly expanded coverage of exotic and little understood normal forms such as: essential tuple normal form (ETNF), redundancy free normal form (RFNF), superkey normal form (SKNF), sixth normal form (6NF), and domain key normal form (DKNF). Also included are new appendixes, including one that provides an in-depth look into the crucial notion of data consistency. Sequencing of topics has been improved, and many explanations and examples have been rewritten and clarified based upon the author’s teaching of the content in instructor-led courses.
This book aims to be different from other books on design by bridging the gap between the theory of design and the practice of design. The book explains theory in a way that practitioners should be able to understand, and it explains why that theory is of considerable practical importance. Reading this book provides you with an important theoretical grounding on which to do the practical work of database design. Reading the book also helps you in going to and understanding the more academic texts as you build your base of knowledge and expertise. Anyone with a professional interest in database design can benefit from using this book as a stepping-stone toward a more rigorous design approach and more lasting database models.
What You Will LearnUnderstand what design theory is and is notBe aware of the two different goals of normalizationKnow which normal forms are truly significant Apply design theory in practice Be familiar with techniques for dealing with redundancy Understand what consistency is and why it is crucially important
Who This Book Is For
Those having a professional interest in database design, including data and database administrators; educators and students specializing in database matters; information modelers and database designers; DBMS designers, implementers, and other database vendor personnel; and database consultants. The book is product independent.
As a database professional, therefore, you owe it to yourself to understand the basics of formal logic, and you ought to be able to explain (and perhaps defend) the connections between formal logic and database technology. And that's what this book is about. What it does is show, through a series of partly independent, partly interrelated essays, just how various crucial aspects of database technology - some of them very familiar, others maybe less so - are solidly grounded in formal logic. Overall, the goal is to help you realize the importance of logic in everything you do, and also, I hope, to help you see that logic can be fun.
SQL is full of difficulties and traps for the unwary. You can avoid them if you understand relational theory, but only if you know how to put that theory into practice. In this book, Chris Date explains relational theory in depth, and demonstrates through numerous examples and exercises how you can apply it to your use of SQL.
This third edition has been revised, extended, and improved throughout. Topics whose treatment has been expanded include data types and domains, table comparisons, image relations, aggregate operators and summarization, view updating, and subqueries. A special feature of this edition is a new appendix on NoSQL and relational theory.
- Could you write an SQL query to find employees who have worked at least once in every programming department in the company? And be sure it’s correct?
- Why is proper column naming so important?
- Nulls in the database cause wrong answers. Why? What you can do about it?
- How can image relations help you formulate complex SQL queries?
- SQL supports "quantified comparisons," but they’re better avoided. Why? And how?
Database theory and practice have evolved considerably since Codd first defined the relational model, back in 1969. This book draws on decades of experience to present the most up to date treatment of the material available anywhere. Anyone with a modest to advanced background in SQL can benefit from the insights it contains. The book is product independent.
This book sheds light on the principles behind the relational model, which is fundamental to all database-backed applications--and, consequently, most of the work that goes on in the computing world today. Database in Depth: The Relational Model for Practitioners goes beyond the hype and gets to the heart of how relational databases actually work.Ideal for experienced database developers and designers, this concise guide gives you a clear view of the technology--a view that's not influenced by any vendor or product. Featuring an extensive set of exercises, it will help you:
- understand why and how the relational model is still directly relevant to modern database technology (and will remain so for the foreseeable future)
- see why and how the SQL standard is seriously deficient
- use the best current theoretical knowledge in the design of their databases and database applications
- make informed decisions in their daily database professional activities
No matter what DBMS you are using—Oracle, DB2, SQL Server, MySQL, PostgreSQL—misunderstandings can always arise over the precise meanings of terms, misunderstandings that can have a serious effect on the success of your database projects. For example, here are some common database terms: attribute, BCNF, consistency, denormalization, predicate, repeating group, join dependency. Do you know what they all mean? Are you sure?
The New Relational Database Dictionary defines all of these terms and many, many more. Carefully reviewed for clarity, accuracy, and completeness, this book is an authoritative and comprehensive resource for database professionals, with over 1700 entries (many with examples) dealing with issues and concepts arising from the relational model of data. DBAs, database designers, DBMS implementers, application developers, and database professors and students can find the information they need on a daily basis, information that isn’t readily available anywhere else.
Views are virtual tables. That means they should be updatable, just as "real" or base tables are. In fact, view updatability isn’t just desirable, it’s crucial, for practical reasons as well as theoretical ones. But view updating has always been a controversial topic. Ever since the relational model first appeared, there has been widespread skepticism as to whether (in general) view updating is even possible.
In stark contrast to this conventional wisdom, this book shows how views, just like base tables, can always be updated (so long as the updates don’t violate any integrity constraints). More generally, it shows how updating always ought to work, regardless of whether the target is a base table or a view. The proposed scheme is 100% consistent with the relational model, but rather different from the way updating works in SQL products today.
This book can:
- Help database products improve in the future
- Help with a "roll your own" implementation, absent such product improvements
- Make you aware of the crucial role of predicates and constraints
- Show you how relational products are really supposed to behave
Anyone with a professional interest in the relational model, relational technology, or database systems in general can benefit from this book.
Type inheritance is that phenomenon according to which we can say, for example, that every square is also a rectangle, and so properties that apply to rectangles in general apply to squares in particular. In other words, squares are a subtype of rectangles, and rectangles are a supertype of squares. Recognizing and acting upon such subtype / supertype relationships provides numerous benefits: Certainly it can help in data modeling, and it can also provide for code reuse in applications. For these reasons, many languages, including the standard database language SQL, have long supported such relationships. However, there doesn’t seem to be any consensus in the community at large on a formal, rigorous, and abstract model of inheritance. This book proposes such a model, one that enjoys several advantages over other approaches, not the least of which it is that it’s fully compatible with the well known relational model of data.
Topics the model covers include:
- Both single and multiple inheritance
- Scalar, tuple, and relation inheritance
- Type lattices and union and intersection types
- Polymorphism and substitutability
- Compile time and run time binding
All of these topics are described in detail in the book, with numerous illustrative examples, exercises, and answers. The book also discusses several alternative approaches. In particular, it includes a detailed discussion and analysis of inheritance as supported in the SQL standard.
Time and Relational Theory provides an in-depth description of temporal database systems, which provide special facilities for storing, querying, and updating historical and future data. Traditionally, database management systems provide little or no special support for temporal data at all. This situation is changing because:
- Cheap storage enables retention of large volumes of historical data in data warehouses
- Users are now faced with temporal data problems, and need solutions
- Temporal features have recently been incorporated into the SQL standard, and vendors have begun to add temporal support to their DBMS products
Based on the groundbreaking text Temporal Data & the Relational Model (Morgan Kaufmann, 2002) and new research led by the authors, Time and Relational Theory is the only book to offer a complete overview of the functionality of a temporal DBMS. Expert authors Nikos Lorentzos, Hugh Darwen, and Chris Date describe an approach to temporal database management that is firmly rooted in classical relational theory and will stand the test of time.
This book covers the SQL:2011 temporal extensions in depth and identifies and discusses the temporal functionality still missing from SQL.
- Understand how the relational model provides an ideal basis for taming the complexities of temporal databases
- Learn how to analyze and evaluate commercial temporal products with this timely and important information
- Be able to use sound principles in designing and using temporal databases
- Understand the temporal support recently added to SQL with coverage of the new SQL features in this unique, accurate, and authoritative reference
- Appreciate the benefits of a truly relational approach to the problem with this clear, user friendly presentation
Temporal database systems are systems that provide special support for storing, querying, and updating historical and/or future data. Current DBMSs provide essentially no temporal features at all, but this situation is likely to change soon for a variety of reasons; in fact, temporal databases are virtually certain to become important sooner rather than later, in the commercial world as well as in academia. This book provides an in-depth description of the foundations and principles on which those temporal DBMSs will be built. These foundations and principles are firmly rooted in the relational model of data; thus, they represent an evolutionary step, not a revolutionary one, and they will stand the test of time.
This book is arranged in three parts and a set of appendixes:
* Preliminaries: Provides a detailed review of the relational model, and an overview of the Tutorial D language.
* Laying the Foundations: Explains basic temporal data problems and introduces fundamental constructs and operators for addressing those problems.
* Building on the Foundations: Applies the material of the previous part to issues of temporal database design, temporal constraints, temporal query and update, and much more.
* Appendixes: Include annotated references and bibliography, implementation considerations, and other topics.
* Describes a truly relational approach to the temporal data problem.
* Addresses implementation as well as model issues.
* Covers recent research on new database design techniques, a new normal form, new relational operators, new update operators, a new approach to the problem of "granularity," support for "cyclic point types," and other matters.
* Includes review questions and exercises in every chapter.
* Suitable for both reference and tutorial purposes.