Dbms Lab Manual23-24
Dbms Lab Manual23-24
LABORATORY MANUAL
Faculty
: Ms. Priyanka Singh
Name
Course
: DBMS Lab
Name
Year/Sem : 3rd/5th
Email ID : [email protected]
Department : IoT
Course
: KCS551
Code
Academic
: 2023-24
Year
GENERAL INSTRUCTIONS
Do’s
Switch off mobiles in the lab.
Bring your lab record with you.
Always come to the lab in time.
Maintain silence and be attentive.
Keep individual records of observations.
Always turn off the computer properly before leaving the
lab.
Return all materials issued to you before leaving the lab.
Read the instruction manual carefully before performing
any experiment.
Don’ts
Every experiment is assessed from 15 marks. 5 Marks each for performance of experiment, record
and viva-voice. The following rubric is used for assessment of each practical:
DBMS Lab
(KCS551)
LAB FILE
Name of the Student
University Roll No.
Session
Batch
Year / Semester
Quality Policy
Quality Objectives
TOWARDS STUDENTS
• Steady Growth in Academic Performance
• Equip for Self Learning
• Make Technology Savvy
• Impart Human Values and Skills to Become
Successful andAdorable
TOWARDS SOCIETY
PSO 1
An ability to develop & manage Information
Technology resources of an individual or
organization.
PSO 2
An ability to develop IT solutions related to E-
governance, E-Commerce, E-Education and/ or
Health Care Management.
DBMS LAB
(KCS-551)
COURSE OUTCOMES
At the end of course, the student will be able to
Bloom’s
CO No. Course Outcome Knowledge
Level (KL)
DBMS LAB
(KCS-551)
CO-PO MAPPING
PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
C306.1 2 3 2 1 2 1 2 1 2 2
C306.2 2 3 2 1 2 1 2 1 2 2
C306.3 2 3 2 1 2 1 2 1 2 2
C306.4 2 3 2 1 1 1 2 1 2 2
C306.5 2 3 2 1 1 2 2 1 2 1 2 2
C306 2 3 2 1 1.6 2 2 1 2 1 2 2
CO-PSO MAPPING
PSO1 PSO2
C306.1 3 3
C306.2 3 3
C306.3 3 3
C306.4 3 3
C306.5 3 3
C306 3 3
DBMS LAB
(KCS-551)
LIST OF PRACTICALS
Expt. Title of experiment Corresponding
No. CO
C 306.1
1. Creating tables and writing Queries in SQL.
DBMS LAB
(KCS-551)
INDEX
(TO BEUSED BYTHE STUDENTS IN THEIR RECORDS)
PRACTICAL Faculty
PRACTICAL NO Date of Date of
NO Signature
Name Conduction Submission
No. with Date
the table
Trigger.
Lab No: 01
PRACTICAL No: - 01
Objective: Creating tables and writing Queries in SQL.
View definition-
The SQL DDL includes commands for defining views.
Transaction Control- SQL includes for specifying the beginning and ending of transactions.
Integrity-
The SQL DDL includes commands for specifying integrity constraints that the data stored in the
database must specify. Updates that violate integrity constraints are allowed.
Authorization-
The SQL DDL includes commands for specifying access rights to relations and views.
The SQL DDL allows specification of not only a set of relations but also information about each
relation, including-
Schema for each relation
The domain of values associated with each attribute.
The integrity constraints.
The set of indices to be maintained for each relation.
Pre-Practical Questions:
Q1. Difference b/w dbms and dbms?
Q2. How syntax of table and data type is define in SQL?
Q3. Differentiate b/w DDL & DML commands.
Syntax-
Create table tablename
(columnname datatype(size), columnname datatype(size));
Syntax-
CREATE TABLE TABLENAME
[(columnname, columnname, ………)]
AS SELECT columnname, columnname……..FROM tablename;
Syntax-
INSERT INTO tablename
[(columnname, columnname, ………)]
Values(expression, expression);
Syntax-
INSERT INTO tablename
SELECT columnname, columnname, …….
FROM tablename;
Syntax-
INSERT INTO tablename
SELECT columnname, columnname……..
FROM tablename
WHERE columnname= expression;
Syntax-
SELECT * FROM tablename;
Syntax-
SELECT columnname, columnname, ….
FROM tablename;
Syntax-
SELECT DISTINCT columnname, columnname
FROM tablename;
Syntax-
SELECT columnname, columnname
FROM tablename
Assignment No.1
Q1. Create the following tables:
i) client_master
ii) Product_master
Columnname datatype size
Product_no varchar2
Description varchar2
Profit_percent number
Unit_measure varchar2
Qty_on_hand number
Reoder_lvlnumber
Sell_price number
Cost_price number
Post-Practical Questions:
Q3:- On the basis of above two tables answer the following Queries:
i) Find out the names of all the clients.
ii) Retrieve the list of names and cities of all the clients.
iii) List the various products available from the product master table.
iv) List all the clients who are located in Bombay.
v) Display the information for client no 0001 and 0002.
vi) Find the products with description as ‘1.44 drive’ and ‘1.22 Drive’.
vii) Find all the products whose sell price is greater then 5000.
viii) Find the list of all clients who stay in in city ‘Bombay’ or city ‘Delhi’ or ‘Madras’.
ix) Find the product whose selling price is greater than 2000 and less than or equal to
5000.
x) List the name, city and state of clients not in the state of ‘Maharashtra’.
Lab No: 02
PRACTICAL No: - 02
Objective:- To implement various DML Operations on table.
Description
Deletion Operation:-
A delete reQuestionst is expressed in much the same way as Questionry. We can delete whole
tuple ( rows) we can delete values on only particulars attributes.
Syntax:
Delete from tablename :
+ Addition - Subtraction
* multiplication ** exponentiation
/ Division () Enclosed operation
Renaming columns used with Expression Lists: - The default output column names can be
renamed by the user if required
Syntax:
Logical Operators:
The logical operators that can be used in SQL sentenced are
Pattern Searching:
The most commonly used operation on string is pattern matching using the operation ‘like’ we
describe patterns by using two special characters.
Percent (%) ; the % character matches any substring we consider the following examples.
‘Perry %’ matches any string beginning with perry
‘% idge % matches any string containing’ idge as substring.
‘ - - - ‘ matches any string exactly three characters.
‘ - - - % matches any string of at least of three characters.
Oracle functions:
Functions are used to manipulate data items and return result. function follow the format of
function _name (argument1, argument2 ..) .An arrangement is user defined variable or constant.
The structure of function is such that it accepts zero or more arguments.
Examples:
Avg return average value of n
Syntax:
Avg ([distinct/all]n)
Min return minimum value of expr.
Syntax:
MIN((distict/all )expr)
Count Returns the no of rows where expr is not null
Syntax:
Count ([distinct/all)expr]
Count (*) Returns the no rows in the table, including duplicates and those with nulls.
Max Return max value of expr
Syntax:
Max ([distinct/all]expr)
Sum Returns sum of values of n
Syntax:
Sum ([distinct/all]n)
Sorting of data in table
Syntax:
Select columnname, columnname
From table
Order by columnname;
Assignment No. # 2
Post-Practical Questions:
Question.1 Using the table client master and product master answer the following Queries.
Lab No: 03
PRACTICAL No: - 03
Description:
Data constraints: Besides the cell name, cell length and cell data type there are other parameters
i.e. other data constrains that can be passed to the DBA at check creation time. The constraints
can either be placed at column level or at the table level.
i. Column Level Constraints: If the constraints are defined along with the column
definition, it is called a column level constraint.
ii. Table Level Constraints: If the data constraint attached to a specify cell in a table
reference the contents of another cell in the table then the user will have to use table level
constraints.
Null Value Concepts:- while creating tables if a row locks a data value for particular
column that value is said to be null . Column of any data types may contain null values
unless the column was defined as not null when the table was created
Syntax:
Primary Key: primary key is one or more columns is a table used to uniquickly identity
each row in the table. Primary key values must not be null and must be uniQuestion
across the column. A multicolumn primary key is called composite primary key.
UniQuestion key concept:-A uniQuestion is similar to a primary key except that the
purpose of a uniQuestion key is to ensure that information in the column for each record
Default value concept: At the line of cell creation a default value can be assigned to it.
When the user is loading a record with values and leaves this cell empty, the DBA wil
automatically load this cell with the default value specified. The data type of the default
value should match the data type of the column
Syntax:
Foreign Key Concept : Foreign key represents relationship between tables. A foreign
key is column whose values are derived from the primary key of the same of some other
table . the existence of foreign key implies that the table with foreign key is related to the
primary key table from which the foreign key is derived .A foreign key must have
corresponding primary key value in the primary key table to have meaning.
Foreign key as a column constraint
Syntax :
Create table table name
(columnname datatype (size) references another table name);
Syntax :
Create table name
(columnname datatype (size)….
primary key (columnname);
foreign key (columnname)references table name);
Check Integrity Constraints: Use the check constraints when you need to enforce
intergrity rules that can be evaluated based on a logical expression following are a few
examples of appropriate check constraints.
A check constraints name column of the coient_master so that the name is entered
in upper case.
Pre-Practical Questions:
Q1. What to you mean by key constraints in dbms?
Q2. Define primary and foreign key.
Q3.How check integrity constraint applies on a column?
Syntax:
Create table tablename
(columnname datatype (size) CONSTRAINT constraintname)
Check (expression));
ii. Sales_order
Columnname Datatype Size Attributes
S_order_no varchar2 6 Primary/first letter must be 0
S_order_date Date 6 Primary key reference clientno
of client_master table
Client_no Varchar2 25
Dely_add Varchar2 6
Salesman_no Varchar2 6 Foreign key references
salesman_no of
salesman_master table
Dely_type Char 1 Delivery part(p)/full(f),default f
Billed_yn Char 1
Dely_date Date Can not be lessthan
s_order_date
I. Sales_order_details
Column Datatype Size Attributes
Insert the following data into their respective tables using insert statement:
Data for sales_man master table
(ii)
Data for salesorder table:
S_orderno S_orderdate Client no Dely Bill Salesman no Delay Orderstatus
type yn date
019001 12-jan-96 0001 F N 50001 20-jan- Ip
96
019002 25-jan-96 0002 P N 50002 27-jan- C
96
(iii)
Data for sales_order_details table:
Lab No: 04
PRACTICAL No: - 04
Description:
Modifying the Structure of Tables- Alter table command is used to changing the structure of a
table. Using the alter table clause you cannot perform the following tasks:
The following tasks you can perform through alter table command.
NOTE: Oracle not allow constraints defined using the alter table, if the data in the table, violates
such constraints.
Syntax:
DROP TABLE tabename:
You can also define integrity constraints using the constraint clause in the ALTER TABLE
command. The following examples show the definitions of several integrity constraints.
Pre-Practical Questions:
Q1. Differentiate b/w alter and update command.
You can drop an integrity constraint if the rule that if enforces is no longer true or if the
constraint is no longer needed. Drop the constraint using the ALTER TABLE command with the
DROP clause. The following examples illustrate the droping of integrity constraints.
Assignment No.4
Question 1. Create the following tables:
Challan_Header
Column name data type size Attributes
Challan_no varchar2 6 Primary key
s_order_no varchar2 6 Foreign key references s_order_no of
sales_order table
challan_date date not null
billed_yn char 1 values (‘Y’,’N’). Default ‘N’
Q2. Insert the following values into the challan header and challan_details tables:
Post-Practical Questions:
Q1. Make the primary key to client_no in client_master.
Q2. Add a new column phone_no in the client_master table.
Q3. Add the not null constraint in the product_master table with the columns description, profit
percent , sell price and cost price.
Q4. Change the size of client_no field in the client_master table.
Q5. Select product_no, description where profit percent is between 20 and 30 both inclusive.
Lab No: 05
PRACTICAL No: - 05
Objective:- To implement the concept of Joins
Description
Joint Multiple Table (Equi Join): Some times we require to treat more than one table as though
manipulate data from all the tables as though the tables were not separate object but one single
entity. To achieve this we have to join tables.Tables are joined on column that have dame data
type and data with in tables.
The tables that have to be joined are specified in the FROM clause and the joining
attributes in the WHERE clause.
Pre-Practical Questions:
Q1. Why joins are required in database?
Q2. What is minimal requirement for two tables to apply join command?
Q3. Differentiate b/w inner and outer join.
1. Cartesian product:-
Consider two table student and course
Select B.*,P.*
FROM student B, course P;
2. INNER JOIN:
Cartesian product followed by selection
Select B.*,P.*
FROM student B, Course P
WHERE B.course # P.course # ;
Exam:
Select B.*,P.*
From student B RIGHT JOIN course P
B.course# = P course # ;
ASSIGNMENT NO. 5
Post-Practical Questions:
1. Find out the product which has been sold to ‘Ivan Sayross.’
2. Find out the product and their quantities that will have do delivered.
3. Find the product_no and description of moving products.
4. Find out the names of clients who have purchased ‘CD DRIVE’
5. List the product_no and s_order_no of customers haaving qty ordered less than 5 from
the order details table for the product “1.44 floppies”.
6. Find the products and their quantities for the orders placed by ‘Vandan Saitwal ’ and
“Ivan Bayross”.
7. Find the products and their quantities for the orders placed by client_no “ C00001” and
“C00002”
8. Find the order No,, Client No and salesman No. where a client has been received by more
than one salesman.
9. Display the s_order_date in the format “dd-mm-yy” e.g. “12- feb-96”
10. Find the date , 15 days after date.
Lab No: 06
PRACTICAL No: - 06
Description
Grouping Data From Tables:
There are circumstances where we would like to apply the aggregate function not only to a
single set of tuples, but also to a group of sets of tuples, we specify this wish in SQL using the
group by clause. The attribute or attributes given in the group by clause are used to form group.
Tuples with the same value on all attributes in the group by clause are placed in one group.
Pre-Practical Questions:
Q1. Why groups are required in database?
Q2. What is minimal requirement for two tables to group together?
Q3. Differentiate b/w group & join syntax.
Syntax:
SELECT columnname, columnname
FROM tablename
GROUP BY columnname;
At times it is useful to state a condition that applies to groups rather than to tuples. For example
we might be interested in only those branches where the average account balance is more than
1200. This condition does not apply to a single tuple, rather it applies to each group constructed
by the GROUP BY clause. To express such Questionry, we use the having clause of SQL. SQL
applies predicates in the having may be used.
Syntax:
SELECT columnname, columnname
FROM tablename
GROUP BY columnname;
HAVING searchcondition;
Q1.- Print the description and total quantity sold for each product.
Q2.- Find the value of each product sold.
Q3.- Calculate the average quantity sold for each client that has a maximum order value of
15000.
Q4.- Find out the products which has been sold to Ivan.
Q5.- Find the names of clients who have ‘CD Drive’.
Q6.- Find the products and their quantities for the orders placed by ‘Vandana’ and ‘Ivan’.
Q7.- Select product_no, total qty_ordered for each product.
Q8.- Select product_no, product description and qty ordered for each product.
Q9.- Display the order number and day on which clients placed their order.
Q10.- Display the month and Date when the order must be delivered.
Lab No: 07
PRACTICAL No: - 07
Description
Sub Queries:- A Sub Queries is a form of an SQL statement that appears inside another SQL
statement. It also termed as nested Questionry. The statement containing a Sub Queries called a
parent statement. The rows returned bu the Sub Queries are use by the following statement.
It can be used by the following commands:
1. To insert records in the target table.
2. To create tables and insert records in this table.
3. To update records in the target table.
4. To create view.
5. To provide values for the condition in the WHERE , HAVING IN , SELECT,UPDATE,
and DELETE statements.
Pre-Practical Questions:
Q1. How logical operators apply at SQL table?
Q2. How sub quires apply at table?
Q3.Difference b/w quires and sub-quires.
Output: = Records only in Questionry one + records only in Questionry two + A single set of
records with is common in the both Queries.
Syntax:
Intersect Clause: The use can put together multiple Queries and their output using the interest
clause. The final output of the interest clause will be :
Syntax:
SELECT columnname, columnname
FROM tablename 1
INTERSECT
SELECT columnname, columnname
FROM tablename 2;
MINUS CLAUSE:- The user can put together multiple Queries and combine their output =
records only in Questionry one
Syntax:
SELECT columnname, columnname
FROM tablename ;
MINUS
SELECT columnname, columnname
FROM tablename ;
Assignment NO.7
Post-Practical Questions:
1. Find the product_no and description of non- moving products.
2. Find the customer name, address, city and pincode for the client who has placed order no
“019001”
3. Find the client names who have placed order before the month of may 96.
4. Find out if product “1.44 Drive” is ordered by only client and print the client_no name to
whom it was sold.
5. find the names of client who have placed orders worth Rs.10000 or more.
6. Select the orders placed by ‘Rahul Desai”
7. Select the names of persons who are in Mr. Pradeep’s department and who have also
worked on an inventory control system.
8. Select all the clients and the salesman in the city of Bombay.
9. Select salesman name in “Bombay” who has atleast one client located at “Bombay”
10. Select the product_no, description, qty_on-hand,cost_price of non_moving items in the
product_master table.
Lab No: 08
PRACTICAL No: - 08
Description:
Indexes- An index is an ordered list of content of a column or group of columns in a table. An index
created on the single column of the table is called simple index. When multiple table columns are
included in the index it is called composite index.
Creating an Index for a table:-
Syntax (Simple)
CREATE INDEX index_name
ON tablename(column name);
Composite Index:-
CREATE INDEX index_name
ON tablename(columnname,columnname);
Creating an UniQuestion Index:-
CREATE UNIQUESTION INDEX indexfilename
ON tablename(columnname);
Dropping Indexes:-
An index can be dropped by using DROP INDEX
SYNTAX:-
DROP INDEX indexfilename;
Views:-
Logical data is how we want to see the current data in our database. Physical data is how
this data is actually placed in our database.
Views are masks placed upon tables. This allows the programmer to develop a method
via which we can display predetermined data to users according to our desire.
Views may be created fore the following reasons:
1. The DBA stores the views as a definition only. Hence there is no duplication of data.
2. Simplifies Queries.
3. Can be Questionried as a base table itself.
4. Provides data security.
5. Avoids data redundancy.
WHERE columnname=expression_list;
Destroying a view-
Syntax:-
DROP VIEW viewname;
Assignment # 8
Post-Practical Questions:
Lab No: 09
PRACTICAL No: - 09
Introduction – PL/SQL bridges the gap between database technology and procedural
programming languages. It can be thought of as a development tool that extends the facilities of
Oracles SQL database language. Via PL/SQL you can insert, delete, update and retrieve table
data as well as use procedural techniQuestions such as writing loops or branching to another
block of code.
DECLARE
Declarations of memory variables used later
BEGIN
SQL executable statements for manipulating table data.
EXCEPTIONS
SQL and/or PL.SQL code to handle errors.
END;
Displaying user Messages on the screen – Any programming tool requires a method through
which messages can be displayed to the user.
dbms_output is a package that includes a number of procedure and functions that accumulate
information in a buffer so that it can be retrieved later. These functions can also be used to
display message to the user.
put_line: put a piece of information in the buffer followed by a end of line marker. It can also be
used to display message to the user.
Setting the server output on:
Example: Write the following code in the PL/SQL block to display message to user
DBMS_OUTPUT.PUT_LINE(‘Display user message’)
The GOTO statement: The goto statement allows you to change the flow of control within a
PL/SQL Block.
Assignment No.9
Q1. WAP in PL/SQL for addition of two numbers.
Q4. WAP in PL/SQL to inverse a number, eg. Number 5639 when inverted must be display
output 9365.
Q5. WAP in PL/SQL for changing the price of product ‘P00001’ to 4000 if the price is less than
4000 in product_master table. The change is recorded in the old_price_table along with
product_no and the date on which the price was changed last.
Lab No: 10
PRACTICAL No: 10
Description:
Cursor– We have seen how oracle executes an SQL statement. Oracle DBA uses a work area for
its internal processing. This work area is private to SQL’s operation and is called a cursor.
The data that is stored in the cursor is called the Active Data set. The size of the cursor in
memory is the size required to hold the number of rows in the Active Data Set.
Explicit Cursor- You can explicitly declare a cursor to process the rows individually. A cursor
declared by the user is called Explicit Cursor. For Queries that return more than one row, You
must declare a cursor explicitly.
The data that is stored in the cursor is called the Active Data set. The size of the cursor in
memory is the size required to hold the number of rows in the Active
Why use an Explicit Cursor- Cursor can be used when the user wants to process data one row
at a time.
Explicit Cursor Management- The steps involved in declaring a cursor and manipulating data
in the active data set are:-
Declare a cursor that specifies the SQL select statement that you want to process.
Open the Cursor.
Fetch the data from the cursor one row at a time.
Close the cursor.
Explicit Cursor Attributes- Oracle provides certain attributes/ cursor variables to control the
execution of the cursor. Whenever any cursor(explicit or implicit) is opened and used Oracle
creates a set of four system variables via which Oracle keeps track of the ‘Current’ status of the
cursor. You
Declare a cursor that specifies the SQL select statement that you want to process.
Open the Cursor.
Fetch the data from the cursor one row at a time.
Close the cursor.
How to Declare the Cursor:-
The General Syntex to Fetch the records from the cursor is as follows:-
Fetch cursorname into variable1,variable2,______
Closing a Cursor:-
Database Triggers:-
Database triggers are procedures that are stored in the database and are implicitly executed(fired)
when the contents of a table are changed.
Types of Triggers:-
Assignmnet No.10
Q1:- Two Tables are there
The HRD manager has decided to raise the salary for all the employees in the Dept No 20 by 5%.
Whenever any such raise is given to the employees, a record for the same is maintained in the
emp_raise table. It includes the EmpNo, the date when the raise was given and the actual raise.
Write a PL/SQL block to update the salary of each employee and insert a record in the emp_raise
table.
Create a transparent audit system for a table Client master. The system must keep track of the
records that are being deleted or modified and when they have been deleted or modified.