ITS232 Introduction To Database Management Systems Siti Nurbaya Ismail Faculty of Computer Science &...

64
ITS232 Introduction To Database Management Systems Siti Nurbaya Ismail Faculty of Computer Science & Mathematics, Universiti Teknologi MARA (UiTM), Kedah | [email protected] | http://www.sitinur151.wordpress.com | | A2-3039 | ext:2561 | 012-7760562 | CHAPTER 4 Entity Relationship (E-R) Modeling (ERD)

Transcript of ITS232 Introduction To Database Management Systems Siti Nurbaya Ismail Faculty of Computer Science &...

ITS232Introduction To Database Management Systems

Siti Nurbaya IsmailFaculty of Computer Science & Mathematics,

Universiti Teknologi MARA (UiTM), Kedah| [email protected] | http://www.sitinur151.wordpress.com |

| A2-3039 | ext:2561 | 012-7760562 |

CHAPTER 4Entity Relationship (E-R) Modeling

(ERD)

4.0 Entity Relationship (E-R) Modeling4.1 The Entity Relationship (ER) Model 4.2 Developing An E-R Diagram 4.3 Database Design Challenges

Chapter 4: Entity Relationship (E-R) Modeling

3

Chapter 4: Entity Relationship (E-R) ModelingBasic Modeling Concept

A model is description or analogy used to visualize something that cannot be directly observed.

Chapter 4: Entity Relationship (E-R) ModelingBasic Modeling Concept

4

• Relatively simple representations of complex real world data structures

• A data model represents:– data structures and their characteristics– relation and constraints

• Can be physical or abstract:– car, student = physical– subject, register= abstract

• Used by database designer as:– communications tools to communicate and understanding

between a client and the database designer, which the database to be develop.

Chapter 4: Entity Relationship (E-R) ModelingBasic Modeling Concept

5

The importance of data modeling:

• Data– constitute the most basic information units employed by a

system• Application

– is created to manage data and to transform data to information• View

– different people views the same data differently based on their understanding

• Model– helps different user to have the holistic view of the same data

Chapter 4: Entity Relationship (E-R) ModelingBasic Modeling Concept

6

2. Conceptual level

3. Internal level

Physical data organization

1. External level View 1 View 2 View n

Conceptual Schema

Internal Schema

Database

User nUser 2User 1

Conceptual Model

External Model

Internal Model

Physical Model

-designer’s view-h/w independent-s/w independent

-DBMS’s view-h/w independent-s/w dependent

-h/w dependent-s/w dependent

-user’s view

ERD

Three Level ANSI-SPARC Architecture

Chapter 4: Entity Relationship (E-R) Modeling4.1 The Entity Relationship (E-R) Model

7

Based on the set theory and the relational theory, it is used as tools to:– translate different views of data among managers, users and

programmers to fit into a common work– define data processing and constraints to help meet the different

views– help implement the database– considered as a stage in a database design preceding/before the

relational database modeling– gives data structures representation of:

* what information to be stored* the relationships between informational elements and

constraint on the data structure * relationship

Chapter 4: Entity Relationship (E-R) Modeling4.1 The Entity Relationship (E-R) Model

8

• ER model forms the basis of an ER diagram (ERD)• ERD represents conceptual database as viewed by end user• ERDs depict/shows database’s main components:

– Entities– Attributes– Relationships

Chapter 4: Entity Relationship (E-R) Modeling4.1 The Entity Relationship (E-R) Model: Entity

9

Entity• Represents an object from the real world• Collection of similar entities that made up entity sets• Refers to entity set and not to single entity occurrence• Corresponds to table and not to row in relational environment• In both Chen and Crow’s Foot models, entity is represented by

rectangle containing entity’s name• Entity name, a noun, is usually written in capital letters

Chapter 4: Entity Relationship (E-R) Modeling4.1 The Entity Relationship (E-R) Model: Attribute

10

