Relational Database Management
A type of database in which records are stored in
relational form is called relational database
management system.
Relational Data Structure
Relational database
Relational Data Structure
A relation is a table with columns and rows.
An attribute is a named column of a relation.
A domain is the set of allowable values for one or
more attributes.
Relational Data Structure
A tuple is a row of a relation.
The degree of a relation is the number of attributes it
Cardinality The cardinality of a relation is the number of
tuples it contains.
•Relational database
A collection of normalized relations with distinct
Database Relations
A named relation defined by a set of
attribute and domain name pairs.
•Relational database Schema
A set of relation schemas, each with
a distinct name.
Properties of Relations
A relation has the following properties:
• The relation has a name that is distinct from all other relation names in the
•Each cell of the relation contains exactly one atomic (single) value;
• Each attribute has a distinct name;
• The values of an attribute are all from the same domain;
• Each tuple is distinct; there are no duplicate tuples;
• The order of attributes has no significance;
• The order of tuples has no significance, theoretically. (However, in practice, the
order may affect the efficiency of accessing tuples.)
Relational Keys
Super key
An attribute, or set of attributes, that uniquely
identifies a tuple within a
•Candidate key
A super key such that no proper subset is a super
key within the relation.
Relational Keys
A candidate key, K, for a relation R has two properties:
Uniqueness-:in each tuple of R, the values of K uniquely identify
that tuple.
2. Irreducibility-:no proper subset of K has the uniqueness
Relational Keys
•Primary key
The candidate key that is selected to identify tuples
uniquely within the relation.
•Foreign key
An attribute, or set of attributes, within one relation
that matches the candidate key of some (possibly the same)
Representing Relational Database
The common convention for representing a relation schema is to give
the name of the relation
followed by the attribute names in parentheses. Normally, the primary
key is underlined.
Branch (branchNo, street, city, postcode)
Staff (staffNo, fName, lName, position, sex, DOB, salary, branchNo)
PropertyForRent (propertyNo, street, city, postcode, type, rooms, rent,
ownerNo, staffNo,
Client (clientNo, fName, lName, telNo, prefType, maxRent)
Integrity Constraints
•Defining the types of operation that are allowed on the data, and a set of
integrity constraints, which ensure that the data is accurate.
The two principal rules for the relational model are known as
entity integrity and referential integrity. Other types of
integrity constraint are multiplicity, and general constraints
•A null can be taken to mean the logical value ‘unknown’. It can mean that a
value is not applicable to a particular tuple, or it could merely mean that no
value has yet been supplied.
• Nulls are a way to deal with incomplete or exceptional data. However, a
null is not the same as a zero numeric value or a text string filled with
spaces; zeros and spaces are values, but a null represents the absence of a
Entity Integrity
•By definition, a primary key is a minimal identifier that is used to identify
tuples uniquely.
•This means that no subset of the primary key is sufficient to provide unique
identification of tuples.
•If we allow a null for any part of a primary key, we are implying that not all
the attributes are needed to distinguish between tuples, which contradicts
the definition of the primary key
Referential Integrity
•If a foreign key exists in a relation, either the foreign key value must
match a candidate key value of some tuple in its home relation
or the foreign key value must be wholly null.
General Constraints
Additional rules specified by the users or database administrators of
a database that define or constrain some aspect of the
•The dynamic result of one or more relational operations operating
on the base relations to produce another relation.
•A view is a virtual relation that does not necessarily exist in the
database but can be produced upon request by a particular user, at
the time of request.
Purpose of Views
•It provides a powerful and flexible security mechanism by hiding parts of
the database from certain users.
•It permits users to access data in a way that is customized to their needs, so
that the same data can be seen by different users in different ways, at the
same time.
•It can simplify complex operations on the base relations.