Part 2
The
Relational Data Model and
SQL
Chapter 3
The
Relational Data Model and Relational Database Constraints
This chapter opens Part 2 of the book, which covers relational databases.
The relational data model was first introduced by Ted Codd of IBM Research in
1970 in a classic paper (Codd1970), and it attracted immediate attention due to
its simplicity 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. In this
chapter we discuss the basic characteristics of the model and its constraints.
The first commercial implementations of the relational model became
available in the early 1980s, such as the SQL/DS system on the MVS operating
system by IBM and the Oracle DBMS. Since then, the model has been implemented
in a large num-ber of commercial systems. Current popular relational DBMSs
(RDBMSs) include DB2 and Informix Dynamic Server (from IBM), Oracle and Rdb
(from Oracle), Sybase DBMS (from Sybase) and SQLServer and Access (from
Microsoft). In addition, several open source systems, such as MySQL and
PostgreSQL, are available.
Because of the importance of the relational model, all of Part 2 is
devoted to this model and some of the languages associated with it. In Chapters
4 and 5, we describe the SQL query language, which is the standard for commercial relational DBMSs. Chapter 6 covers the
operations of the relational algebra and introduces the relational
calculus—these are two formal languages associated with the relational model.
The relational calculus is considered to be the basis for the SQL language, and
the relational algebra is used in the internals of many database
implementations for query processing and optimization.
Other aspects of the relational model are presented in subsequent parts
of the book. Chapter 9 relates the relational model data structures to the
constructs of the ER and EER models (presented in Chapters 7 and 8), and
presents algorithms for designing a relational database schema by mapping a
conceptual schema in the ER or EER model into a relational representation.
These mappings are incorporated into many database design and CASE tools. Chapters 13 and 14 in
Part 5 discuss the programming techniques used to access database systems and
the notion of connecting to relational databases via ODBC and JDBC standard
protocols. We also introduce the topic of Web database programming in Chapter
14. Chapters 15 and 16 in Part 6 present another aspect of the relational
model, namely the formal constraints of functional and multivalued
dependencies; these dependencies are used to develop a relational database
design theory based on the concept known as normalization.
Data models that preceded the relational model include the hierarchical
and net-work models. They were proposed in the 1960s and were implemented in
early DBMSs during the late 1960s and early 1970s. Because of their historical
importance and the existing user base for these DBMSs, we have included a
summary of the highlights of these models in Appendices D and E, which are
available on this book’s Companion Website at http://www.aw.com/elmasri.
These models and systems are now
referred to as legacy database systems.
In this chapter, we concentrate on describing the basic principles of
the relational model of data. We begin by defining the modeling concepts and
notation of the relational model in Section 3.1. Section 3.2 is devoted to a
discussion of relational constraints that are considered an important part of
the relational model and are automatically enforced in most relational DBMSs.
Section 3.3 defines the update operations of the relational model, discusses
how violations of integrity constraints are handled, and introduces the concept
of a transaction. Section 3.4 summarizes the chapter.
Related Topics
Privacy Policy, Terms and Conditions, DMCA Policy and Compliant
Copyright © 2018-2023 BrainKart.com; All Rights Reserved. Developed by Therithal info, Chennai.