Attribute• Characteristics of entities• Property that explains about entity• Correspondents to fields of a table• Primary key are underline with a straight line• Foreign key are underline with dotted line or an *• Chen Model

• attributes are represented by ovals and are connected to entity rectangle with a line

• each oval contains the name of attribute it represents

• Crow’s Foot Model• attributes are written in attribute box below entity rectangle

Chapter 4: Entity Relationship (E-R) Modeling4.1 The Entity Relationship (E-R) Model

11

The Attributes of the STUDENT entity: Chen & Crow’s Foot

Chapter 4: Entity Relationship (E-R) Modeling4.1 The Entity Relationship (E-R) Model: Relationship

12

Relationship• Associates between entities/connection between two or more

entities• Logical interaction among the entities in a relational database • Operate in both directions• Chen Model

• Crow’s Foot Model

Chapter 4: Entity Relationship (E-R) Modeling4.2 Developing An E-R Diagram

13

Development of ER model is an Iterative Process that involved:• Step1:

General narrative of organizational operations developed• Step2:

Basic E-R Model graphically depicted and reviewed• Step3:

Modifications made to incorporate newly discovered ER components

• Repeat process: Until designers and users agree on complete E-R Diagram

Chapter 4: Entity Relationship (E-R) Modeling4.2 Developing An E-R Diagram: Model Components

14

ENTITY Variations of entity:i. Weakii. Recursiveiii. Compositeiv. Supertype/Subtype

ATTRIBUTE Types of attribute:i. Simple attributesii. Composite attributesiii. Multivalued attributesiv. Derived attributes

RELATIONSHIP Relationship can be describes by:i. Degree of the relationshipii. Connectivity of the relationshipiii. Cardinality of the relationshipiv. Participation

Chapter 4: Entity Relationship (E-R) Modeling4.2 Developing An E-R Diagram: Chen Model: Entity

15

Entity• Corresponds to table and not to row in relational environment• Represented by rectangle containing entity’s name• Entity name, a noun, is usually written in capital letters• Examlpe: Entity STUDENT with attributes

Chapter 4: Entity Relationship (E-R) Modeling4.2 Developing An E-R Diagram: Chen Model: Entity

16

Variations of Entity:i. Weak Entityii. Recursive Entityiii. Composite Entityiv. Entity Supertype and Subtype

Chapter 4: Entity Relationship (E-R) Modeling4.2 Developing An E-R Diagram: Chen Model: Entity

17

Variations of Entity:i. Weak Entity

– Existence-dependent• Entity B depends on Entity A to exist. If A does not exist then B cannot

exist too

– Primary key partially or totally derived from parent entity in relationship

– Database designer determines whether an entity is weak based on business rules

Chapter 4: Entity Relationship (E-R) Modeling4.2 Developing An E-R Diagram: Chen Model: Entity

18

Chapter 4: Entity Relationship (E-R) Modeling4.2 Developing An E-R Diagram: Chen Model: Entity

19

Chapter 4: Entity Relationship (E-R) Modeling4.2 Developing An E-R Diagram: Chen Model: Entity

20

Variations of Entity:ii. Recursive Entity

• Entity set that have relationship with the same entity set• Example: EMPLOYEE entity

employeeNO employeeNAME employeeSPOUSE111 Ali 444222 Ah Chong333 Bazil444 Sheriz 111

employeeNO employeeNAME employeeMANAGER

111 Ali 333

222 Ah Chong 333

333 Bazil 333

444 Sheriz

EMPLOYEEemployeeNO

employeeNAME

married

11

employeeSPOUSE

EMPLOYEEemployeeNO

employeeNAME

manage

11

employeeMANAGER

Chapter 4: Entity Relationship (E-R) Modeling4.2 Developing An E-R Diagram: Chen Model: Entity

Variations of Entity:iii. Composite Entity

• Originally a relationship between 2 entities that involved in M:N relationship

• Composite entity takes its primary key from both entities that it bridges

