The Relational Model DB Chapter 2 (and some from chapter 4, 5) J.G. Zheng June 27 th 2005

Preview:

Citation preview

The Relational Model

DB Chapter 2 (and some from chapter 4, 5)

J.G. ZhengJune 27th 2005

Overview

Relational model terminologies and foundations

Some design concepts

Introduction

Edgar F. Codd, 1970

One sentence to explain relational database model:

Data are organized in relations (tables),which are linked (relationship) by keys

Relation

A relation is a two-dimensional table that has specific characteristics: The table consist of rows and columns Rows contain data about an entity instances All values in a row describes the same

entity instance Columns contain data about attributes of

the entity All values in a column are of the same kind

Relation (continued)

Relation’s specific characteristics go on: Cells of the table hold a single value Each row is distinct Each column has a unique name The order of the rows is unimportant The order of the columns is

unimportant

Non-Relation Examples

Relation Examples

And, any tables in page 92 and 93

Relation Terminology Contrast

Table Row Column

*Entity Record Field

Relation [Tuple] Attribute

Keys

A key is one or more columns of a relation that is used to identify a record Primary key Foreign key

Primary Key

Primary key The value of this key column uniquely

identifies a single record (row) There is only one primary key for a table

Candidate Key A candidate to become the primary key There can be multiple candidate keys for a

table

Alternate key

Composite Key

A key that contains two or more attributes (columns)

Example “FirstName” + “LastName” “FirstName” + “LastName” + “BirthDate” “FirstName” + “LastName” + “BirthDate” +

“BirthCity” …

Surrogate Key/Artificial Key

It’s a key created arbitrarily to replace the natural key Typically used in place of a composite key Usually it has no real meaning

Example We can create a “ReviewID” in the

“BookReviews” table to replace the original composite key

Relationship and Foreign Key

Relationship defines how tables (relations) are linked

Two tables are linked by a pair of keys The primary key of one table The foreign key in the linked table These two keys are of the same kind

Relationship Example

Primary Key (PK)

Primary Key (PK) Foreign Key

Relationship Types

One-to-one Example: students and GSU network

accounts

One-to-many Example: students and diplomas

*Many-to-many Example: students and professors

Referential Integrity

Every value of a foreign key must match a value of the primary key

For example (“Premiere Products” database) In “Customer” table, “RepNum” is a foreign

key (linked to the “Rep” table where “RepNum” is the primary key).

Then every value of “RepNum” in the “Customer” table must exist in the “Rep” table

Relational Algebra

SelectionProjectionJoin…

Exercise

Define and enforce relationship for your “database assessment” tables

Using MS Access

Exercise: using query designer (QBE) to query “AmazonBooks” Choosing columns Specifying criteria Sorting Calculating

Summary

Understand three important concepts of relational database model Relation Keys

Primary key, candidate key, alternate key Composite key Natural key, surrogate key, artificial key Foreign key

Relationship

Good Resources

Edgar Frank Codd http://www.db2tridex.org/efcodd.html

MS Access tutorial http://mis.bus.sfu.ca/tutorials/MSAccess/tutorials.htm

l

Recommended