Relational Model
Relational Model
UNIT-III
Relational Model (RM) represents the database as a collection of relations. A relation is nothing but a
table of values. Every row in the table represents a collection of related data values. These rows in the
table denote a real-world entity or relationship.
The table name and column names are helpful to interpret the meaning of values in each row. The data are
represented as a set of relations. In the relational model, data are stored as tables. However, the physical
storage of the data is independent of the way the data are logically organized.
1. Attribute: Each column in a Table. Attributes are the properties which define a relation. e.g.,
Student_Rollno, Name, etc.
2. Tables – In the Relational model the, relations are saved in the table format. It is stored along
with its entities. A table has two properties rows and columns. Rows represent records and
columns represent attributes.
3. Tuple – It is nothing but a single row of a table, which contains a single record.
4. Relation Schema: A relation schema represents the name of the relation with its attributes.
5. Degree: The total number of attributes which in the relation is called the degree of the relation.
6. Cardinality: Total number of rows present in the Table.
7. Column: The column represents the set of values for a specific attribute.
8. Relation instance – Relation instance is a finite set of tuples in the RDBMS system. Relation
instances never have duplicate tuples.
9. Relation key – Every row has one, two or multiple attributes, which is called relation key.
10. Attribute domain – Every attribute has some pre-defined value and scope which is known as
attribute domain.
There are many types of Integrity Constraints in DBMS. Constraints on the Relational database
management system is mostly divided into three main categories are:
1. Domain Constraints
2. Key Constraints
3. Referential Integrity Constraints
Domain Constraints
Domain constraints can be violated if an attribute value is not appearing in the corresponding domain or it
is not of the appropriate data type.
Domain constraints specify that within each tuple, and the value of each attribute must be unique. This is
specified as data types which include standard data types integers, real numbers, characters, Booleans,
variable length strings, etc.
Key Constraints
An attribute that can uniquely identify a tuple in a relation is called the key of the table. The value of the
attribute for different tuples in the relation has to be unique.
Example:
2 Amazon Active
3 Apple Inactive
In the given table, CustomerID is a key attribute of Customer Table. It is most likely to have a single key
for one customer, CustomerID =1 is only for the CustomerName =” Google”.
Example:
Tuple for CustomerID =1 is referenced twice in the relation Billing. So we know CustomerName=Google
has billing amount $300
Insert Operation
The insert operation gives values of the attribute for a new tuple which should be inserted into a relation.
Update Operation
You can see that in the below-given relation table CustomerName= „Apple‟ is updated from Inactive to
Active.
Delete Operation
To specify deletion, a condition on the attributes of the relation selects the tuple to be deleted.
The Delete operation could violate referential integrity if the tuple which is deleted is referenced by
foreign keys from other tuples in the same database.
Select Operation
Simplicity: A Relational data model in DBMS is simpler than the hierarchical and network
model.
Structural Independence: The relational database is only concerned with data and not with a
structure. This can improve the performance of the model.
Easy to use: The Relational model in DBMS is easy as tables consisting of rows and columns are
quite natural and simple to understand
Query capability: It makes possible for a high-level query language like SQL to avoid complex
database navigation.
Data independence: The Structure of Relational database can be changed without having to
change any application.
Scalable: Regarding a number of records, or rows, and the number of fields, a database should be
enlarged to enhance its usability.
Few relational databases have limits on field lengths which can‟t be exceeded.
Relational databases can sometimes become complex as the amount of data grows, and the
relations between pieces of data become more complicated.
Complex relational database systems may lead to isolated databases where the information cannot
be shared from one system to another.
Types of SQL
Here are five types of widely used SQL queries.
DDL
Data Definition Language helps you to define the database structure or schema. Five types of
DDL commands in SQL are:
1.CREATE
CREATE statements is used to define the database structure schema:
Syntax:
CREATE TABLE TABLE_NAME (COLUMN_NAME DATATYPES[,....]);
For example:
Create database university;
Create table students;
Create view for_students;
2.DROP
Drops commands remove tables and databases from RDBMS.
Syntax
DROP TABLE ;
For example:
3. ALTER
Alters command allows you to alter the structure of the database.
Syntax:
To add a new column in the table
ALTER TABLE table_name ADD column_name COLUMN-definition;
To modify an existing column in the table:
ALTER TABLE MODIFY(COLUMN DEFINITION....);
For example:
Alter table guru99 add subject varchar;
4.TRUNCATE:
This command used to delete all the rows from the table and free the space containing the table.
Syntax:
TRUNCATE TABLE table_name;
Example:
TRUNCATE table students;
INSERT
UPDATE
DELETE
1.INSERT:
This is a statement is a SQL query. This command is used to insert data into the row of a table.
Syntax:
INSERT INTO TABLE_NAME (col1, col2, col3,.... col N)
VALUES (value1, value2, value3, .... valueN);
Or
INSERT INTO TABLE_NAME
VALUES (value1, value2, value3, .... valueN);
For example:
INSERT INTO students (RollNo, FIrstName, LastName) VALUES ('60', 'Tom', Erichsen');
3.DELETE:
This command is used to remove one or more rows from a table.
Syntax:
DELETE FROM table_name [WHERE condition];
For example:
DELETE FROM students
WHERE FirstName = 'Jhon';
DCL
DCL (Data Control Language) includes commands like GRANT and REVOKE, which are
useful to give “rights & permissions.” Other permission controls parameters of the database
system.
Examples of DCL commands:
Commands that come under DCL:
Grant
Revoke
1.Grant:
This command is use to give user access privileges to a database.
Syntax:
GRANT SELECT, UPDATE ON MY_TABLE TO SOME_USER, ANOTHER_USER;
For example:
GRANT SELECT ON Users TO'Tom'@'localhost;
2.Revoke:
It is useful to back permissions from the user.
Syntax:
REVOKE privilege_name ON object_name FROM {user_name |PUBLIC |role_name}
For example:
REVOKE SELECT, UPDATE ON student FROM BCA, MCA;
2.Rollback
Rollback command allows you to undo transactions that have not already been saved to the
database.
Syntax:
ROLLBACK;
Example:
DELETE FROM Students
WHERE RollNo =25;
3.SAVEPOINT
This command helps you to sets a savepoint within a transaction.
Syntax:
SAVEPOINT SAVEPOINT_NAME;
Example:
SAVEPOINT RollNo;
DQL
Data Query Language (DQL) is used to fetch the data from the database. It uses only one
command:
SELECT:
This command helps you to select the attribute based on the condition described by the WHERE
clause.
Syntax:
SELECT expressions
FROM TABLES
WHERE conditions;
For example:
SELECT FirstName
FROM Student
WHERE RollNo > 15;