• Example: enroll

studentID studentNAME200922222200933333200944444200955555

courseID courseNAME

ITS232 Database

CSC318 IP

CSC203 OS

STUDENTstudentID

studentNAME

enrollM

grade

COURSE courseID

courseNAME

N

studentID courseID grade200922222 ITS232 A+200922222 CSC318 B+200933333 CSC203 B200955555 ITS232 A-

STUDENT STUDENT_COURSE / ENROLL COURSE

Chapter 4: Entity Relationship (E-R) Modeling4.2 Developing An E-R Diagram: Chen Model: Entity

22

Variations of Entity:iv. Entity Supertype & Subtype

• Parent-Child relationship

• Supertypecontains the shared attributes an entity type that include distinct subclasses

that required to be presented in data model parent

• Subtype contains the unique attributesan entity type that has a distinct role and also

a member of supertypechild

Chapter 4: Entity Relationship (E-R) Modeling4.2 Developing An E-R Diagram: Chen Model: Entity

23

Variations of Entity:iv. Entity Supertype & Subtype

• Example: Superype (EMPLOYEE) Subtype (Engineer & Full-Time)

Chapter 4: Entity Relationship (E-R) Modeling4.2 Developing An E-R Diagram: Chen Model: Entity

24

Variations of Entity:iv. Entity Supertype & Subtype

• Have two types of relationship:Disjoint Overlapping

Unique subtypeNon-overlapping: subtypes can be one of the types

Overlapping:Subtypes can be either one or both of the subtypes

Indicate with: Indicate with:

G Gs

Chapter 4: Entity Relationship (E-R) Modeling4.2 Developing An E-R Diagram: Chen Model: Entity

25

Variations of Entity:iv. Entity Supertype & Subtype

• Example: Disjoint & Overlap

Overlap

Disjoint

G

Gs

Chapter 4: Entity Relationship (E-R) Modeling4.2 Developing An E-R Diagram: Chen Model: Entity

26

Variations of Entity:iv. Entity Supertype & Subtype

• Example: Disjoint

Chapter 4: Entity Relationship (E-R) Modeling4.2 Developing An E-R Diagram: Chen Model: Entity

27

Variations of Entity:iv. Entity Supertype & Subtype

• Example: Disjoint & Overlap

Chapter 4: Entity Relationship (E-R) Modeling4.2 Developing An E-R Diagram: Chen Model: Attributes

28

Attributes• Represented by ovals that are connected to entity with a line• Oval contains of attribute (field) it represents• PK are underlined with straight line• FK are underlined with doted line or *• Example: Entity STUDENT with attributes

name, course, studentID, address, email

STUDENT

studentID

name

courseemail

address

Chapter 4: Entity Relationship (E-R) Modeling4.2 Developing An E-R Diagram: Chen Model: Attributes

29

Attributes types:i. Simple Attributesii. Composite Attributesiii. Multivalued Attributesiv. Derived Attributes

Chapter 4: Entity Relationship (E-R) Modeling4.2 Developing An E-R Diagram: Chen Model: Attributes

30

Attributes types:i. Simple Attributes

• An attribute composed of single component with an independent existence

• Cannot be subdivided into smaller components• Example: gender, martial statues

STUDENT studentIDphoneNO

age

gender

name

address addressTOWN

addressPOSTCODEaddressNO

Simple Attributes

Chapter 4: Entity Relationship (E-R) Modeling4.2 Developing An E-R Diagram: Chen Model: Attributes

31

Attributes types:ii. Composite Attributes

• An attribute composed of multiple components, each with an independent existence

• Can be further subdivide to additional attributes• Example: name first, middle, last

address street, city, state, zip

Composite Attributes

STUDENT studentIDphoneNO

age

gendername

address addressTOWN

addressPOSTCODEaddressNO

Chapter 4: Entity Relationship (E-R) Modeling4.2 Developing An E-R Diagram: Chen Model: Attributes

