ER Diagram Models SE Examples

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 68

OUTLINE

• Data model
• Concepts of entity and relationships
• E-R diagramming
• Keys
• Weak entities
• Extended E-R model

1
DATA MODEL
• for representation of a part of a real world
• it is an abstraction of the reality : ignores
unnecessary details
• represents operational data about real world
events, entities, activities, etc.
• model may be at various levels depending of
requirements :
• logical or physical
• external, conceptual, internal

2
Data Model……
• a good model
• is easy to understand
• has a few concepts
• permits top-down specifications
• model offers concepts, constructs and operations
• must capture meaning of data (data semantics)
which help us in interpreting and manipulating
data

3
Data Model……
• semantics captured through data types, inter-
relationships and data integrity constraints
• uniqueness
• existence dependence
• restrictions on some operations such as insertions,
deletions

4
ENTITY-RELATIONSHIP (ER)
MODEL
• for representation of real-world
• represents overall logical structure of information
• grouping of data elements
• inter-relationships between groups

5
ER MODEL….
• a few concepts
• simple and easy-to-use
• permits top-down approach for controlling
details
• useful as a tool for communication between
designer and user during requirements analysis
and conceptual design

6
ENTITY
• an object that exists
• distinguishable from other objects
• could be concrete or abstract
• Examples : a book, an item, a student, a purchase
order
(a/an above indicates that we are referring to one of
these)

7
ENTITY SET
• a set of similar entities
• need not be disjoint with other entity sets
• e.g., supplier and customer may have common entities
• Example : set of all books in a library
• set of all customers
• entity set also called entity type or entity class
• entity considered as an occurrence of entity type

8
ENTITY SET……
• we often use the words ‘entity’ to mean ‘entity-
set’
• entity sets are named using singular common
nouns :
Book
Student
Course

9
ATTRIBUTE
• an entity has a set of attributes
• attribute defines property of an entity
• it is given a name
• attribute has value for each entity
• value may change over time
• same set of attributes are defined for entities in an
entity set

10
ATTRIBUTE….
• Example : entity set BOOK has the following
attributes
TITLE ISBN
ACC-NO AUTHOR
PUBLISHER YEAR
PRICE
• a particular book has value for each of the above
attributes

11
ATTRIBUTE….
• an attribute may be multi-valued, i.e., it has more
than one value for a given entity; e.g., a book may
have many authors
• an attribute which uniquely identifies entities of a
set is called primary key attribute of that entity
set
• composite attribute : date, address, etc

12
DOMAIN
• gives set of permitted values for an attribute
• all values may not be present at all times in
database
• may be defined by type : integer, string
• attributes are ‘roles’ played by domains
• domain ‘personname’ can be used for attribute
‘name’ for teacher and student entities

13
EXAMPLE : A COLLEGE
• STUDENT : rollno, name, hostel-no., date-of-
birth
• COURSE : courseno, name, credits
• TEACHER : empno, name, rank, room-no., tel-
phone
• DEPT : name, tel-phone

14
EXAMPLE : A COLLEGE…
• this example will be refined further
• perception of reality and focus of design could
have indicated more entities
• HOSTEL SEMESTER
• Or, teacher could only be an attribute

EXERCISE : identify entities in a hospital and


give a few instances of each
15
RELATIONSHIP
• represents association among entities
• e.g., a particular book is a text for particular
course
• book ‘Database Systems’ by C.J. Date is text for
course identified by code ‘CS644’
• e.g., student GANESH has enrolled for course
CS644

16
RELATIONSHIP SET
• set of relationships of same type
• words ‘relationship’ and ‘relationship set’ often
used interchangeably
• between certain entity sets
• binary relationship : between two entity sets
• ternary relationship : among three entity sets

17
RELATIONSHIP SET….
• e.g., binary relationship set STUDY between
STUDENT and COURSE
• relationship STUDY could be ternary among
STUDENT, COURSE and TEACHER
• What is the difference ?
• a relationship may have attributes
• e.g., attribute GRADE and SEMESTER for STUDY

18
RELATIONSHIP SET….
• relationships named using verbs or nouns
Study
Enroll
Order

EXERCISE : identify relationships and their


attributes in the hospital example and give a
few instances of each

19
DEPICTING A RELATIONSHIP
• entity sets as a collection
• entity instances by small circles
• relationship instances by small rectangle with
connections to involved entities

