31

The relational model A data model (in general) : Integrated collection of concepts for describing data (data requirements). Relational model was introduced

Embed Size (px)

Citation preview

Page 1: The relational model A data model (in general) : Integrated collection of concepts for describing data (data requirements). Relational model was introduced
Page 2: The relational model A data model (in general) : Integrated collection of concepts for describing data (data requirements). Relational model was introduced

The relational modelA data model (in general) : Integrated

collection of concepts for describing data (data requirements).

Relational model was introduced in 1970 by Dr. E. F. Codd (of IBM)

Commercial relational databases began to appear in the 1980s

Today relational databases have become the dominant technology for database management .

Page 3: The relational model A data model (in general) : Integrated collection of concepts for describing data (data requirements). Relational model was introduced

04/21/23 CPSC-4360-01, CPSC-5360-01, Lecture 4 3

RDBMS-Introduction

The Relational Database

Management System (RDBMS) has

become the dominant DBMS in use

today.

All data are logically structured

withing relations (tables).

Design methodology will be based

on the relational model

Page 4: The relational model A data model (in general) : Integrated collection of concepts for describing data (data requirements). Relational model was introduced

A Logical View of DataA Logical View of DataRelational 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.

Page 5: The relational model A data model (in general) : Integrated collection of concepts for describing data (data requirements). Relational model was introduced

The relational modelData is represented in the form of tables, and the

model has 3 components.

Data structure – data are organised in the form of

tables with rows and columns.

Data manipulation – powerful operations (using

the SQL language) are used to manipulate data

stored in the relations

Data integrity – facilities are included to specify

business rules that maintain the integrity of data

when they are manipulated.

Page 6: The relational model A data model (in general) : Integrated collection of concepts for describing data (data requirements). Relational model was introduced

Relational definitionsA relation is a named, two-dimensional table of

dataEvery relation has a unique name, and consists of

a set of named columns and an arbitrary number of unnamed rows

An attribute is a named column of a relation, and every attribute value is atomic.

Every row is unique, and corresponds to a record that contains data attributes for a single entity.

The order of the columns is irrelevant.The order of the rows is irrelevant.

Page 7: The relational model A data model (in general) : Integrated collection of concepts for describing data (data requirements). Relational model was introduced

Summary of the Characteristics of a Relational Table

Page 8: The relational model A data model (in general) : Integrated collection of concepts for describing data (data requirements). Relational model was introduced

Tuples and attribute

Tuple

TitleTitle YearYear LengthLength

Star WarsStar Wars 19771977 124124

Might Might DucksDucks

19911991 104104

Wayne’s Wayne’s WorldWorld

19921992 9595

Attributes of a relation serve as names for the columns of the relation The rows of a relation, other than the header row containingThe attribute names are called tuples. A tuple has one component for each attribute of the relation.

Attribute

Page 9: The relational model A data model (in general) : Integrated collection of concepts for describing data (data requirements). Relational model was introduced

DomainsEach attribute of a relation is associated

with a particular elementary type called domain.

The components of any tuple of the relation must have, in each component, a value that belongs to the domain of the corresponding column.

Example: with title string is associatedwith year integer is associated

Page 10: The relational model A data model (in general) : Integrated collection of concepts for describing data (data requirements). Relational model was introduced

Examples of domain for attributtes

04/21/23 CPSC-4360-01, CPSC-5360-01, Lecture 4 10

Page 11: The relational model A data model (in general) : Integrated collection of concepts for describing data (data requirements). Relational model was introduced

Relational structureWe can express the structure of a relation by

a Tuple, a shorthand notation

The name of the relation is followed (in

parentheses) by the names of the attributes

of that relation, e.g.:

Staff(staffNO,name,position,salary, branchNO)

Page 12: The relational model A data model (in general) : Integrated collection of concepts for describing data (data requirements). Relational model was introduced

12

Relational Keys

A primary key is an attribute (or combination of

attributes) that uniquely identifies each row in a

relation.

The primary key in the Staff relation is staffNO

(this is why it is underlined) as in:

Staff(staffNO, name, position, salary, branchNO)

Must be able to store and retrieve a row of data in a relation, based on some data values stored in that row.Each record in a table must be unique , so we need a mean to provide this uniqueness.

Page 13: The relational model A data model (in general) : Integrated collection of concepts for describing data (data requirements). Relational model was introduced

© Pearson Education Limited, 2004 13

Relational KeysCandidate Key “K”

Uniqueness : value uniquely identify that record . Irreducibility : No proper subset of K has the uniqueness property

Primary key ?Is “city” a candidate key for the Branch table ?What about “zipCode”?

Page 14: The relational model A data model (in general) : Integrated collection of concepts for describing data (data requirements). Relational model was introduced

Composite and foreign keys

A Composite key is a primary key that consists of

more than one attribute.

A Foreign key is used when we must represent the

relationship between two tables and relations

A foreign key is an attribute (possibly composite) in

a relation of a database that serves as the primary

key of another relation in the same database

Page 15: The relational model A data model (in general) : Integrated collection of concepts for describing data (data requirements). Relational model was introduced

Foreign keysConsider the following relations:

EMPLOYEE1(Emp_ID,Name,Dept_Name,Salary)

DEPARTMENT(Dept_Name,Location,Fax)

The attribute Dept_Name is a foreign key in EMPLOYEE1. It

allows the user to associate any employee wit the

department they are assigned to.

Some authors show the fact that an attribute is a foreign key

