chapter 3

30
Chapter 3 Relational Relational Model Model Chapter 3 in Textbook

Upload: dixon

Post on 05-Jan-2016

38 views

Category:

Documents


0 download

DESCRIPTION

Chapter 3. Relational Model. Chapter 3 in Textbook. Database Design. Steps in building a database for an application:. Real-world domain. Conceptual model. DBMS data model. Create Schema (DDL). Load data (DML). Relational Model. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Chapter 3

Chapter 3

Relational ModelRelational Model

Chapter 3 in Textbook

Page 2: Chapter 3

Lilac Safadi

Relational Model

2

Database DesignDatabase Design

Steps in building a database for an application:

Real-world domain

Conceptualmodel

DBMS data model

Create Schema

(DDL)

Load data(DML)

Page 3: Chapter 3

Lilac Safadi

Relational Model

3

Relational ModelRelational Model

In the relational model, all data is logically structured within relations (tables).

Page 4: Chapter 3

Lilac Safadi

Relational Model

4

Relational Data StructureRelational Data Structure

4170010

4182000

4182034

4188134

4189860

4192134

StudentNo

Al-Saleh

Al-Ghanem

Al-Fahad

Saod

Rashed

Al-Fahad

LName

Amal

Nora

Laila

Amal

Rana

Rania

FName Initial

M.

A.

A.

F.

I.

M.

DOB

04-06-78

02-12-79

01-11-74

22-04-73

30-01-78

19-03-79

GPA

3.91

4.20

4.01

3.01

2.31

3.50

STUDENT

Attributes

Tuples

Cad

inal

ity

Rel

atio

n

Degree

Page 5: Chapter 3

Lilac Safadi

Relational Model

5

Relational Data StructureRelational Data Structure

• Relation is a table with columns & rows. Holds information about entities.

• Attribute is a named column of a relation.

• Domain is the set of allowable values for one or more attributes. Every attribute in a relation is defined on a domain.

• Tuple is a row of a relation.

Page 6: Chapter 3

Lilac Safadi

Relational Model

6

Relational Data StructureRelational Data Structure

• Degree of a relation is the number of attributes it contains.

• Cardinality of a relation is the number of tuples it contains.

• Relational database is a collection of normalized relations with distinct relation names.

Page 7: Chapter 3

Lilac Safadi

Relational Model

7

DomainsDomains

4170010

4182000

4182034

StudentNo

Al-Saleh

Al-Ghanem

Al-Fahad

LName

Amal

Nora

Laila

FName Initial

M.

A.

A.

DOB

04-06-78

02-12-79

01-11-74

GPA

3.91

4.20

4.01

STUDENT

StudentNo

LName

FName

Initial

Student Name

Last Name

First Name

Initial

DefinitionAttribute

DOB

GPA

Domain Name

Date of Birth

Great Point Average

Digits: size 7

Character: size 15

Character: size 15

Character: size 3

Date: range 01-01-20, format dd-mm-yy

Real: size 3, decimal 2, range 0-5

Page 8: Chapter 3

Lilac Safadi

Relational Model

8

Relational KeysRelational Keys

• Primary Key (PK) to identify tuples uniquely within the relation

• Foreign Key (FK) is an attribute, or set of attributes, within one relation that matches the CK of some relation. Used to represent relationship between tuples of two relations.

Page 9: Chapter 3

Lilac Safadi

Relational Model

9

Relational KeysRelational Keys

4170010

4182000

4182034

4188134

4189860

StudentNo

Al-Saleh

Al-Ghanem

Al-Fahad

Saod

Rashed

LName

Amal

Nora

Laila

Amal

Rana

FName Initial

M.

A.

A.

F.

I.

DOB

04-06-78

02-12-79

01-11-74

22-04-73

30-01-78

GPA

3.91

4.20

4.01

3.01

2.31

STUDENT

D001

D002

D003

DeptNo

Computer Science

Business Administration

Science

Department Name

Build # 20

Dept

D001

D001

D002

D003

D001

Location

Build # 45

Build # 6

DEPARTMENTPrimary Key

Foreign Key

Page 10: Chapter 3

Lilac Safadi

Relational Model

10

DB RelationsDB Relations• Relation schema is a named relation defined by a set of

attributes

If A1, A2, .., An are a set of attributes, then relation schema R is:

R = (A1, A2, .., An)

• Relational schema is a set of relation schemas, each with a distinct name

If R1, R2, .., Rn are a set of relation schemas, then relational schema R is:

R= {R1, R2, .., Rn}

Page 11: Chapter 3

Lilac Safadi

Relational Model

11

Relation SchemaRelation Schema

4170010

4182000

