Dbms Notes Unit II
Dbms Notes Unit II
UNIT II
Entity Relational Model (E-R Model)
The E-R model can be used to describe the data involved in a real world enterprise in terms of
objects and their relationships.
Uses:
These models can be used in database design.
It provides useful concepts that allow us to move from an informal
description to precise description.
This model was developed to facilitate database design by allowing the specification of overall logical structure
of a database.
It is extremely useful in mapping the meanings and interactions of real world enterprises onto a conceptual
schema.
These models can be used for the conceptual design of database
applications.
1.Expressiveness:
The data model should be expressive to distinguish different types of data, relationships and
constraints.
3. Minimality:
The model should have small number of basic concepts.
4. Diagrammatic Representation:
The model should have a diagrammatic notation for displaying the conceptual schema.
11
5.Formality:
A conceptual schema expressed in the data model must represent a formal specification of the data.
Example:
Cust_name : string;
Cust_no : integer;
Cust_city : string;
Under this, we must choose a DBMS to implement our database design and convert the conceptual database
design into a database schema.
The choice of DBMS is governed by number of factors as below.
1. Economic Factors.
2. Organizational
Factors.
Explanation is as below.
1. Economic Factors:
b. Maintenance Cost:
This is the cost of receiving standard maintenance service from the vendor and for keeping the DBMS
version up to date.
g. Operating Cost:
The cost of continued operation of the database system.
2. Organizational Factors:
These factors support the organization of the vendor, can be listed as below.
a. Data Complexity:
Need of a DBMS.
b. Sharing among applications:
The greater the sharing among applications, the more the redundancy among files and hence the greater the
need for a DBMS.
c. Dynamically evolving or growing data:
If the data changes constantly, it is easier to cope with these changes using a DBMS than using a file
system.
d. Frequency of ad hoc requests for data:
File systems are not suitable for ad hoc retrieval of data.
e. Data Volume and Need for Control:
These 2 factors needs for a DBMS.
Example:
Customer database can be represented in the form of tables or diagrams.
3. Schema Refinement:
Under this, we have to analyze the collection of relations in our relational database schema to identify the
12
potential problems.
2.ENTITIES
1. It is a collection of objects.
2. An entity is an object that is distinguishable from other objects by a set of attributes.
3. This is the basic object of E-R Model, which is a 'thing' in the real world with an independent existence.
4. An entity may be an 'object' with a physical existence.
5. Entities can be represented by
'Ellipses'. Example:
i. Customer, account etc.
3. ATTRIBUTES
Characteristics of an entity are called as an attribute.
The properties of a particular entity are called as attributes of that specified entity.
Example:
Name, street_address, city --- customer database.
Acc-no, balance --- account database.
Types:
These can be classified into following types.
1. Simple Attributes.
2. Composite Attributes.
3. Single Valued
Attributes.
4. Mutivalued Attributes.
5. Stored Attributes.
6. Derived Attributes.
Explanation is as below.
1. Simple Attributes:
The attributes that are not divisible are called as 'simple or atomic attributes'.
Example:
cust_name, acc_no etc..
2. Composite Attributes:
The attributes that can be divided into smaller subparts, which represent more basic attributes with
independent meaning.
These are useful to model situations in which a user sometimes refers to the composite attribute as unit but at
other times refers specifically to its components.
Example:
13
Street_address can be divided into 3 simple attributes as Number, Street and Apartment_no.
Street_address
A multi-valued attribute may have lower and upper bounds on the number of values allowed for each
individual entity.
5. Derived Attributes:
An attribute which is derived from another attribute is called as a ‘derived attribute.
Example:
‘Age’ attribute is derived from another attribute ‘Date’.
6. Stored Attribute:
An attribute which is not derived from another attribute is called as a ‘stored attribute.
Example:
In the above example,’ Date’ is a stored attribute.
4. ENTITY SETS
Entity Type:
A collection entities that have the same attributes is called as an 'entity type'.
Each entity type is described by its name and attributes.
Entity Set:
Collection of all entities of a particular entity type in the database at any point of time is called as an entity
set.
The entity set is usually referred to using the same name as the entity type.
An entity type is represented in ER diagrams as a rectangular box enclosing the entity type name.
Example:
Collection of customers.
5. Relationships
6. Relationship Sets
It is a collection of relationships.
Primary Key:
The attribute, which can be used to identify the specified information from the tables.
Weak Entity:
Relationships.
A weak entity can be identified uniquely by considering some of its attributes in conjunction with the primary key of
another entity.
The symbols that can be used in this model are as follows.
3. Lines------------------------------------------------Links.
4. Diamonds -----
5. Under Lined Ellipse ----- Primary key.
Key Attribute.
----
11. Cylinder ---- Database.
EXAMPLE:
Name
Street Acc_no Balance
City
Descriptive Attributes:
A relationship can also have some attributes, which are called as ‘descriptive attributes’.
These are used to record information about the relationship.
Example:
James of ‘Employees’ entity set works in a department since 1991.
Name Dno
Street Dname
City Since
Budget
Instance:
15
An instance of a relationship set is a set of relationships.
It is a snapshot of the relationship at some instant of time.
EX:
1111 1/1/91 60
70
2222 2/2/94
3/3/96 80
3333
11
Ternary Relationship:
1. Key Constraints:
These can be classified into 4 types as below.
1. Many to Many:
An employee is allowed to work in different departments and a department is allowed to have several
employees.
Name Dno
Since Dname
Street
City
Budget
2.One to Many:
1 employee can be associated with many departments, where as each department can be associated with at
most 1 employee as its manager.
3. Many to One:
Each employee works in at most 1 department.i.e, many employees can work in same department.
Name Dno
Since Dname
Street
City
Budget
Customer Departments
Works_in
2. Participation Constraints:
12
The participation constraint specifies whether the existence of an entity depends on its being related to
another entity via the relationship type.
A department has at most one manager. This requirement is an example of participation constraints.
There are 2 types of participation constraints, which are as below.
1. Total.
2.Partial.
Explanation is as below.
1. Total:
An entity set dependent on a relationship set and having
one to many relationships is said to be ‘total’.
The participation of the entity set ‘departments’ in the relationship
set ‘manages’ is said to be total.
2. Partial:
A participation that is not total is said to be partial.
Example:
Participation of the entity set ‘employees’ in ‘manages’ is partial, since not every employee gets to
manage a department.
In E-R diagram, the total participation is displayed as a ‘double line’ connecting the participating entity type to
the relationship, where as partial participation is represented by a single line.
If the participation of an entity set in a relationship set is total, then a thick line connects the two.
The presence of an arrow indicates a key constraint.
Budget
No
Name Dname
Partial Participation
Total Participation
Works_in
3. Weak Entity Set:
A weak entity set can be identified uniquely only by considering some of its attributes in conjunction with
the primary key of another entity (Identifying owner).
For any weak entity set, following restrictions must hold.
a. The owner entity set and the weak entity set must participate in
a One-to-many relationship set, which is called as the
‘Identifying Relationship Set’ of the weak entity set.
b. The weak entity set must have total participation in the identifying relationship set.
13
Example:
The set of attributes of a weak entity set that uniquely identify a weak entity for a given owner entity is
called as ‘partial key of the weak entity set’.
Example:
The dependent weak entity set and its relationship to employees is shown in the following diagram.
Linking them with a dark line indicates the total participation of dependents in policy.
To understand the fact that dependents is a weak entity and policy is its identifying relationship, we draw
both with dark lines.
To indicate that ‘pname’ is a partial key for dependents, we underline it using a broken line.
4.Aggregation:
Aggregation is an abstraction for building composite objects from their component objects.
Aggregation is used to represent a relationship between a whole object and its component parts.
Aggregation allows us to indicate that a relationship set (identified through a dashed box) participates
in another relationship set.
This is illustrated with a dashed box around sponsors.
If we need to express a relationship among relationships, then we should use aggregation.
Aggregation versus Ternary Relationship:
We can use either aggregation or ternary relationship for 3 or more entity sets.
The choice is mainly determined by
a. The existence of a relationship that relates a relationship set to an
entity set or second relationship set.
b. The choice may also guided by certain integrity constraints that
we want to express.
14
Name Employees No
Monitors
Until
Pid Since
Budget Dname Budget
Sponsors Departments
Projects
According to the
above diagram,
The information gathered in the requirements analysis step is used to develop a higher-level description of
the data.
The goal of conceptual database design is a complete understanding of the database structure, meaning
(semantics), inter-relationships and constraints.
Characteristics of this phase are as below.
1. Expressiveness:
3. Minimality:
4. Diagrammatic Representation:
16
The model should have a diagrammatic notation for
displaying the conceptual schema.
5. Formality:
Example:
Cust_name: string;
Cust_no: integer;
Cust_city: string;
Suppose that each department manager is given a ‘Dbudget’ as shown in the figure.
There is at most 1 employee managing a department, but a given employee could manage several
departments (1 to many relationships).
We can store starting date and ‘Dbudget’ for each manager-department pair.
This approach is natural, if we assume that a manager receives a single ‘Dbudget’ for each department that
he manages. But if the ‘Dbudget’ is the sum of all departments, then ‘manages’ relationship that involves
each employee will have the same value (total value).
So this leads to redundancy.
This can be solved by the appointment of the employee as a manager of a group of departments.
We can model ‘mgr_appt’ as an entity set for manager appointment, use a ternary relationship and we can
have at most 1 manager for each department due to 1 to many relationship.
17
Mgr_appt
Since Dbudget
The process of conceptual database design consists describing small fragments of the application in terms of
E-R diagrams.
For a large Enterprise, the design may
require, 1.More than 1 designer.
2.Span data and application by a number of user groups.
Using a high level semantic data model such as ER diagrams for conceptual design offers the additional
advantages that,
1. The high level design can be diagrammatically represented.
2. Many people, who provide the input to the design process, easily understand it.
An alternative approach is to develop separate conceptual schemas for different user groups and then
integrate all those.
To integrate, we must establish correspondences between entities, relationships and attributes, so that this
process is somewhat difficult.
The relations of degree 1 are called as ‘Unary Relations’. The relations of degree 2 are called as ‘Binary Relations’. The
relations of degree 3 are called as ‘Ternary Relations’.
18
model
address
driver-id name license year
location
person owns car
report-number
date
damage-amount
insurance
date−admitted
name
date−checked−out
ss#
patients
test−log Dr−Patient
dss# name
test_name date time result
insurance
date−admitted
name
date−checked−out
ss#
patients
test−log Dr−Patient
dss# name
test_name date time result
19
RELATIONAL MODEL
A database is a collection of 1 or more ‘relations’, where each relation is a table with rows and columns.
This is the primary data model for commercial data processing applications.
The major advantages of the relational model over the older data models are,
1.It is simple and elegant.
2. simple data representation.
3. The ease with which even complex queries can be expressed.
Introduction:
The main construct for representing data in the relational model is a ‘relation’.
A relation consists of
1.Relation Schema.
2.Relation Instance.
Explanation is as below.
1. Relation Schema:
The relation schema describes the column heads for the table.
The schema specifies the relation’s name, the name of each field (column, attribute) and the ‘domain’ of
each field.
A domain is referred to in a relation schema by the domain name and has a set of associated values.
Example:
Student information in a university database to illustrate the parts of a relation schema.
Students (Sid: string, name: string, login: string, age: integer, gross: real)
This says that the field named ‘sid’ has a domain named ‘string’.
The set of values associated with domain ‘string’ is the set of all character strings.
2. Relation Instance:
Example:
Fields (Attributes, Columns)
This example is an instance of the students relation, which consists 4 tuples and 5 fields. No two rows are
identical.
20
Degree:
The number of fields is called as ‘degree’.
This is also called as ‘arity’.
Cardinality:
The cardinality of a relation instance is the
number of tuples in it. Example:
In the above example, the degree of the relation is 5 and the cardinality is 4.
Relational database:
It is a collection of relations with distinct relation names.
Relational database schema:
It is the collection of schemas for the relations in the database.
Instance:
An instance of a relational database is a collection of relation instances, one per
relation schema in the database schema.
Each relation instance must satisfy the domain constraints in its schema.
Legal Instance:
If the database instance satisfies all the integrity constraints specified on the
database schema.
The constraints can be classified into 4 types as below.
1. Domain constraints
2 key constraints
3 Entity Integrity Constraints.
4.Referential Integrity Constraints.
21
Data Independence
o Data independence can be explained using the three-schema architecture.
o Data independence refers characteristic of being able to modify the schema at one level
of the database system without altering the schema at the next higher level.
SELECT(σ)
Projection(π)
Rename (ρ)
Union operation (υ)
Set Difference (-)
Intersection
Cartesian product(X)
23
Join Operations
SELECT (symbol: σ)
PROJECT (symbol: π)
RENAME (symbol: ρ)
UNION (υ)
INTERSECTION ( ),
DIFFERENCE (-)
CARTESIAN PRODUCT ( x )
JOIN
DIVISION
SELECT (σ)
The SELECT operation is used for selecting a subset of the tuples according to a given selection
condition. Sigma(σ)Symbol denotes it. It is used as an expression to choose tuples which meet
the selection condition. Select operator selects tuples that satisfy a given predicate.
σp(r)
σ is the predicate
p is prepositional logic
Example 1
Example 2
Example 3
Output – Selects tuples from Customers where sales is greater than 50000
Projection(π)
The projection eliminates all attributes of the input relation but those mentioned in the projection
list. The projection method defines a relation that contains a vertical subset of Relation.
This helps to extract the values of specified attributes to eliminates duplicate values. (pi) symbol
is used to choose attributes from a relation. This operator helps you to keep specific columns
from a relation and discards the other columns.
Example of Projection:
CustomerID CustomerName
1 Google Active
2 Amazon Active
3 Apple Inactive
4 Alibaba Active
Here, the projection of CustomerName and status will give
Rename (ρ)
Rename is a unary operation used for renaming attributes of a relation.
Example
Table A Table B
column 1 column 2 column 1 column 2
1 1 1 1
1 2 1 3
A ∪ B gives
Table A ∪ B
column 1 column 2
1 1
1 2
1 3
Example
A-B
Table A – B
column 1 column 2
1 2
26
Intersection
An intersection is defined by the symbol ∩
A∩B
Defines a relation consisting of a set of all tuple that are in both A and B. However, A and B
must be union-compatible.
Visual
Definition of Intersection
Example:
A∩B
Table A ∩ B
column 1 column 2
1 1
σ column 2 = ‘1’ (A X B)
Output – The above example shows all rows from relation A and B whose column 2 has value 1
σ column 2 = ‘1’ (A X B)
column 1 column 2
1 1
1 1
27
Summary
Operation(Symbols) Purpose
The SELECT operation is used for selecting a
Select(σ)
tuples according to a given selection condition
The projection eliminates all attributes of the in
Projection(π)
those mentioned in the projection list.
UNION is symbolized by symbol. It includes a
Union Operation(∪)
in tables A or in B.
– Symbol denotes it. The result of A – B, is a r
Set Difference(-)
includes all tuples that are in A but not in B.
Intersection defines a relation consisting of a se
Intersection(∩)
are in both A and B.
Cartesian operation is helpful to merge column
Cartesian Product(X)
relations.