Database Management System (22CSH-242)
Lecture 2: Relational Model
Unit-1 Syllabus
Unit-1 Introduction to Databases and Relational Algebra
Overview of Database concepts, DBMS, Data Base System Architecture (Three
Databases: Level ANSI-SPARC Architecture), Advantages and Disadvantages of
DBMS, Data Independence, DBA and Responsibilities of DBA,
Relational Data Structure, Keys, Relations, Attributes, Schema and
Instances, Referential integrity, Entity integrity.
Data Models: Relational Model, Network Model, Hierarchical Model, ER Model:
Design, issues, Mapping constraints, ER diagram, Comparison of
Models
Relational Introduction, Syntax, Semantics, Additional operators, Grouping and
Algebra & Ungrouping, Relational comparisons, Tuple Calculus, Domain
Relational Calculus, Calculus Vs Algebra, Computational capabilities
Calculus:
Roadmap
Relational Model
Database Relation
Relational Keys
Constraints
Views
Dr. Krishnendu Rarhi
Relational Model Terminology
• A relation is a table with columns and
rows.
– Only applies to logical structure of the
database, not the physical structure.
• Attribute is a named column of a relation.
• Domain is the set of allowable values for
one or more attributes.
Relational Model Terminology
• Tuple is a row of a relation.
• Degree is the number of attributes in a
relation.
• Cardinality is the number of tuples in a
relation.
• Relational Database is a collection of
normalized relations with distinct relation
names.
Instances of Branch and Staff Relations
Examples of Attribute Domains
Alternative Terminology
Mathematical Definition of Relation
• Consider two sets, D1 & D2, where D1 = {2, 4} and D2
= {1, 3, 5}.
• Cartesian product, D1 ´ D2, is set of all ordered
pairs, where first element is member of D1 and
second element is member of D2.
D1 ´ D2 = {(2, 1), (2, 3), (2, 5), (4, 1), (4, 3), (4, 5)}
• Alternative way is to find all combinations of
elements with first from D1 and second from D2.
Mathematical Definition of Relation
• Any subset of Cartesian product is a relation; e.g.
R = {(2, 1), (4, 1)}
• May specify which pairs are in relation using
some condition for selection; e.g.
– second element is 1:
R = {(x, y) | x ÎD1, y ÎD2, and y = 1}
– first element is always twice the second:
S = {(x, y) | x ÎD1, y ÎD2, and x = 2y}
Database Relations
• Relation schema
– Named relation defined by a set of attribute
and domain name pairs.
• Relational database schema
– Set of relation schemas, each with a distinct
name.
Properties of Relations
• Relation name is distinct from all other
relation names in relational schema.
• Each cell of relation contains exactly one
atomic (single) value.
• Each attribute has a distinct name.
• Values of an attribute are all from the same
domain.
Properties of Relations
• Each tuple is distinct; there are no duplicate
tuples.
• Order of attributes has no significance.
• Order of tuples has no significance,
theoretically.
Relational Keys
• Superkey
– An attribute, or set of attributes, that uniquely
identifies a tuple within a relation.
• Candidate Key
– Superkey (K) such that no proper subset is a
superkey within the relation.
– In each tuple of R, values of K uniquely identify
that tuple (uniqueness).
– No proper subset of K has the uniqueness
property (irreducibility).
Relational Keys
• Primary Key
– Candidate key selected to identify tuples
uniquely within relation.
• Alternate Keys
– Candidate keys that are not selected to be
primary key.
• Foreign Key
– Attribute, or set of attributes, within one
relation that matches candidate key of some
(possibly same) relation.
Integrity Constraints
• Null
– Represents value for an attribute that is
currently unknown or not applicable for
tuple.
– Deals with incomplete or exceptional data.
– Represents the absence of a value and is
not the same as zero or spaces, which are
values.
Integrity Constraints
• Entity Integrity
– In a base relation, no attribute of a primary key
can be null.
• Referential Integrity
– If foreign key exists in a relation, either foreign
key value must match a candidate key value of
some tuple in its home relation or foreign key
value must be wholly null.
Integrity Constraints
• General Constraints
– Additional rules specified by users or
database administrators that define or
constrain some aspect of the enterprise.
Views
• Base Relation
– Named relation corresponding to an entity in
conceptual schema, whose tuples are
physically stored in database.
• View
– Dynamic result of one or more relational
operations operating on base relations to
produce another relation.
Views
• A virtual relation that does not necessarily
actually exist in the database but is produced
upon request, at time of request.
• Contents of a view are defined as a query on one
or more base relations.
• Views are dynamic, meaning that changes made
to base relations that affect view attributes are
immediately reflected in the view.
Purpose of Views
• Provides powerful and flexible security
mechanism by hiding parts of database
from certain users.
• Permits users to access data in a
customized way, so that same data can be
seen by different users in different ways,
at same time.
• Can simplify complex operations on base
relations.
Updating Views
• All updates to a base relation should be
immediately reflected in all views that
reference that base relation.
• If view is updated, underlying base
relation should reflect change.
Updating Views
• There are restrictions on types of
modifications that can be made through
views:
– Updates are allowed if query involves a
single base relation and contains a
candidate key of base relation.
– Updates are not allowed involving multiple
base relations.
– Updates are not allowed involving
aggregation or grouping operations.
Updating Views
• Classes of views are defined as:
– theoretically not updateable;
– theoretically updateable;
– partially updateable.