4182034

4188134

4189860

StudentNo

Al-Saleh

Al-Ghanem

Al-Fahad

Saod

Rashed

LName

Amal

Nora

Laila

Amal

Rana

FName Initial

M.

A.

A.

F.

I.

DOB

04-06-78

02-12-79

01-11-74

22-04-73

30-01-78

GPA

3.91

4.20

4.01

3.01

2.31

STUDENTDept

D001

D001

D002

D003

D001

STUDENT (StudentNo, Lname, Fname, Initial, DOB, GPA, Dept)

Page 12: Chapter 3

E/R Relational ModelE/R Relational Model

Page 13: Chapter 3

Lilac Safadi

Relational Model

13

Relational ModelRelational Model

• Represent each entity with a relation• attributes become the relation attributes

STUDENT (StudentNo, Lname, Fname, Initial, DOB, GPA, Dept)

DEPARTMENT (DeptNo, Department Name, Location)

Entity TypeEntity Type

Page 14: Chapter 3

Lilac Safadi

Relational Model

14

Relational ModelRelational Model

A weak entity type relation must include its key and its strong entity type PK as a FK. The combination of the two keys form the PK of the weak entity.

Weak Entity TypeWeak Entity Type

EMPLOYEE

EmpNo

LName FName

DOBDepNo FName

DEPENDENThas

EMPLOYEE (EmpNo, Lname, Fname, DOB)DEPENDENT (DepNo, EmpNo, FName)

Page 15: Chapter 3

Lilac Safadi

Relational Model

15

Relational ModelRelational Model

• Identify an entity type (S) (preferably total participator)• Include the PK of the other entity (T) as a FK in S • Add attributes that describes the relationship

1:1 Relationship1:1 Relationship

BRANCHmanageEMPLOYEE

EMPLOYEE(EmpNo, Lname, Fname, DOB)

BRANCH(BrnNo, Name, EmpNo, StartDate, EndDate)

1 1

(0,1) (1,1)

StartD EndDEmpNo

LName FName

DOBName

BrnNo

Page 16: Chapter 3

Lilac Safadi

Relational Model

16

Relational ModelRelational Model

• Identify a participating entity type (S) on the m-side• Include the PK of the other entity type (T) as a FK in S• Add attributes that describes the relationship

1:M Relationship1:M Relationship

BRANCHallocateEMPLOYEE

EMPLOYEE(EmpNo, Lname, Fname, DOB, BrnNo)

BRANCH(BrnNo, Name)

M 1

EmpNo

LName FName

DOBName

BrnNo

Page 17: Chapter 3

Lilac Safadi

Relational Model

17

Relational ModelRelational Model

• Create a relation R to represent the relationship• Include the PK of participating entity types (T & S) as FK in R. The combination of the two FK will form the PK of R• Add attributes that describes the relationship

M:N RelationshipM:N Relationship

PROJECTwork-onEMPLOYEE

EMPLOYEE(EmpNo, Lname, Fname, DOB)

PROJECT(ProjNo, Name)

Work-on(EmpNo,ProjNo, hours)

M N

hoursEmpNo

LName FName

DOBName

ProjNo

Page 18: Chapter 3

Lilac Safadi

Relational Model

18

Relational ModelRelational Model• Create a relation R to represent the relationship• Include the PK of the participating entities as FK in R. The combination of all FK form the PK of R.• Add attributes that describes the relationship

n-ary Relationshipn-ary Relationship

SUPPLIERcontractBUSINESS

BUSINESS(BizNo) LAWYER(LawNo) SUPPLIER(SupNo)

contract(BizNo, SupNo, LawNo, StartDate, EndDate)

Lawyer

StartD EndDBizNo

LawNo

SupNo

Page 19: Chapter 3

Lilac Safadi

Relational Model

19

Relational ModelRelational Model

Include its simple components in the relation

Composite AttributeComposite Attribute

EMPLOYEE

emp_no

name DOB

LNameinitial FName

EMPLOYEE(EmpNo, Fname, initial, Lname, DOB)

Page 20: Chapter 3

Lilac Safadi

Relational Model

20

Relational ModelRelational Model• Suppose A is a relation that contains the multivalued attribute

• Create a relation R to represent the attribute

• Include the PK of A as FK in R

•The PK of R is the combination of the PK of A (FK) & the multivalued attribute

MultiValue AttributeMultiValue Attribute

EMPLOYEE

EmpNo

DOB

Tel_no

EMPLOYEE(EmpNo, DOB)

TELEPHONE(EmpNo, tel_no)

Page 21: Chapter 3

Lilac Safadi

Relational Model

21