20
21
RELATIONSHIP CARDINALITY
• is a constraint on a relationship
• it characterizes relationships further
• given as (mapping) cardinality : how many
entities of an entity set participate in a
relationship
• especially useful for binary relationships

22
RELATIONSHIP CARDINALITY…
• a relationship set R between entity sets A and B
may be one of the following
• one-to-one : one entity in A associated with at most
one entity in B
• one-to-many : one entity in A may be associated with
zero/more number of entities in B. However, one
entity in B can be associated with at most one entity
from A.
• many-to-one : reverse of above definition (like a
mathematical function)

23
RELATIONSHIP CARDINALITY…
• many-to-many : one entity in A may be associated
with any number of entities in B, and vice-versa.
• EXAMPLES :
• relationship set TEACHES from TEACHER to
COURSE is one-to-many
(TAUGHT-BY from COURSE to TEACHER is many-
to-one)
• relationship STUDY between STUDENT and
COURSE is many-to-many

24
EXISTENCE DEPENDENCE
• existence dependency : another important
constraint
• existence of entity ‘a’ may depend on existence of
another entity ‘b’:
‘b’ is called dominant entity and ‘a’ is called
subordinate entity

25
EXISTENCE DEPENDENCE…
• there exists existence dependency of
• TEACHER on DEPT as no teacher can be appointed
without fixing her department
• Subordinate entity has its own key and may
participate in more relationship

26
27
28
E-R Diagram : Examples

29
• Add some attributes to entities here
• Courses may have another course as pre-requisite
30
31
32
33
• Describe the real-world mapped above in words.
• Can you represents this : a supplier may supply same part many times
Note : Relationship ‘supplies’ could also be ternary 34
TERNARY RELATIONSHIPS
• be sure that your model reflects real-world
correctly
• ternary (or, of higher order) relationships are
harder to understand
• is a ternary equivalent to two binary? if not,
which one is correct in a given situation?

35
TERNARY RELATIONSHIPS…
• consider shipments data where parts are supplied
to projects by suppliers in certain quantities;
given :
S1 supplies 40 number of P1 to J1
• we lose context if we replace it by
S1 supplies 40 of P1
S1 supplies to J1
• thus, ternary relationship is not same as two binary
relationships

36
37
38
PRIMARY KEYS
• to distinguish occurrences of entities and
relationships
• distinction made using values of some attributes
• superkey : set of one/more attributes which, taken
collectively, uniquely identify an entity in an
entity set
• superkey may contain extraneous attributes

39
PRIMARY KEYS…..
• e.g., rollno is sufficient to identify students
• it is a primary key
• combination (rollno, name) is a superkey
• name itself may not be sufficient as key
• candidate key is minimal superkey. No subset of
it is a superkey
• an entity may have multiple candidate keys
• primary key is a candidate key chosen by
designer as the principal means of identification

40
PRIMARY KEY FOR
REPATIONSHIPS
• made of primary keys of all participating entities
e.g., primary key of STUDY is
(rollno, courseno)

41
WEAK ENTITY
• does not have a primary key on its own
• they are related to one/more ‘strong’ entities
• they often can be visualized as multivalued
attribute or group of attributes
• they either have a ‘partial’ key or we add one to
distinguish between those which are related to
same strong entity

42
WEAK ENTITY…
• examples:
• branches of a bank
• interviews between candidates and companies viewed
as entities (not relationships) so that they can
participate further in relationships
• E-R diagrams follow

43
44
WEAK ENTITY…
• partial key (BrName in example) also called
discriminatory attribute
• a weak entity can participate further in
relationships with other entities
• a weak entity can also have weak entities
dependent on in
• primary key of weak entity = primary key of its
strong entity + discriminating attribute of weak
entity within the context of strong entity

45
• shows weak entity depending on two strong entities.

46
EXERCISE (Post-Graduate studies)
Students join a particular specialization offered by a
department. A specialization with same title (e.g.,
MICROCOMPUTER) may be offered by one/more depts
independently. Teachers are appointed to a specific dept,
and given a room and telephone. Depts have some
teacher as its head. Courses are offered under various
specializations. A teacher may teach many courses and a
course may be taught by many. A student studies a
course under a teacher during some semester (e.g.,
semester 1 of 1989), and is awarded a grade. A teacher’s
research interest may lie in one/more specializations.
Courses have one/more/zero prerequisites