32

Attributes types:iii. Multivalued Attributes

• attribute that holds multiple values for each occurrence of an entity type

• Should not be implemented multivalued attributes in relational database

• Can simplifies multivalued attributes by:a. Create several attributesb. Create new entity of the original multivalued attributes

components• Example: phone number handset,office,homequalification diploma,degree,master

Chapter 4: Entity Relationship (E-R) Modeling4.2 Developing An E-R Diagram: Chen Model: Attributes

33

Attributes types:iii. Multivalued Attributes

contactid firstname lastname hobbies1639 George Barnes reading5629 Susan Noble hiking, movies3388 Erwin Star hockey, skiing5772 Alice Buck1911 Frank Borders photography, travel, art4848 Hanna Diedrich cooking, movies

Contact hobbies

Chapter 4: Entity Relationship (E-R) Modeling4.2 Developing An E-R Diagram: Chen Model: Attributes

34

Attributes types:iii. Multivalued Attributes

studentid gender age address contactnum1639 M 18 Klang 0123456734, 0333721341

5629 M 18 Temerloh 0199871234, 094602721, 094602721

3388 M 19 Jerantut 0199112344, 0946012345772 F 18 Hulu Klang 0193448900, 03554467121911 F 18 Besut 0199556301, 4848 F 18 Machang 0144543331, 095723992

Contact hobbies

Chapter 4: Entity Relationship (E-R) Modeling4.2 Developing An E-R Diagram: Chen Model: Attributes

35

Attributes types:iii. Multivalued Attributes

• Can simplifies multivalued attributes by:a. Create several attributes

b. Create new entity of the original multivalued attributes components

gender

STUDENT

studentID

handsetNO

age

address

CONTACThas

homephoneNO

studentID*

STUDENTage

gender

address

handsetNO

homephoneNOstudentID

Chapter 4: Entity Relationship (E-R) Modeling4.2 Developing An E-R Diagram: Chen Model: Attributes

36

Attributes types:iv. Derived Attributes

• An attributes that represents a value that is derived from the value of related attribute or set of attributes, not necessarily in the same entity type.

• Need not be physically stored within database• Example: age

37

Chapter 4: Entity Relationship (E-R) Modeling4.2 Developing An E-R Diagram: Chen Model: Attributes

Chapter 4: Entity Relationship (E-R) Modeling4.2 Developing An E-R Diagram: Chen Model: Relationship

38

Relationship• Associations /connection between entities • Logical interaction among the entities in a relational database• Operates in both directions• Naming Relationships:

• Relationship name is a verb phrase• Avoid vague names

• Defining Relationships:• Definition explains what action is being taken and why it is important• Give examples to clarify the action• Optional participation should be explained• Explain reasons for any explicit maximum cardinality• Explain any restrictions on participation in the relationship• Explain extent of the history that is kept in the relationship• Explain whether an entity instance involved in a relationship instance can

transfer participation to another relationship instance

Chapter 4: Entity Relationship (E-R) Modeling4.2 Developing An E-R Diagram: Chen Model: Relationship

39

Relationship is described by:i. Degree of the relationshipii. Connectivity of the relationshipiii. Cardinality of the relationshipiv. Participation

Chapter 4: Entity Relationship (E-R) Modeling4.2 Developing An E-R Diagram: Chen Model: Relationship

40

Relationship is described by:i. Degree of the relationship

• Indicates number of associated entities within the relationship• There are three types:

a.Unary Relationship• Association is maintained within single entity

b.Binary Relationship• Two entities are associated (1:1, 1:M, M:N)

c. Ternary Relationship• Three entities are associated

Chapter 4: Entity Relationship (E-R) Modeling4.2 Developing An E-R Diagram: Chen Model: Relationship

41

Chapter 4: Entity Relationship (E-R) Modeling4.2 Developing An E-R Diagram: Chen Model: Relationship

42

