35
Data Warehouse Fundamentals Rabie A. Ramadan, PhD 5

Data Warehouse Fundamentals Rabie A. Ramadan, PhD 5

Embed Size (px)

Citation preview

Page 1: Data Warehouse Fundamentals Rabie A. Ramadan, PhD 5

Data Warehouse Fundamentals

Rabie A. Ramadan, PhD

5

Page 2: Data Warehouse Fundamentals Rabie A. Ramadan, PhD 5

2

Schema Translation

Page 3: Data Warehouse Fundamentals Rabie A. Ramadan, PhD 5

3

Extended Entity Relationship(EER) Model

The ER model has been widely used but does not have some shortcomings.

It is difficult to represent cases where an entity may have varying attributes dependent upon some property.

ER model has been extended into Extended Entity Relationship model • It includes more semantics such as generalization, categorization and

aggregation.

Page 4: Data Warehouse Fundamentals Rabie A. Ramadan, PhD 5

4

Cardinality: One-to-one relationship

A one-to-one relationship between set A and set B is defined as: • For all a in A, there exists at most one b in B such that a and

b are related, and vice versa.

Example A president leads a nation.

Page 5: Data Warehouse Fundamentals Rabie A. Ramadan, PhD 5

5

Cardinality: One-to-one relationship

Relational Model:• Relation President (President_name, Race, *Nation_name)

• Relation Nation (Nation_name, Nation_size)

• Where underlined are primary keys and "*" prefixed are foreign keys

Extended Entity Relationship model

Page 6: Data Warehouse Fundamentals Rabie A. Ramadan, PhD 5

6

In Election System : One-to-one relationship !!!!!

Person and ID

Persons’ and Vote

Judge and Box

Username and Person

Page 7: Data Warehouse Fundamentals Rabie A. Ramadan, PhD 5

7

Cardinality: Many-to-one relationship

A many-to-one relationship from set A to set B is defined as: • For all a in A, there exists at most one b in B such that a and

b are related,

• and for all b in B, there exists zero or more a in A such that a and b are related.

Example A director directs many movies.

Page 8: Data Warehouse Fundamentals Rabie A. Ramadan, PhD 5

8

Cardinality: Many-to-one relationship

Relational Model:• Relation Director (Director_name, Age)

• Relation Movies (Movie_name, Sales_volume, *Director_name)

Extended entity relationship model:

Page 9: Data Warehouse Fundamentals Rabie A. Ramadan, PhD 5

9

In Election System : many to one relationship !!!!

Box and judge

President position and candidates

Candidate and votes

Candidate and position

Page 10: Data Warehouse Fundamentals Rabie A. Ramadan, PhD 5

10

Cardinality: Many-to-many relationship

A many-to-many relationship between set A and set B is defined as: • For all a in A, there exists zero or more b in B

such that a and b are related, and vice versa.

Example• Many students take many courses such that a

student can take many courses and a course can be taken by many students. many-many

Page 11: Data Warehouse Fundamentals Rabie A. Ramadan, PhD 5

11

Cardinality: Many-to-many relationship

Relational Model:• Relation Student (Student_id, Student_name)

• Relation Course (Course_id, Course_name)

• Relation take (*Student_id, *Course_id)

Extended entity relationship model:

Page 12: Data Warehouse Fundamentals Rabie A. Ramadan, PhD 5

12

In Election System : many to many relationship !!!!

Boxes and judges at the same place

Security table contains many user names and passwords for many persons

Page 13: Data Warehouse Fundamentals Rabie A. Ramadan, PhD 5

13

Data Semantic: Is-a (Subtype) relationship

The relationship A isa B is defined as:• A is a special kind of B.

Example

• Father is Male.

Page 14: Data Warehouse Fundamentals Rabie A. Ramadan, PhD 5

14

Data Semantic: Is-a (Subtype) relationship

Relational Model:• Relation Male (Name, Height)

• Relation Father (*Name, Birth_date)

Extended entity relationship model

Page 15: Data Warehouse Fundamentals Rabie A. Ramadan, PhD 5

15

Data Semantic: Disjoint Generalization The process of generalization is to classify similar entities

into a single entity. • More than one isa relationship can form data abstraction (i.e. superclass and

subclasses) among entities.

• A subclass entity is a subset of its superclass entity.

There are two kinds of generalization. • The first is disjoint generalization such that subclass entities are mutually

exclusive.

• The second is overlap generalization such that subclass entities can overlap each other.

Example of Disjoint Generalization• A refugee and a non-refugee can both be a boat person, but a refugee cannot

be a non-refugee, and vice versa.

Page 16: Data Warehouse Fundamentals Rabie A. Ramadan, PhD 5

16

Data Semantic: Disjoint Generalization

Relational Model:• Relation Boat_person (Name, Birth_date, Birth_place)

• Relation Refugee (*Name, Open_center)

• Relation Non-refugee (*Name, Detention_center)

Extended entity relationship model:

Page 17: Data Warehouse Fundamentals Rabie A. Ramadan, PhD 5

17

Data Semantic: Overlap Generalization

Example of Overlap Generalization

• A computer programmer and a system analyst can both be a computer professional, and a computer programmer can also be a system analyst, and vice versa.

Page 18: Data Warehouse Fundamentals Rabie A. Ramadan, PhD 5

18

Data Semantic: Overlap Generalization

Relational Model:• Relation Computer_professional (Employee_id, Salary)

• Relation Computer_programmer (*Employee_id, Language_skill)

• Relation System_analyst (*Employee_id, Application_system)

Extended entity relationship model:

Page 19: Data Warehouse Fundamentals Rabie A. Ramadan, PhD 5

