0% found this document useful (0 votes)
44 views

Data Models: BY: Richa Jain

Uploaded by

Maddy Soul
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
44 views

Data Models: BY: Richa Jain

Uploaded by

Maddy Soul
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 59

Data Models

BY: Richa Jain


Data Model
• A database model defines the logical design of
data. The model also describes the
relationships between different parts of the
data.
• Various types of data models are:
– Object oriented model
– Hierarchical data model (One loop node)
– Relational data model
– Network model (More than one loop, or multi- direction)
Data Models
• Hierarchical data model: This is called a parent-child
relationship. In this model each entity has only one
parent but several children. At the top of the
hierarchy there is only one entity which is called
Root.
Data Models
• Network model: In a network DBMS every
data item can be related to many others ones.
The database structure is like a graph. This is
similar to the hierarchical model and also
provides a tree-like structure. However, a child
is allowed to have more than one parent.
Data Models
• Relational data model: In relational data model,
data exists in two dimensional tables known as
relations. A relation (table) consists of unique
attributes (columns) and tuples (rows).
Data Models
• Object oriented model: Object based data
models use concepts such as entities,
attributes, and relationships
• The entity relational model( E-R model) has
emerged as one of the main techniques for
modeling database design .
E-R Model
• ER Model is based on:
Entities and their attributes
Relationships among entities

Mapping Cardinality:

E1:E2 =1:N=M:M
E-R Model components
• Entity: An entity in ER Model is real world entity,
which has some properties called attributes.
Every attribute is defined by its set of values,
called domain. For example, in a school database,
a student is considered as an entity. Student has
various attributes like name, age and class etc.
• An entity set is a collection of similar types of
entities. For example, Students set may contain
all the student of a school.
Attribute

s
Attributes describe the properties of the entity of
which they are associated.
• A particular instance of an attribute is a value. For
example, "Ram" is one value of the attribute
Name.
• We can classify attributes as following:
¨ Simple
¨ Composite
¨ Single-valued
¨ Multi-valued
¨ Derived
E-R Model: Symbols and notations
E-R Model: Symbols and notations
E-R Model
• Relationship: The association among entities
is called relationship. For example, employee
entity has relation works_at with department.
• Relationships are mapped with entities in
various ways. Mapping cardinalities define the
number of association between two entities.
Constraints
• Various types of constraints are:
1. Mapping cardinalities
2. Participation constraints
3. Keys
Mapping Cardinalities
• Mapping cardinality or cardinality ratios ,
express the number of entities to which
another entity be associated via a
relationship
canset
• Mapping cardinalities:
– one to one
– one to many
– many to one
– many to many
• One-to-one: one entity from entity set A can be
associated with at most one entity of entity set B and
vice versa.

• One-to-many: One entity from entity set A can be


associated more than one entities of entity set B but
from entity set B one entity can be associated with at
most one entity.
• Many-to-one: More than one entities from entity set A
can be associated with at most one entity of entity set B
but one entity from entity set B can be associated with
more than one entity from entity set A.

• Many-to-many: one entity from A can be associated with


more than one entity from B and vice versa.
For reducing table ,
we can select one One -One (1-1)
primary key and
merge data
accordingly.

1 1
STUDENT WORK DEPARTMENT

E ID E NAME AGE D ID D LOC


E ID D ID NAME

E1 A 20 D1 IT JAI
E1 D1
E2 B 18 D2 CSE BEN
E2 D2
E3 C 19
E3 D4 D3 ECE DEL
E4 A 18
E4 D3 D4 MEC MUM

PRIMARY KEY: EITHER E ID OR D ID (BOTH ARE UNIQUE )


PRIMARY KEY WILL
BE FROM MANY One - Many (1-M)
SIDE
DATE ORDER
ID NO COST

NAME

1 Infinity
CUSTOMER GIVE ORDER

ID NAME ORDER ID COST