by using a dashed underline.

Page 16: The relational model A data model (in general) : Integrated collection of concepts for describing data (data requirements). Relational model was introduced

Role table represents the name of the character played by an actor in videos.

Is ActorNo a primary key ?Is catalogNo a primary key ?

04/21/23 CPSC-4360-01, CPSC-5360-01, Lecture 4 16

Page 17: The relational model A data model (in general) : Integrated collection of concepts for describing data (data requirements). Relational model was introduced

04/21/23 CPSC-4360-01, CPSC-5360-01, Lecture 4 17

Page 18: The relational model A data model (in general) : Integrated collection of concepts for describing data (data requirements). Relational model was introduced

More examples)

Primary Key

Foreign Key (implements 1:N relationship between customer and order)

Combined, these are a composite primary key (uniquely identifies the order line)…individually they are foreign keys (implement M:N relationship between order and product)

Page 19: The relational model A data model (in general) : Integrated collection of concepts for describing data (data requirements). Relational model was introduced

Entity integrity

Page 20: The relational model A data model (in general) : Integrated collection of concepts for describing data (data requirements). Relational model was introduced

Entity integrityIn some cases a particular attribute cannot be assigned a

data value, e.g. when there is no applicable data value or

the value is not known when other values are assigned.

In these situations we can assign a null value to an

attribute (null signifies absence of a value)

But still primary key values cannot be null – the entity

integrity rule states that “no primary key attribute (or

component of a primary key attribute) may be null

Page 21: The relational model A data model (in general) : Integrated collection of concepts for describing data (data requirements). Relational model was introduced

Referential Integrity How referential integrity works Cascade Update and Delete

Page 22: The relational model A data model (in general) : Integrated collection of concepts for describing data (data requirements). Relational model was introduced

Referential Integrity

Referential integrity controls the links between records.

You can set referential integrity when related fields have the same data type .

22

Page 23: The relational model A data model (in general) : Integrated collection of concepts for describing data (data requirements). Relational model was introduced

Referential IntegrityA Referential Integrity constraint is a rule that maintains

consistency among the rows of two relations – it states that

any foreign key value (on the relation of the many side) MUST

match a primary key value in the relation of the one side. (Or

the foreign key can be null)

In the following Fig., an arrow has been drawn from each

foreign key to its associated primary key. A referential

integrity constraint must be defined for each of these arrows

in the schema

Page 24: The relational model A data model (in general) : Integrated collection of concepts for describing data (data requirements). Relational model was introduced

Referential integrity constraints (Pine Valley Furniture)

Referential integrity

constraints are drawn via arrows from dependent to

parent table

Page 25: The relational model A data model (in general) : Integrated collection of concepts for describing data (data requirements). Relational model was introduced

Referential integrity How do you know if a foreign key is allowed to be

null?In this example, as each ORDER must have a

CUSTOMER the foreign key of Customer_ID cannot be null on the ORDER relation

Whether a foreign key can be null must be specified as a property of the foreign key attribute when the database is designed

Page 26: The relational model A data model (in general) : Integrated collection of concepts for describing data (data requirements). Relational model was introduced

How referential integrity worksYou can't enter a value in the foreign key field of a

table if it doesn't exist in the primary key of the related table

For example, you can't assign an order to a customer who is not in the Customer table

You can't delete a record from a table if matching records exist in a related table

For example, you can't delete an employee if there are orders assigned to the employee in the Order table

26

Page 27: The relational model A data model (in general) : Integrated collection of concepts for describing data (data requirements). Relational model was introduced

• You can't change a primary key value for a record that has related records

• For example, you can't change an employee's ID in the Employee table if there are orders assigned to that employee in the Orders table.

Page 28: The relational model A data model (in general) : Integrated collection of concepts for describing data (data requirements). Relational model was introduced

Referential integrityWhat happens to order data if we choose to

delete a customer who has submitted orders?

We may want to see sales even though we do

not care about the customer anymore. 3 choices are possible:Restrict – don’t allow delete of “parent” side if

related rows exist in “dependent” side, i.e. prohibit deletion of the customer until all associated orders are first deleted

Page 29: The relational model A data model (in general) : Integrated collection of concepts for describing data (data requirements). Relational model was introduced

Referential integrityCascade – automatically delete “dependent” side rows

that correspond with the “parent” side row to be

deleted, i.e. delete the associated orders, in which case

we lose not only the customer but also the sales history

Set-to-Null – set the foreign key in the dependent side to

null if deleting from the parent side - an exception that

says although an order must have a customer_ID value

when the order is created, Customer_ID can become

null later if the associated customer is deleted .

Page 30: The relational model A data model (in general) : Integrated collection of concepts for describing data (data requirements). Relational model was introduced

AssertionsAssertion constraints similar to check

constraints . Examples areYou can assert that the total order amount for a

customer cannot exceed the credit limit, even if the credit is in one table (customers , perhaps) and the orders belongs to another (order details ).

Are business rules such as “A person may purchase a ticket for the celebrity football game only if that person is a season-ticket holder”

There are various techniques for defining and enforcing such rules.

Page 31: The relational model A data model (in general) : Integrated collection of concepts for describing data (data requirements). Relational model was introduced

© Pearson Education Limited, 2004 31

Relational LanguagesTwo main languages:

SQL (Structured Query Language), standardized by ISO.

QBE (Query-by-Example), alternative graphical “point-and-click” way of querying database.