Chapter Objectives
In this chapter, you will learn to:
• understand the basic concepts of the relational model;
• differentiate between different types of keys and identify their role in the relational model;
• understand how normalization can be used to make sure a relational data model has no redundancies or inconsistencies;
• map a conceptual ER model to a relational model and identify any loss of semantics;
• map a conceptual EER model to a relational model and identify any loss of semantics.
Opening Scenario
Starting from the EER conceptual data model developed in Chapter 3, Sober wants to proceed to the next step of database design. The company wants to map the EER model to a logical relational model and needs to understand what semantics gets lost in the mapping process.
Relational databases implement the relational model, which is one of the most popular logical and internal data models in use nowadays. It was first formalized by Edgar F. Codd in his seminal paper “A relational model of data for large shared data banks”, which appeared in the well-respected journal Communications of the ACM in 1970. In this chapter we first introduce the basic concepts of the relational model and then formally define them in the next section. This is followed by an overview of the different types of keys, which are an essential building block of the relational model. The relational constraints are summarized next, followed by an example of a relational data model. Normalization will also be reviewed as a procedure to remove redundancies and anomalies from a relational data model. After having introduced the need for normalization and some informal guidelines, we zoom into functional dependencies and prime attribute types and discuss how both can be used during a multi-step normalization procedure. To conclude, we discuss how to map both ER and EER conceptual data models to a logical relational data model. The next chapter then zooms into SQL, which is the DDL and DML used by relational databases.
Drill Down
Edgar F. Codd was an English computer scientist (19 August 1923–18 April 2003) who laid the foundation of the relational model while working for IBM. He received the Turing Award in 1981 and was inducted as a Fellow of the Association for Computing Machinery (ACM) in 1994.
Review the options below to login to check your access.
Log in with your Cambridge Aspire website account to check access.
If you believe you should have access to this content, please contact your institutional librarian or consult our FAQ page for further information about accessing our content.