Relational ModelRelational ModelEEREERSpecializationSpecialization

SECRETARY TECHNICIAN ENGINEER

EMPLOYEE(EmpNo, Fname, Lname, DOB, Salary,TypingSpeed,TGrade, EngType, Secretary Flag, Technician Flag, Engineer Flag)

EMPLOYEE

EmpNo

Fname

LName

DOB

Salary

o

TypingSpeed EngType

TGrade

Page 22: Chapter 3

Lilac Safadi

Relational Model

22

Relational ModelRelational ModelEEREERSpecializationSpecialization

SECRETARY TECHNICIAN ENGINEER

SECRETARY(EmpNo, Fname, Lname, DOB, Salary,TypingSpeed)TECHNICIAN(EmpNo, Fname, Lname, DOB, Salary,Tgrade)ENGINEER(EmpNo, Fname, Lname, DOB, Salary, EngType)

EMPLOYEE

EmpNo

Fname

LName

DOB

Salary

d

TypingSpeed EngType

TGrade

Page 23: Chapter 3

Lilac Safadi

Relational Model

23

Relational ModelRelational ModelEEREEROptional/NonDisjointOptional/NonDisjoint

SECRETARY TECHNICIAN ENGINEER

EMPLOYEE(EmpNo, Fname, Lname, DOB, Salary)SUB-EMP(EmpNo, TypingSpeed,TGrade, EngType, Secretary Flag, Technician Flag, Engineer Flag)

EMPLOYEE

EmpNo

Fname

LName

DOB

Salary

o

TypingSpeed EngType

TGrade

Page 24: Chapter 3

Lilac Safadi

Relational Model

24

Relational ModelRelational ModelEEREEROptional/DisjointOptional/Disjoint

SECRETARY TECHNICIAN ENGINEER

EMPLOYEE(EmpNo, Fname, Lname, DOB, Salary)SECRETARY(EmpNo, TypingSpeed)TECHNICIAN(EmpNo, Tgrade)ENGINEER(EmoNo, EngType)

EMPLOYEE

EmpNo

Fname

LName

DOB

Salary

d

TypingSpeed EngType

TGrade

Page 25: Chapter 3

Lilac Safadi

Relational Model

25

ViewsViews

Base relation is a named relation corresponding to an entity in the conceptual schema, whose tuples are physically stored in the DB

View is a derived relation. Virtual, may not exist, but dynamically derived from one or more base relations. The only information about a view that is stored in the database is its structure.

The external model can consist of both conceptual level relations (base relations) and derived views.

Page 26: Chapter 3

Lilac Safadi

Relational Model

26

ViewsViews

4170010

4182000

4182034

4188134

StudentNo

Al-Saleh

Al-Ghanem

Al-Fahad

Saod

LName

Amal

Nora

Laila

Amal

FName Initial

M.

A.

A.

F.

DOB

04-06-78

02-12-79

01-11-74

22-04-73

GPA

3.91

4.20

4.01

3.01

STUDENTDept

D001

D001

D002

D003

4170010

4182000

4182034

4188134

StudentNo GPA

3.91

4.20

4.01

3.01

STUDENT_GPA

View

BaseRelation

Page 27: Chapter 3

Lilac Safadi

Relational Model

27

Purpose of ViewsPurpose of Views

• Provides security mechanism by hiding parts of the DB from certain users

• Customize data to user’s needs, so that the same data can be seen by different users in different ways

• Simplify complex operations. It allow you to work with data from different tables simultaneously.

• Supports logical data independence

Page 28: Chapter 3

Lilac Safadi

Relational Model

28

Relational IntegrityRelational Integrity

Data integrity refers to the validity, consistency, and accuracy of the data in the database.

Integrity rules are constraints that apply to all instances of the DB.

Two integrity rules for the relational model:- Entity integrity- Referential integrity

Page 29: Chapter 3

Lilac Safadi

Relational Model

29

Relational IntegrityRelational Integrity

Entity Integrity: Ensures that there are no duplicate records within the table. In a base relation, no attribute of a PK can be null

Referential Integrity: If a FK exists in a relation, either the FK value must match a CK value of some tuple in its home relation or the FK value must be wholly null.

Enterprise constraints: rules specified by the users or DBA of the DB based on the ways an organization perceives and uses its data(e.g.number of staff working in a branch is at most 20)

Page 30: Chapter 3

Lilac Safadi

Relational Model

30

Summary of Relational ModelSummary of Relational Model

• Relational database• Relation, attribute, tuple, degree, cardinality• Primary Key, Foreign Key• Relation schema, Relational database schema• Relational Integrity, Entity Integrity,

Referential Integrity, Enterprise Constraints• Views