ID ORDER ID DATE
C1 A
C1 O1 O1 1000
C2 C
C2 O2 O2 2000
C3 A
C2 O3 O3 1500
C4 B
C3 O4 O4 2000
PRIMARY KEY: ORDER ID
(MANY) UNIQUE
When ther’s no primary
key available
Many- Many (M-N)
COMPOSITE KEY : ROLL NO
& C ID

STUDENT COURSE
STUDY

ROLL NO E NAME AGE C ID NAME CREDIT


ROLL NO C ID
R1 A 20
C1 MATHS 4
R2 B 18 R1 C1
R2 C2 C2 PHYSICS 4
R3 C 19
R1 C2 C3 BIO 4
R4 A 18
R2 C1 C4 HINDI 4
NO REDUCTION OF TABLE !
PRIMARY KEY: EITHER E ID OR D ID (BOTH ARE UNIQUE )
Participation Constraints
• The participation of an entity set E in a
relationship set R is said to be total if every
entity in E participates in at least one
relationship in R.
• If only some entities in E participate in
relationships in R, the participation is said to
be partial.
Example

Total participation of Loan entity


Key
s
• The key is defined as the column or attribute
of the database table.
• They are used to establish and
identify relation between tables.
• They also ensure that each record within
a
table can be uniquely identified by
combination of one or more fields a
within table.
Types of Keys
1. Superkey: An attribute (or combination of
attributes) that uniquely identifies each row in a
table. It is a super set of candidate key.
2. Candidate key : An attribute (or set of
attributes) that uniquely identifies a row. Let K
be a set of attributes of relation R. Then K is a
candidate key for R if it possess the following
properties:
1. Uniqueness – No legal value of R ever contains two
distinct tuples with the same value of K
2. Irreducibility- No proper subset of K has the
uniqueness property
Types of Keys
3. Primary key : is the candidate key which is
selected as the principal unique identifier. It is a
key that uniquely identify each record in the
table. Cannot contain null entries.

Only one Primary Key (Not more than one)


Types of Keys
4. Composite Key: Key that consist of two or
more attributes that uniquely identifies an
entity occurrence is called composite key.

Reg_no Crs_id subjects


Types of Keys
5. Foreign Key: A foreign key is generally a
primary key from one table that appears as a
field in another where the first table has a
relationship to the second.
In other words, if we had a table A with a
primary key X that linked to a table B where X
was a field in B, then X would be a foreign key in
B.

Maintain refrential Integrity


More than one FOREIGN KEY possible
Example
Oracle Code:

Create table course


(
Course id varchar(10);
Course_name varchar(20);
Roll no int refrences
Student(courseid)
);
Refered and Refrencing Table
1) Refrenced Table (Primary Key/ Base Table)
• Instert: NO Violation/ Issue
• Delete: May Cause Violation because we need to change in
Refrencing table (Foregin Key) also.

on delete cascade : It’ll delete item from both table


on delete set null : It’ll delete from table Base Table and
insert NULL in foreign key
on delete no action : No action will take place

• Updation : May Cause Violation because we need to update


in Refrencing table (Foregin Key) also.

on update cascade
on update set null
on update no action
Refered and Refrencing Table
1) Refrencing Table (Foregin Key)
• Instert: May cause Violation

• Delete: NO Violation

• Updation : May Cause Violation because we need to update


