its232 introduction to database management systems siti nurbaya ismail faculty of computer science...
TRANSCRIPT
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
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
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