RELATIONAL MODEL: CONCEPTS, CONSTRAINTS, LANGUAGES, DESIGN, AND PROGRAMMING
The Relational Data Model and Relational Database Constraints
This chapter opens Part II of the book on relational databases. The relational model was first introduced by Ted Codd of IBM Research in 1970 in a classic research publication "System R4 Relational." (Codd 1970), and attracted immediate attention due to its simplicity, practicality, and mathematical foundation. The model uses the concept of a mathematical relation—which looks somewhat like a table of values—as its basic building block, and has its theoretical basis in set theory and first-order predicate logic.
…show more content…
[Note to editor: this will need to be updated at the time the book goes to press]. Due of the importance of the relational model, we have devoted all of Part II of this textbook to this model and the languages associated with it. Chapter 6 covers the operations of the relational algebra and introduces the relational calculus notation for two types of calculi—tuple calculus and domain calculus. Chapter 7 relates the relational model data structures to the constructs of the ER and EER models, and presents algorithms for designing a relational database schema by mapping a conceptual schema in the ER or EER model (see Chapters 3 and 4) into a relational representation. These mappings are incorporated into many database designs and CASE1 tools. CASE tools are increasingly used by database professionals to design and enhance databases using ER or EER models and leave the generation of the database definition scripts to the tool. This facilitates the design and communication process by leaving the code generation to the CASE tool. We will revisit this topic more when we discuss the relevance of a data definition language (DDL) in Section 5.2.3. In Chapter 8, we describe the
1. CASE stands for computer-aided software engineering.
Structured Query Language (SQL), which is the standard