Unary Relationship Type R, we identify the relation A represents the entity type involves in this relationship. Include in this relation one more time as foreign key the primary of itself. The two keys (primary key and foreign key) are the same but they represents two entities of different roles relate to this relationship.

EID Name Super_EID

111 Ikhsan

222 Eizan

333 Nawal 111

444 Fairuz 222PK FK

PK FK

A

Chapter 4: Entity Relationship (E-R) Modeling4.2 Developing An E-R Diagram: Chen Model: Relationship

43

1-1 Binary Relationship Type R, identify relation A and B that correspond to the entity types participating in R. The relationship itself can be mapped using one of the following approaches:• Using foreign key: This is the most popular approach.

Choose one of the participating relation, say A (usually one with total participation) ; include in A as the foreign key the primary key of B. If R has attributes then put them in the relation A as well.

• Merged relation: If both participations of two related entity type are total then we can merge two entity types and the relationship into a relation.

• Defining relationship relation: Define a relation R to represent the relationship. All attributes of relationship is included in R. In addition, put the primary keys of two relations A , B into R. The primary keys of R is combination of primary keys of A and B.

A

B

A

B

R

Chapter 4: Entity Relationship (E-R) Modeling4.2 Developing An E-R Diagram: Chen Model: Relationship

44

1-N Binary Relationship Type: For each 1-N Binary Relationship Type R, identify two relations A and B correspond to two entity types participating in R. A represents the entity type at 1-side and B represents the entity type at N-side. Include the primary key of A as the foreign key in B. This foreign key represent the relationship type R.

A

B

Chapter 4: Entity Relationship (E-R) Modeling4.2 Developing An E-R Diagram: Chen Model: Relationship

45

M-N Binary Relationship Type: For each M-N Binary Relationship Type R, identify two relation A, B represent two entity type participating in R. Create a new relation S to represent R. Include in S as foreign keys the primary keys of A and B and all the simple attributes of R. The combination of primary keys of A and B will make the primary key of S.

A

B

S

Chapter 4: Entity Relationship (E-R) Modeling4.2 Developing An E-R Diagram: Chen Model: Relationship

46

Ternary Relationship Type: For each n-ary ( > 2 ) Relationships create a new relation to represent the relationship. The primary key of the new relation is the combination of the primary keys of the participating entities that hold the N (many) side. In most cases of an n-ary relationship all the participating entities hold a many side

Chapter 4: Entity Relationship (E-R) Modeling4.2 Developing An E-R Diagram: Chen Model: Relationship

47

Relationship is described by:ii. Connectivity of the relationship

• Logical interaction among entities in a relational database• There are three types:

a.1:1

b.1:M

c. M:NSTUDENT under PROGRAM

UiTMBRANCH have RECTOR

STUDENT register COURSE

1 1

1 M

N1 M

Chapter 4: Entity Relationship (E-R) Modeling4.2 Developing An E-R Diagram: Chen Model: Relationship

48

Relationship is described by:iii. Cardinality of the relationship

• Express the specific (minimum and maximum) number of entity occurrences associated with one occurrence of the related entity

• Function of organizational policy business rules

Chapter 4: Entity Relationship (E-R) Modeling4.2 Developing An E-R Diagram: Chen Model: Relationship

49

Relationship is described by:iii. Cardinality of the relationship

• Example 1:One student can register 1 to 9 coursesOne course maximum can have 35 student

(1,9) (0,35)STUDENT register COURSE

NM

Chapter 4: Entity Relationship (E-R) Modeling4.2 Developing An E-R Diagram: Chen Model: Relationship

50

Relationship is described by:iii. Cardinality of the relationship

• Example 2:One lecturer can teaches maximum 3 coursesOne course can be thought by 1 lecturer only

(0,3) (1,1)LECTURER teach COURSE

M1

51

Relationship is described by:iii. Cardinality of the relationship

• Example 3:

