2 2 the relational database model. 2 2 a logical view of data 4relational database model’s...

43
2 The Relational Database Mod

Upload: percival-elliott

Post on 24-Dec-2015

222 views

Category:

Documents


0 download

TRANSCRIPT

22The Relational Database Model

22

A Logical View of DataA Logical View of Data

Relational database model’s structural and data independence enables us to view data logically rather than physically.

The logical view allows a simpler file concept of data storage.

The use of logically independent tables is easier to understand.

Logical simplicity yields simpler and more effective database design methodologies.

22

A Logical View of DataA Logical View of Data Entities and Attributes

An entity is a person, place, event, or thing for which we intend to collect data.

University -- Students, Faculty Members, Courses Airlines -- Pilots, Aircraft, Routes, Suppliers

Each entity has certain characteristics known as attributes.

Student -- Student Number, Name, GPA, Date of Enrollment, Data of Birth, Home Address, Phone Number, Major

Aircraft -- Aircraft Number, Date of Last Maintenance, Total Hours Flown, Hours Flown since Last Maintenance

22

A Logical View of DataA Logical View of Data Entities and Attributes

A grouping of related entities becomes an entity set.

The STUDENT entity set contains all student entities.

The FACULTY entity set contains all faculty entities.

The AIRCRAFT entity set contains all aircraft entities.

22

A Logical View of DataA Logical View of Data Tables and Their Characteristics

A table contains a group of related entities -- i.e. an entity set.

The terms entity set and table are often used interchangeably.

A table is also called a relation.

22

Summary of the Characteristics of a Relational Table

Table 2.1

22

A Listing of the STUDENT Table Attribute Values

Figure 2.1

22

KeysKeys Controlled redundancy (shared common

attributes) makes the relational database work.

The primary key of one table appears again as the link (foreign key) in another table.

If the foreign key contains either matching values or nulls, the table(s) that make use of such a foreign key are said to exhibit referential integrity.

22

Figure 2.2 An Example of a Simple Relational Database

22

Relational Database Keys

Table 2.3

22

Integrity Rules Revisited

Table 2.4

22

Figure 2.4 An Illustration of Integrity Rules

22

Relational Database OperatorsRelational Database Operators

The degree of relational completeness can be defined by the extent to which relational algebra is supported.

Relational algebra defines the theoretical way of manipulating table contents using the eight relational functions: SELECT, PROJECT, JOIN, INTERSECT, UNION, DIFFERENCE, PRODUCT, and DIVIDE.

22

Relational Database OperatorsRelational Database Operators UNION combines all rows from two tables.

The two tables must be union compatible.

Figure 2.5 UNION

22

Relational Database OperatorsRelational Database Operators INTERSECT produces a listing that contains

only the rows that appear in both tables. The two tables must be union compatible.

Figure 2.6 INTERSECT

22

Relational Database OperatorsRelational Database Operators DIFFERENCE yields all rows in one table

that are not found in the other table; i.e., it subtracts one table from the other. The tables must be union compatible.

Figure 2.7 DIFFERENCE

22

Relational Database OperatorsRelational Database Operators PRODUCT produces a list of all possible

pairs of rows from two tables.

Figure 2.8 PRODUCT

22

Relational Database OperatorsRelational Database Operators SELECT yields values for all attributes found in

a table. It yields a horizontal subset of a table.

22

Relational Database OperatorsRelational Database Operators PROJECT produces a list of all values for selected

attributes. It yields a vertical subset of a table.

22

Relational Database OperatorsRelational Database Operators JOIN allows us to combine information from

two or more tables. JOIN is the real power behind the relational database, allowing the use of independent tables linked by common attributes.

22

Relational Database OperatorsRelational Database Operators Natural JOIN links tables by selecting

only the rows with common values in their common attribute(s). It is the result of a three-stage process:

A PRODUCT of the tables is created. (Figure 2.12)

A SELECT is performed on the output of the first step to yield only the rows for which the common attribute values match. (Figure 2.13)

A PROJECT is performed to yield a single copy of each attribute, thereby eliminating the duplicate column. (Figure 2.14)

22

Natural Join, Step 1: PRODUCT

Figure 2.12

22

Figure 2.13 Natural Join, Step 2: SELECT

Figure 2.14 Natural Join, Step 3: PROJECT

22

Relational Database OperatorsRelational Database Operators EquiJOIN links tables based on an equality

condition that compares specified columns of each table. The outcome of the EquiJOIN does not eliminate duplicate columns and the condition or criteria to join the tables must be explicitly defined.

Theta JOIN is an equiJOIN that compares specified columns of each table using a comparison operator other than the equality comparison operator.

In an Outer JOIN, the unmatched pairs would be retained and the values for the unmatched other tables would be left blank or null.

22

Outer JOIN

Figure 2.15

22

Relational Database OperatorsRelational Database Operators DIVIDE requires the use of one single-

column table and one two-column table.

Figure 2.16 DIVIDE

22

A Sample Data Dictionary

Table 2.6

22

Relationships within the Relational Database

Relationships within the Relational Database

E-R Diagram (ERD)

Rectangles are used to represent entities.

Entity names are nouns and capitalized.

Diamonds are used to represent the relationship(s) between the entities.

The number 1 is used to represent the “1” side of the relationship.

The letter M is used to represent the “many” sides of the relationship.

22

The Relationship Between Painter and Painting

Figure 2.17

22

An Alternate Way to Present the RelationshipBetween Painter and Painting

Figure 2.18

22

A 1:M Relationship: The CH2_MUSEUM Database

Figure 2.19

22

The 1:M Relationship Between Course and Class

Figure 2.20

22

22

The M:N Relationship Between Student and Class

Figure 2.22

22

Table 2.7

Sample Student Enrollment Data

22

A Many-to-Many Relationship Between Student and Class

Figure 2.23

22

22

Changing the M:N Relationship to Two 1:M Relationships

Figure 2.25

22

The Expanded Entity Relationship Model

Figure 2.26

22

The Relational Schema for the Entity Relationship Diagram in Figure 2.26

Figure 2.27

22

Data Redundancy RevisitedData Redundancy Revisited Proper use of foreign keys is crucial to

exercising data redundancy control.

Database designers must reconcile three often contradictory requirements: design elegance, processing speed, and information requirements. (Chapter 4)

Proper data warehousing design even requires carefully defined and controlled data redundancies, to function properly. (Chapter 13)

22 Figure 2.28A Small Invoicing System

22The redundancy is crucial to the system’s success. Copying the product price from the PRODUCT table to the LINE table means that it is possible to maintain the historical accuracy of the transactions.

Figure 2.29The Relational Schema for the Invoicing System in Figure 2.28