47
EXTENDED E-R MODEL
• extensions to capture more meaning
• concepts of generalization, aggregation and sub-
set hierarchies added
• Similar to OO concepts : inheritance, composite
objects

48
Generalization
• to generalize from two or more entity sets and
factor out commonality
• entity E is generalization of entities E1, E2, E3 …
if each instance of E is also an instance of one and
only one of E1, E2, etc.; E called superclass of E1,
E2, …
• represented by IS-A relationship

49
Generalization…

• Example : given two entities Faculty and Non-


faculty,we can define a ‘general’ entity called
Employee
• Common attributes are factored out to define
‘Employee’ entity; specific (non-common)
attributes incorporated in ‘Faculty’ and ‘Non-
faculty’ entities

50
51
Another example :

52
Specialization
• also called subset hierarchy
• entity E1 is subset of E if every instance of E1 is also
an instance of E; this is also IS-A relationship
• E called superset and E1 as subset (or sub-class); E
may have multiple and possibly over-lapping subsets
• every instance in E need not be present in subsets of E

53
Specialization…..
• specialization allows classification of an entity in
subsets based on some distinguishing
attribute/property
• we may have several specialization of same entity
• the subsets may have additional attributes

54
55
Inheritance
• there is inheritance of attributes from superclass
or superset
• the subclass/subset automatically inherits
attributes defined at superclass/superset level
• thus, inheritance present in both Generalization
and specialization
• Direction important : bottom-up in generalization,
top-down in Specialization
• Important to distinguish the two cases

56
Aggregation
• for building complex entity from existing entities
(or existing entities and relationships)
• two ways of defining complex entities :
• create an attribute whose value is another entity
• define an entity as containing a group of related
entities

57
Examples :
• Work-order object (entity) defined as consisting
of entities Raw-material, Tools and Workers;
• Work-order itself related with Customer entity
• Aggregation notation not explicitly provided in
Extended E-R model

58
Work-order
Raw Material Tools

Worker

Customer

JobNo Quantity

59
(ANSWER TO EXERCISE)

60
Going from E-R to Relational Data Model

Need to match
ER model concepts : entity, relationship, attribute
with
Relational model concepts : relation, attribute

entity Student ( rollno, name, …. )


Student

rollno name ….

61
E-R to Relational …

1 1
1:1 Dept Mgr

DNo …… MName ……

DEPT (DNo , ………. , MName )


MGR (MName , ……, DNo )

also keys; in one or both


62
E-R to Relational …

1 m
Bank Branch Client

ACno Name ……
BName Loc ……

BKBranch (BName , Loc , ………. )


Client (Name , ……, BName , Loc , ACno )
The relationship is included in the entity on ‘many’ side;
It includes primary key of entity on ‘one’ side and
Relationship attributes, if any
63
E-R to Relational …

m m
Std Reg Course

R# …… Grade C# ……

STD (R# , ………. )


COURSE (C# , …… )
REG (R# , C# , Grade)

64
Exercise: Airport database
• keeps track of airplanes, their owners, airport
employees and pilots
• Each airplane has a registration number, is of a
particular plane type and is stored in a particular
hanger. Each plane type has a model number,
capacity and weight. Each hanger has a number,
capacity and location. The database also keeps track
of who owns which plane. Persons have name,
address and phones. A person buys a plane on a
particular date and cost.

65
Airport database….
• Each plane undergoes service many times. A service
information contains date of work, nature, hours
spent, cost, etc. Pilots and employees are persons.
Pilots have a license number with validity and salary.
Employees have a number, rank and salary. Each
pilot is authorized to fly certain types of planes.
Employees are involved in servicing of planes.
• prepare E-R model
• convert to the relational model

66
Exercises

Prepare E-R models and convert to relational


schema

• Railway Reservation
• 30 days in advance
• trains, stations, quotas, coaches
• passengers, tickets, wait-list, etc.

67
Exercises…
• Old Car Mart
• buying and selling of old cars
• cars, purchases, sales – direct or installment-wise
• service to sold cars, pre-sale repairs
• agents
• Cricket Database
• countries, players, teams
• matches, results, scores
• Prepare sample data

68

You might also like