in Base Table also.
Steps in designing E-R Diagram
• There are following steps:
– Identify the entities from the requirement sheets
– Find relationships among those entities
– Identify the key attributes for every entity
– Identify other relevant attributes
– Draw complete E-R diagram with all attributes
including Primary key
– Review your results with your Business users
Example: University Management
System
Strong and Weak entity sets
• The entity set which does not have sufficient attributes
to form a primary key is called a Weak entity set.
• The entity set which has the primary key is called as
Strong entity set.
• A member of a strong entity set is called dominant
entity and member of a weak entity set is called
subordinate entity.
• Weak entity does not have a primary key but we need
a mean to distinguish among other entities. The
discriminator of a weak entity set is a set of attributes
that allows this distinction to be made. Ex:
payment_number.
Example
Example
E-R Diagram
Roles
• Entity sets of a relationship need not be distinct
• The labels “manager” and “worker” are called roles; they specify
how employee entities interact via the works_for relationship set.
• Roles are indicated in E-R diagrams by labeling the lines
that connect diamonds to rectangles.
• Role labels are optional, and are used to clarify semantics of the
relationship
Removing Redundant attributes in
entity set
• Once the entities and their corresponding attributes
are chosen, the relationship sets among the various
entities are formed.
• These relationship sets may result in a situation where
attributes in the various entity sets are redundant and
need to be removed .
• Consider the entity sets instructor and department
– Instructor includes the attributes ID, name,
dept_name, and salary with ID as primary key
– Department includes the attributes dept_name, building,
and budget with dept_name as primary key
Removing Redundant attributes in
entity set
• Attribute dept_name appears in both entity sets. It is
primary key for entity department, it is redundant in
the entity set instructor and needs to be removed.
• If both entities have one to one relationship then we
can remove it from instructor table as it will get added
up in the relational schema of department.
• But if an instructor has more than one associated
department, the relationship between the entities is
recorded in a separate relation inst_dept
Reduction to relational schema
• Both E-R model and relational database model
are abstract, logical representations of real-world
enterprises.
• Because the two models employ similar design
we can convert an E-R design to relational design
• E-R schema can be represented by relation
schema in following ways:
– Representin of strong entity sets with
g Attributes Simple
– Representin
g Attributes of strong entity sets with Complex
– Representation of weak entity sets
– Representation of relationship sets
Representing of strong entity sets with Simple
Attributes

• A strong entity set reduces to a table with the


same attributes as represented in E-R diagram
Representing of strong entity sets with
Complex Attributes

• In order to convert an entity having composite


attributes, the composite attributes are
flattened out by creating a separate attribute
for each component attribute.
• Multivalued attributes are treated differently
from other attributes. New relation schemas
are created for these attributes.
• Derived attributes are not explicitly
represented in the relational model.

BOOK entity set with author_id as multi-value attribute


L
Instances of BOOK entity
Book_Number Book_Name Author_ld Publisher

81 DBMS A1 Kalyani
81 DBMS A2 Kalyani
81 DBMS A3 Kalyani
82 Oracle C1 Kalyani

82 Oracle C2 Ka\yani

Book_Author

/!i}i§ e Ri.J '.y;tq§ r!i{ i!!ii{ /)t


