Introduction To RDBMS
Introduction To RDBMS
The columns of this relation are called Fields, Attributes or Domains. The rows are
called Tuples or Records.
We now have a collection of 4 tables. They can be called a “related collection” because
we can clearly find out that there are some common attributes existing in a selected pair of tables.
Because of these common attributes we may combine the data of two or more tables together to
find out the complete details of a student. Questions like “Which hostel does the youngest student
live in?” can be answered now, although Age and Hostel attributes are in different tables.
In a database, data is organized strictly in row and column format. The rows are called
Tuple or Record. The data items within one row may belong to different data types. On the other
hand, the columns are often called Domain or Attribute. All the data items within a single
attribute are of the same data type.
What is Management System?
A management system is a set of rules and procedures which help us to create organize
and manipulate the database. It also helps us to add, modify delete data items in the database. The
management system can be either manual or computerized.
The management system is important because without the existence of some kind of rules
and regulations it is not possible to maintain the database. We have to select the particular
attributes which should be included in a particular table; the common attributes to create
relationship between two tables; if a new record has to be inserted or deleted then which tables
should have to be handled etc. These issues must be resolved by having some kind of rules to
follow in order to maintain the integrity of the database.
What is Relational Database Management System (RDBMS)?
A DBMS that is based on relational model is called as RDBMS. Relation model is most
successful mode of all three models. Designed by E.F. Codd, relational model is based on the
theory of sets and relations of mathematics.
Relational model represents data in the form a table. A table is a two dimensional array
containing rows and columns. Each row contains data related to an entity such as a student. Each
column contains the data related to a single attribute of the entity such as student name.
One of the reasons behind the success of relational model is its simplicity. It is easy to
understand the data and easy to manipulate.
Almost all Database systems that are sold in the market, now- a-days, have either
complete or partial implementation of relational model.
Tuple / Row:
A single row in the table is called as tuple. Each row represents the data of a single entity.
Attribute / Column:
A column stores an attribute of the entity. For example, if details of students are stored
then student name is an attribute; course is another attribute and so on.
Column Name:
Each column in the table is given a name. This name is used to refer to value in the
column.
Table Name:
Each table is given a name. This is used to refer to the table. The name depicts the content
of the table.
Primary Key:
A table contains the data related entities. If you take STUDETNS table, it contains data
related to students. For each student there will be one row in the table. Each student’s data in the
table must be uniquely identified. In order to identify each entity uniquely in the table, we use a
column in the table. That column, which is used to uniquely identify entities (students) in the
table, is called as primary key.
In case of STUDENTS table (see figure 1) we can use ROLLNO as the primary key as it
is not duplicated. So a primary key can be defined as a set of columns used to uniquely identify
rows of a table. Some other examples for primary keys are account number in bank, product code
of products, and employee number of an employee.
Composite Primary Key:
In some tables a single column cannot be used to uniquely identify entities (rows). In that
case we have to use two or more columns to uniquely identify rows of the table.
When a primary key contains two or more columns it is called as composite primary key.
In figure 2, we have PAYMENTS table, which contains the details of payments made by
the students. Each row in the table contains roll number of the student, payment date and amount
paid. Neither of the columns can uniquely identify rows. So we have to combine ROLLNO and
DP to uniquely identify rows in the table. As primary key is consisting of two columns it is called
as composite primary key.
Foreign Key:
In relational model, we often store data in different tables and put them together to get
complete information. For example, in PAYMENTS table we have only ROLLNO of the student.
To get remaining information about the student we have to use STUDETNS table. Roll number
in PAYMENTS table can be used to obtain remaining information about the student.
The relationship between entities student and payment is one-to-many. One student may
make payment for many times. As we already have ROLLNO column in PAYMENTS table, it is
possible to join with STUDENTS table and get information about parent entity (student).
Roll number column of PAYMENTS table is called as foreign key as it is used to join
PAYMENTS table with STUDENTS table. So, foreign key is the key on the many side of the
relationship.
ROLLNO column of PAYMENTS table must derive its values from ROLLNO column of
STUDENTS table.
When a child table contains a row that doesn’t refer to a corresponding parent key, it is
called as orphan record. We must not have orphan records, as they are result of lack of data
integrity.
Integrity Rules:
Data integrity is to be maintained at any cost. If data loses integrity it becomes garbage.
So every effort is to be made to ensure data integrity is maintained. The following are the main
integrity rules that are to be followed.
• Domain integrity:
Data is said to contain domain integrity when the value of a column is derived from the
domain. Domain is the collection of potential values. For example, column date of joining must
be a valid date. All valid dates form one domain. If the value of date of joining is an invalid date,
then it is said to violate domain integrity.
• Entity integrity:
This specifies that all values in primary key must be not null and unique. Each entity that
is stored in the table must be uniquely identified. Every table must contain a primary key and
primary key must be not null and unique.
• Referential Integrity:
This specifies that a foreign key must be either null or must have a value that is derived
from corresponding parent key. For example, if we have a table called
BATCHES, then ROLLNO column of the table will be referencing ROLLNO column of
STUDENTS table. All the values of ROLLNO column of BATCHES table must be derived from
ROLLNO column of STUDENTS table. This is because of the fact that no student who is not
part of STUDENTS table can join a batch.
• DDL (Data Definition Language): DDL commands are used to define, modify and
delete the structure of database and its objects. Example: CREATE, ALTER, DROP etc.
• DML (Data Manipulation Language): DML commands are used to insert, update
and delete data to existing table. Example: INSERT, UPDATE, DELETE
• DCL (Data Control Language): DCL commands are used to grant and revoke
different privilege to/from user. Example: GRANT, REVOKE
• TCL (Transaction Control Language): TCL commands are used to complete a
transaction. Example: COMMIT, ROLLBACK
• DQL/DRL (Data Query/Retrieving Language): DQL/DRL command is used to select
retrieve data from database. Example: SELECT
6. Data Abstraction: It means hiding implementation details(i.e. high level details) from
end user. e.g. In case of storage of data in database user can only access the database, but
implementation details such as how the data is stored physically onto the disc is hidden from user.
There three levels of abstraction:
• Physical level: The lowest level of abstraction describes how data are stored.
• Logical level: The next higher level of abstraction, describes what data are stored
in database and what relationship among those data.
• View level: The highest level of abstraction describes only part of entire database.