19

Data Semantic: Categorization Relationship

In cases the need arises for modeling a single superclass/subclass relationship with more than one superclass(es), where the superclasses represent different entity types.

In this case, we call the subclass a category.

Page 20: Data Warehouse Fundamentals Rabie A. Ramadan, PhD 5

20

Data Semantic: Categorization Relationship

Relational Model:• Relation Department (Borrower_card, Department_id)

• Relation Doctor (Borrower_card, Doctor_name)

• Relation Hospital (Borrower_card, Hospital_name)

• Relation Borrower (*Borrower_card, Return_date, File_id)

Extended Entity Relationship Model

Page 21: Data Warehouse Fundamentals Rabie A. Ramadan, PhD 5

21

Data Semantic: Aggregation Relationship

Aggregation is a method to form a composite object from its components.• It aggregates attribute values of an entity to form a whole entity.

Example • The process of a student taking a course can form a composite entity

(aggregation) that may be graded by an instructor if the student completes the course.

Page 22: Data Warehouse Fundamentals Rabie A. Ramadan, PhD 5

22

Data Semantic: Aggregation Relationship

Relational Model:• Relation Student (Student_no, Student_name)

• Relation Course (Course_no, Course_name)

• Relation Takes (*Student_no, *Course_no, *Instructor_name)

• Relation Instructor (Instructor_name, Department)

Extended Entity Relationship Model

Page 23: Data Warehouse Fundamentals Rabie A. Ramadan, PhD 5

23

Data Semantic: Total Participation

An entity is in total participation with another entity provided that all data occurrences of the entity must participate in a relationship with the other entity.

Example • An employee must be hired by a department.

Page 24: Data Warehouse Fundamentals Rabie A. Ramadan, PhD 5

24

Data Semantic: Total Participation

Relational Model:• Relation Department (Department_id, Department_name)

• Relation Employee (Employee_id, Employee_name, *Department_id)

Extended entity relationship model:

Page 25: Data Warehouse Fundamentals Rabie A. Ramadan, PhD 5

25

Data Semantic: Partial Participation

An entity is in partial participation with another entity provided that the data occurrences of the entity are not totally participate in a relationship with the other entity.

Example An employee may be hired by a department.

Page 26: Data Warehouse Fundamentals Rabie A. Ramadan, PhD 5

26

Data Semantic: Partial Participation

Relational Model:• Relation Department (Department_id, Department_name)

• Relation Employee (Employee_no, Employee_name, &Department_id)

Where & means that null value is allowed

Extended entity relationship model:

Page 27: Data Warehouse Fundamentals Rabie A. Ramadan, PhD 5

27

Data Semantic: Weak Entity

The existence of a weak entity depends on its strong entity.

Example• A hotel room must concatenate hotel name for identification.

Page 28: Data Warehouse Fundamentals Rabie A. Ramadan, PhD 5

28

Data Semantic: Weak Entity

Relational Model: Relation Hotel (Hotel_name, Ranking) Relation Room (*Hotel_name, Room_no, Room_size)

Extended entity relationship model

Page 29: Data Warehouse Fundamentals Rabie A. Ramadan, PhD 5

29

Cardinality: N-ary Relationship

Multiple entities relate to each other in an n-ary relationship.

Example • Employees use a wide range of different skills on each project they

are associated with.

Page 30: Data Warehouse Fundamentals Rabie A. Ramadan, PhD 5

30

Cardinality: N-ary Relationship

Relational Model:• Relation Engineer (Employee_id, Employee_name)

• Relation Skill (Skill_name, Years_experience)

• Relation Project (Project_id, Start_date, End_date)

• Relation Skill_used (*Employee_id, *Skill_name, *Project_id)

Extended entity relationship model:

Page 31: Data Warehouse Fundamentals Rabie A. Ramadan, PhD 5

31

Example

Drinkers addrname

Beers

manfname

Bars

name

license

addr

Note:license =beer, full,

none

SellsBars sell some

beers.

Likes

Drinkers likesome beers.

Frequents

Drinkers frequentsome bars.

Page 32: Data Warehouse Fundamentals Rabie A. Ramadan, PhD 5

Example

32

For the relationship Sells, we might have a relationship set like:

Bar BeerJoe’s Bar Bud

Joe’s Bar MillerSue’s Bar Bud

Sue’s Bar Pete’s AleSue’s Bar Bud Lite

Page 33: Data Warehouse Fundamentals Rabie A. Ramadan, PhD 5

Example

33

Bars Beers

Drinkers

name nameaddr manf

name addr

license

Preferences

Page 34: Data Warehouse Fundamentals Rabie A. Ramadan, PhD 5

A Typical Relationship Set

34

Bar Drinker BeerJoe’s Bar Ann MillerSue’s Bar Ann Bud

Sue’s Bar Ann Pete’s AleJoe’s Bar Bob Bud

Joe’s Bar Bob MillerJoe’s Bar Cal Miller

Sue’s Bar Cal Bud Lite

Page 35: Data Warehouse Fundamentals Rabie A. Ramadan, PhD 5

35

Your Assignment Build Entity-relationship model

Relation Order (Order_code, Order_type, Our_reference, Order_date, Approved_date, *Head, *Supplier_code)

Relation Supplier (Supplier_code, Supplier_name) Relation Product (Product_code, Product_description) Relation Department (Department_code, Department_name) Relation Head (Head, *Department_code, Title) Relation Order_Product (*Order_code, *Product_code, Qty, Others,

Amount) Relation Note (*Order_code, Sequence#, Note)

where underlined are primary keys and prefixed with ‘*’ are foreign keys.