Chapter 4: Entity Relationship (E-R) Modeling4.2 Developing An E-R Diagram: Chen Model: Relationship

Chapter 4: Entity Relationship (E-R) Modeling4.2 Developing An E-R Diagram: Chen Model: Relationship

Relationship is described by:iii. Cardinality of the relationship

• Relationship Strength Existence Dependence

– Existence dependence• Entity exists in database only when it is associated with another

related entity occurrence– Existence independence

• Entity can exist apart from one or more related entities• Sometimes such an entity is referred to as a strong or regular

entity

Chapter 4: Entity Relationship (E-R) Modeling4.2 Developing An E-R Diagram: Chen Model: Relationship

Relationship is described by:iii. Cardinality of the relationship

• From Existence Dependence, exist two relationship strength:a. Weak Relationship

Entity not existence-independent on other entity PK of related entity doesn’t contain PK component of parent

entity Non-Identifying Relationship

b. Strong Relationship Existence dependence PK of related entity contains PK component of parent entity Identifying Relationship 53

54

55

Database Systems, 9h Edition 56

Chapter 4: Entity Relationship (E-R) Modeling4.2 Developing An E-R Diagram: Chen Model: Relationship

57

Chapter 4: Entity Relationship (E-R) Modeling4.2 Developing An E-R Diagram: Chen Model: Relationship

Chapter 4: Entity Relationship (E-R) Modeling4.2 Developing An E-R Diagram: Chen Model: Relationship

Relationship is described by:iv. Participation

• Determines whether all or some entity occurrences participates in a relationship

• There are two types:a. Optional (Partial)

• One entity occurrence does not require corresponding entity occurrence in particular relationship

b. Mandatory (Total)• One entity occurrence requires corresponding entity

occurrence in particular relationship

58

Chapter 4: Entity Relationship (E-R) Modeling4.2 Developing An E-R Diagram: Chen Model: Relationship

Relationship is described by:iv. Participation

• Example 1:One lecturer can teaches maximum 3 coursesOne course can be thought by 1 lecturer only

(0,3) (1,1)LECTURER teach COURSE

M1

connectivity

cardinality

One course can be thought by one lecturer only

One lecturer can teachesmaximum 3 courses

participation

‘not all lecturer teaches course’

optional participation for course

‘all courses are taught’

(mandatory participation for lecturer)

Chapter 4: Entity Relationship (E-R) Modeling4.2 Developing An E-R Diagram: Comparison of E-R Model

60

Alternate style developed to enable easier use of CASE tools.

Chen ModelThe Chen notation favors conceptual modeling

Crow’s Foot ModelCrow’s Foot notation favors a more implementation-oriented approach

UML ModelUML notation can be used for both conceptual and implementation modeling

Comparison of E-R Modeling SymbolsCardinality & Participation Chen Model Crow’s Foot Model

Entity

Weak Entity

Composite Entity

Relationship line

Relationship

Option Symbol

One (1) Symbol

Many (M) Symbol

1

Chapter 4: Entity Relationship (E-R) Modeling4.2 Developing An E-R Diagram: Comparison of E-R Model

M

Chen Model

Chapter 4: Entity Relationship (E-R) Modeling4.2 Developing An E-R Diagram: Comparison of E-R Model

Crow’s Foot Model

Chapter 4: Entity Relationship (E-R) Modeling4.2 Developing An E-R Diagram: Comparison of E-R Model

Chapter 4: Entity Relationship (E-R) Modeling4.3 Database Design Challenges

Conflicting Goals• Database designers often must make design compromises that are

trigged by conflicting goals, such as comply with the design standards, processing speed and information requirements.

• In order to do so, – it is very important to have the entities, attributes, and

relationships clearly identified and well-defined– there is a need in balancing between the customer needs and a

design that meets logical requirements and conventions– The more thinking and modeling is done the less money and

time are needed later on for rework

• Additional concerns are security, performance, shared access and integrity 64