i=} }}i}!}(li\
B fi}ii /!i f9Jt (§i gt !/!il!ifA!I/ i)!!)
1 1
B1 A
2
B1 A
3
Book_lnfo
B2 C
i/i/;i] l 9i8l?A™li m:tfit f ! i!{!i!Il] ;gfi @N:#m:1
1
/i{ll/Jfil\!iIlJi§lt
B1
B 2
B
·oB MS
Oracle
C fi l i!
Kalyani

2 2
Representation of weak entity sets

• For schemas derived from a weak entity set,


the combination of the primary key of the
strong entity set and the discriminator of the
weak entity set serves as primary key of the
schema.
payment = ( loan_number, payment_number,
payment_date, payment_amount )
·-- ----- --- - --
0/i@Mftiifu'kffeb :@: [email protected]@lrnµm!@B i] LI :@@WMWMWt:= ·- :nx - -
L- 11 &fui£7!\FlJMMWM>
2OO1
u5ne
n: i2 5

l 3
L -14 2 8 fvl 6a y 5 oo
2oo1
9
L-15 2 23 May 300
2 2001
• L-16 5 18 ,June i 35
8 2001
L-17 5 10 May 50
Representation of relationship sets

• There are different strategies used for each


type of relationship.
1. Conversion of many to many relationship to
relational model:
– A many to many relationship set is represented as
a table with columns for the primary keys of the
two participating entity sets, and the descriptive
attributes of the relationship set.
C L
l l
C L
l 2
C L
2 2
C ' L
tomer_ Loan amoun
c _no 3 t
2

custome Loa
r n
2. Conversion of one to many relationship to
relational model:
For one to many or many to one relationship,
there is no need to create the separate table for
the relationship. Copy the primary key of entity set
on one side of relationship into the entity set on
“many” side of relationship.
Customer and Loan relationship with 1:M type
_ !\I!#Qfill'r&i.ijfit• • tYilijfflJJfHij!ifuW/••Jl.P.t§fili#fil !
{ijfl••:iMJijtftffiijfii
Cl itY•••••:fD
f\_ja Model Tovvn Patiala UYP!#.
Ll

t •L_ y Model Tovvn 12


Cl Aja Dharan1pura Patiala L3
C y Dharan1pura Patiala L
2 Ran
4
·: scPi.1Pm tfa1-41 • •·• k!@$t fot:•• ••tci$t ¥ti#t t
Patial
2 Cl
£jismg Aja
·• Model
n •••:1': •#
To,
L2 @#€. #t• t::
Patiala Ll,
'

Ran a
·C y1
1

rzw 2 Rai
••f
Dharampura
Patiala L3,
This is not a valid database, so this solution is rejected.
n oµt L4
!ll :9:Ii nJJ!p;ppjJi r }!!iii!fi!i/i!il[III !ii!i!i!i( }i!ii
:;J /f

nie)JpfLi!l!iiI!!
l i i!i!1!!i i! ! •1!i!ii 10000
!)]!i!ii!li!&)f $Rffli rlli]il
Cl /i
L2 20000 Cl
L3 30000 C2
L4 40000 C2
3. Conversion of one to one relationship to
relational model:
• In case of 1:1 relationship, there is no need to
create a separate table for relationship and
the primary key of any entity set can be
moved to other side depending upon the
requirement. It is preferable to copy the
primary key of non-totally participated
entity set towards totally participated entity
set.
Design Issues
• There are number of different ways to define
set of entities and relationship among them.
We examine basic issues in the design of an E-
R model. These are:
– Use of entity sets vs. attributes
– Use of entity sets vs. relationship sets
– Binary versus n-ary relationship sets
– Placement of relationship attributes
Design Issues: Use of entity sets vs.
attributes
• Treating telephone as an attribute telephone-number implies that
employees have exactly one telephone number each
• Treating telephone as an entity permits employees to have several
telephone numbers associated with them.
• The distinctions to consider an object as attribute or entity
depends
on the structure of real-world enterprise being modeled.
Design Issues: Use of entity sets vs. relationship sets
• Each loan is represented by a relationship between a customer and
a branch, if every loan is associated with exactly one customer and
is associated with exactly one branch
• If several customers hold a joint loan then, loan should be
considered as an entity
The guideline in determining whether to use an entity set or
a relationship set is to designate a relationship set to
describe an action that occurs between entities
Design Issues: Binary versus n-ary
relationship sets

• Although it is possible to replace any nonbinary (n-ary, for n >


2) relationship set by a number of distinct binary relationship
sets, a n-ary relationship set shows more clearly that several
entities participate in a single relationship.
• There is one advantage of using binary relationship, with this it is
possible to store partial information but in ternary relationship it
is not possible to represent it.
• But there are some relationships that are naturally non-binary.
Design Issues: Placement of relationship
attributes
• The cardinality ratio of a relationship can affect the
placement of relationship attributes
• Example: Let us take two entities instructor and student
with relationship advisor, if we want to add attribute date
( which specifies when the instructor became advisor)
• If relationship is one to many then the date must be placed
to the entity set on the “many” side of relationship
• For one to one relationship, it could be placed on either
side
• For many to many relationship, the date must be placed as
the relationship attribute

You might also like