nitin dbms lab file
nitin dbms lab file
EXP 1 :- Write the queries for Data Definition and Data Manipulation
Language.
Query
Section VARCHAR(4),
Hostel VARCHAR(10),
Address VARCHAR(50)
);
UNIQUE (Title)
);
Roll_No BIGINT(10),
Book_id VARCHAR(10),
Date_Issue DATE,
Date_Return DATE,
);
empno VARCHAR(5),
empname CHAR(10),
job CHAR(10),
city CHAR(10),
deptno VARCHAR(5)
);
pno VARCHAR(5),
pname CHAR(10),
eno VARCHAR(5)
);
dno VARCHAR(5),
dname CHAR(10),
dlocation CHAR(10),
pno VARCHAR(10)
);
desc empl018;
Nitin Kumar 2200910100115
JSS Academy of Technical Education Noida
Department of Computer Science and Engineering
desc projo18;
desc dept018;
desc empl018;
desc empl018;
desc empl018;
UPDATE emp018
INSERT INTO STUDENT (Roll_No, Name, Branch, Year, Section, Hostel, F_name, Address)
VALUES (1209113053, 'Roffery', 'CS', 4, 'CS1', 'Sanskriti', 'John', '12/45 Lajpat Nagar, Delhi');
INSERT INTO STUDENT (Roll_No, Name, Branch, Year, Section, Hostel, F_name, Address)
VALUES (1209113059, 'Ron', 'EC', 4, 'EC-2', 'Sanskriti', 'Jay', '12/85 Sec-67, Noida');
INSERT INTO BOOK (Book_ID, Title, Author, Co_Author, Publisher, Cost, Copies)
SELECT empname
FROM emp018
SELECT empname
FROM emp018
SELECT empname
FROM emp018
FROM emp018
SELECT empname
FROM emp018
SELECT empname
FROM emp018
SELECT empname
FROM emp018
FROM emp018
SELECT *
FROM emp018
COMMIT;
FROM emp018
FROM emp018
OUTPUT-
+---------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+---------------+------+-----+---------+-------+
| empno | varchar(5) | YES | | NULL | |
| empname | char(10) | YES | | NULL | |
| job | char(10) | YES | | NULL | |
| city | char(10) | YES | | NULL | |
| salary | decimal(10,2) | YES | | NULL | |
| deptno | varchar(5) | YES | | NULL | |
+---------+---------------+------+-----+---------+-------+
+-------+------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+------------+------+-----+---------+-------+
| pno | varchar(5) | YES | | NULL | |
| pname | char(10) | YES | | NULL | |
| eno | varchar(5) | YES | | NULL | |
+-------+------------+------+-----+---------+-------+
+-----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------+-------+
| dno | varchar(5) | YES | | NULL | |
| dname | char(10) | YES | | NULL | |
| dlocation | char(10) | YES | | NULL | |
| pno | varchar(10) | YES | | NULL | |
+-----------+-------------+------+-----+---------+-------+
+-------+------------+-----------+-----------+----------+--------+
| empno | empname | job | city | salary | deptno |
+-------+------------+-----------+-----------+----------+--------+
| e1 | Charu | HR | Agra | 50000.00 | d1 |
| e2 | Meenamkshi | IT | Jhansi | 40000.00 | d2 |
| e3 | Ankita | Marketing | Delhi | 60000.00 | d3 |
| e4 | jai | Finance | Bangalore | 40000.00 | d4 |
+---------+
+-------+---------+----------+
| empno | empname | salary |
+-------+---------+----------+
| e1 | Charu | 50000.00 |
| e4 | jai | 50000.00 |
+-------+---------+----------+
+-------+---------+---------+-----------+----------+--------+
| empno | empname | job | city | salary | deptno |
+-------+---------+---------+-----------+----------+--------+
| e1 | Charu | HR | Agra | 50000.00 | d1 |
| e4 | jai | Finance | Bangalore | 50000.00 | d4 |
+-------+---------+---------+-----------+----------+--------+
+-------+---------+
| empno | empname |
+-------+---------+
| e1 | Charu |
+-------+---------+
+-------+---------+
| empno | empname |
+-------+---------+
| e6 | Shivani |
+-------+---------+
EXP 2:- To explore ‘select’ statement using various clauses like where, order
by, between, like, group by, having and logical/relational operators.To
implement various DML statement.
Query-
);
INSERT INTO EMPLOYEE (eno, ename, ejob, emgr, doj, sal, perks, dno)
VALUES
SELECT eno, ename FROM EMPLOYEE WHERE ejob = 'clerk' AND dno = 20;
COMMIT;
OUTPUT-
+------+-------+-----------+------+------------+---------+---------+------+
| eno | ename | ejob | emgr | doj | sal | perks | dno |
+------+-------+-----------+------+------------+---------+---------+------+
| 11 | x | clerk | 34 | 1980-10-07 | 800.00 | NULL | 10 |
| 12 | y | sales | 24 | 1985-12-15 | 1600.00 | 500.00 | 20 |
| 13 | z | sales | 34 | 1981-04-25 | 1600.00 | 300.00 | 10 |
| 14 | xy | manager | 23 | 1981-05-13 | 2975.00 | NULL | 20 |
| 21 | xz | analyst | 34 | 1987-05-12 | 1100.00 | NULL | 30 |
| 22 | yz | clerk | 14 | 1981-11-22 | 850.00 | NULL | 30 |
| 23 | zz | president | NULL | 1984-01-22 | 5000.00 | NULL | 10 |
| 24 | xx | manager | 23 | 1980-10-27 | 2400.00 | 0.00 | 10 |
| 31 | yy | sales | 24 | 1980-05-22 | 1500.00 | 1500.00 | 20 |
| 32 | xyz | analyst | 24 | 1985-11-05 | 1600.00 | 300.00 | 20 |
| 33 | zyx | sales | 24 | 1987-03-03 | 1200.00 | 700.00 | 10 |
| 34 | yxz | manager | 23 | 1985-06-13 | 2500.00 | NULL | 30 |
+------+-------+-----------+------+------------+---------+---------+------+
+-------+---------+
| ename | sal |
+-------+---------+
| x | 800.00 |
| y | 1600.00 |
| z | 1600.00 |
| xy | 2975.00 |
| xz | 1100.00 |
| yz | 850.00 |
| zz | 5000.00 |
| xx | 2400.00 |
| yy | 1500.00 |
| xyz | 1600.00 |
| zyx | 1200.00 |
| yxz | 2500.00 |
+-------+---------+
+------+------+------+
| dno | eno | emgr |
+------+------+------+
| 10 | 11 | 34 |
| 20 | 12 | 24 |
| 10 | 13 | 34 |
| 20 | 14 | 23 |
| 30 | 21 | 34 |
| 30 | 22 | 14 |
| 10 | 23 | NULL |
| 10 | 24 | 23 |
| 20 | 31 | 24 |
| 20 | 32 | 24 |
| 10 | 33 | 24 |
| 30 | 34 | 23 |
+------+------+------+
+------+-------+---------+------+------------+---------+---------+------+
| eno | ename | ejob | emgr | doj | sal | perks | dno |
+------+-------+---------+------+------------+---------+---------+------+
| 12 | y | sales | 24 | 1985-12-15 | 1600.00 | 500.00 | 20 |
| 14 | xy | manager | 23 | 1981-05-13 | 2975.00 | NULL | 20 |
| 31 | yy | sales | 24 | 1980-05-22 | 1500.00 | 1500.00 | 20 |
| 32 | xyz | analyst | 24 | 1985-11-05 | 1600.00 | 300.00 | 20 |
+------+-------+---------+------+------------+---------+---------+------+
+-------+---------+
| ename | sal |
+-------+---------+
| y | 1600.00 |
| z | 1600.00 |
| xy | 2975.00 |
| xz | 1100.00 |
| zz | 5000.00 |
| xx | 2400.00 |
| yy | 1500.00 |
| xyz | 1600.00 |
| zyx | 1200.00 |
| yxz | 2500.00 |
+-------+---------+
+------+-------+
| eno | ename |
+------+-------+
| 14 | xy |
| 24 | xx |
| 34 | yxz |
+------+-------+
+-------+---------+
| ename | ejob |
+-------+---------+
| y | sales |
| z | sales |
| xz | analyst |
| yy | sales |
| xyz | analyst |
| zyx | sales |
+-------+---------+
+-------+
| ename |
+-------+
| x |
| z |
| xy |
| yz |
| zz |
| xx |
| yy |
+-------+
List the name, salary and PF of all employees. (where PF is 10% of salary)
List empno, name and salary of all employees in the ascending order of salary.
Display the maximum ,min and average of employee salary working in department 10.
Query-
eno DECIMAL(4,0),
ename VARCHAR(10),
ejob VARCHAR(9),
emgr DECIMAL(4,0),
doj DATE,
sal DECIMAL(7,2),
perks DECIMAL(7,2),
dno DECIMAL(2,0),
age INT,
);
INSERT INTO EMPLOYEE (eno, ename, ejob, emgr, doj, sal, perks, dno, age)
VALUES
FROM EMPLOYEE;
FROM EMPLOYEE;
Nitin Kumar 2200910100115
JSS Academy of Technical Education Noida
Department of Computer Science and Engineering
FROM EMPLOYEE
FROM EMPLOYEE
FROM EMPLOYEE
FROM EMPLOYEE;
FROM EMPLOYEE
MIN(sal) AS MIN_SALARY,
AVG(sal) AS AVG_SALARY
FROM EMPLOYEE
FROM EMPLOYEE;
FROM EMPLOYEE;
FROM EMPLOYEE;
FROM EMPLOYEE
COMMIT;
OUTPUT-
+-------+---------+----------+
| ename | sal | PF |
+-------+---------+----------+
| x | 800.00 | 80.0000 |
| y | 1600.00 | 160.0000 |
| z | 1600.00 | 160.0000 |
| xy | 2975.00 | 297.5000 |
| xyz | 1800.00 | 180.0000 |
| yz | 850.00 | 85.0000 |
| xx | 5000.00 | 500.0000 |
| xx | 2400.00 | 240.0000 |
| y | 1500.00 | 150.0000 |
| xyz | 1800.00 | 180.0000 |
| zyx | 1200.00 | 120.0000 |
| yyx | 2500.00 | 250.0000 |
+-------+---------+----------+
+-------+---------+----------+-----------+-----------+-----------+
| ename | sal | PF | HRA | DA | GROSS |
+-------+---------+----------+-----------+-----------+-----------+
| x | 800.00 | 80.0000 | 160.0000 | 400.0000 | 1360.0000 |
| y | 1600.00 | 160.0000 | 320.0000 | 800.0000 | 2720.0000 |
| z | 1600.00 | 160.0000 | 320.0000 | 800.0000 | 2720.0000 |
+--------------+
| 24025.00 |
+--------------+
+------------+
| MAX_SALARY |
+------------+
| 1600.00 |
+------------+
+------------+------------+-------------+
| MAX_SALARY | MIN_SALARY | AVG_SALARY |
+------------+------------+-------------+
| 2400.00 | 800.00 | 1516.666667 |
+------------+------------+-------------+
+---------------+
| NUM_EMPLOYEES |
+---------------+
| 12 |
+---------------+
+----------+
| NUM_JOBS |
+----------+
| 5 |
+----------+
+------------+
| MAX_SALARY |
+------------+
| 5000.00 |
+------------+
+------------+
| MAX_SALARY |
+------------+
| 1600.00 |
+------------+
EXP 3:- To implement nested and correlated queries and to create various
views and indexes and to implement Cursors and triggers using PL/SQL.
Query-
SET PAGESIZE 50
Title VARCHAR2(100),
Author VARCHAR2(100),
PublishedYear NUMBER
);
INSERT INTO BOOK (BookID, Title, Author, PublishedYear) VALUES (1, 'Database
Management Systems', 'Raghu Ramakrishnan', 2020);
INSERT INTO BOOK (BookID, Title, Author, PublishedYear) VALUES (2, 'Operating Systems',
'Andrew S. Tanenbaum', 2018);
UPDATE BOOK
SET PAGESIZE 50
Name VARCHAR2(100),
Hostel VARCHAR2(100),
Course VARCHAR2(100)
);
INSERT INTO STUDENT (Roll_No, Name, Hostel, Course) VALUES (101, 'Alice', 'Hostel A',
'Computer Science');
INSERT INTO STUDENT (Roll_No, Name, Hostel, Course) VALUES (102, 'Bob', 'Hostel B',
'Mechanical Engineering');
INSERT INTO STUDENT (Roll_No, Name, Hostel, Course) VALUES (100, 'Charlie', 'Hostel C',
'Electrical Engineering');
UPDATE STUDENT
SELECT *
FROM STUDENT
ORDER BY Roll_No;
SELECT *
FROM BOOK
Book_id NUMBER,
Issue_date DATE,
Return_date DATE,
);
SELECT b.*
FROM BOOK b
SELECT *
FROM BOOK
SELECT Book_id
FROM TRANSACTION
);
UPDATE STUDENT
SET Year = 4
WHERE Roll_No = 101; -- Replace 101 with the actual Roll_No of the student
SELECT *
FROM STUDENT
AND Year = 4
UPDATE TRANSACTION
WHERE Transaction_id = 1;
SELECT S.Name
FROM STUDENT S
Nitin Kumar 2200910100115
JSS Academy of Technical Education Noida
Department of Computer Science and Engineering
SELECT S.Name
FROM STUDENT S
SELECT *
FROM STUDENT S
SELECT 1
FROM TRANSACTION T
);
FROM STUDENT S
UPDATE BOOK
WHERE BookID = 1;
UPDATE BOOK
WHERE BookID = 2;
UPDATE BOOK
WHERE BookID = 3;
UPDATE BOOK
WHERE BookID = 4;
UPDATE BOOK
WHERE BookID = 5;
SELECT Title
FROM (
FROM BOOK
WHERE Price_Rank = 2;
SELECT S.Name
FROM STUDENT S
FROM STUDENT S
SELECT S.Name
FROM STUDENT S
WHERE S.Year = 4
SELECT *
FROM STUDENT
OUTPUT-
EXP 4:- To enforce various integrity constraint and to implement various DCL
Statements
Query-
CREATE TABLE STUDENT (
Roll_No NUMBER PRIMARY KEY,
Name VARCHAR2(100),
Year NUMBER,
Branch VARCHAR2(50)
);
INSERT INTO STUDENT (Roll_No, Name, Year, Branch) VALUES (1005, 'Sonia', 4, 'CSE');
INSERT INTO STUDENT (Roll_No, Name, Year, Branch) VALUES (1006, 'John', 3, 'ECE');
INSERT INTO STUDENT (Roll_No, Name, Year, Branch) VALUES (1007, 'Alice', 4, 'CSE');
DECLARE
rollno NUMBER;
br STUDENT.Branch%TYPE;
yr STUDENT.Year%TYPE;
nm STUDENT.Name%TYPE;
BEGIN
rollno := &rollno;
IF yr = 4 THEN
IF br = 'CSE' THEN
DBMS_OUTPUT.PUT_LINE('NAME OF STUDENT OF CSE BRANCH OF 4 YEAR IS: ' ||
nm);
ELSE
DBMS_OUTPUT.PUT_LINE('WRONG VALUE... STUDENT IS NOT OF SPECIFIED BRANCH
OR YEAR');
END IF;
ELSE
DBMS_OUTPUT.PUT_LINE('WRONG VALUE... STUDENT IS NOT OF SPECIFIED BRANCH OR
YEAR');
END IF;
EXCEPTION
OUTPUT-
Enter value for rollno: old 8: rollno := &rollno;
new 8: rollno := 1005;
NAME OF STUDENT OF CSE BRANCH OF 4 YEAR IS: Sonia
Query-
CREATE TABLE employee018 (
empn VARCHAR2(10) PRIMARY KEY,
ename VARCHAR2(50),
salary NUMBER(8, 2),
job VARCHAR2(30)
);
INSERT INTO employee018 (empn, ename, salary, job) VALUES ('e1', 'Meenakshi', 75000,
'Director');
INSERT INTO employee018 (empn, ename, salary, job) VALUES ('e2', 'Deepak', 6500,
'Analyst');
INSERT INTO employee018 (empn, ename, salary, job) VALUES ('e3', 'Devesh', 7000,
'Manager');
INSERT INTO employee018 (empn, ename, salary, job) VALUES ('e4', 'Shashank', 2000,
'Clerk');
INSERT INTO employee018 (empn, ename, salary, job) VALUES ('e5', 'Shantnu', 8000,
'Manager');
DECLARE
CURSOR cl IS
SELECT *
FROM employee018
WHERE salary > 2500
AND job <> 'Director';
emprec employee018%ROWTYPE;
BEGIN
OPEN cl;
DBMS_OUTPUT.PUT_LINE('Records fetched are:');
IF cl%ISOPEN THEN
LOOP
FETCH cl INTO emprec;
EXIT WHEN cl%NOTFOUND;
OUTPUT-
Records fetched are:
e2 Deepak 6500 Analyst
e3 Devesh 7000 Manager
e5 Shantnu 8000 Manager
c2 Shivani 27-DEC-92
11-NOV-24 04.28.39.544777 AM
c2 Shivani 27-DEC-92
11-NOV-24 04.28.39.544777 AM
OUTPUT-
Table created. 1 row(s) inserted. 1 row(s) inserted.
Result Set 1
ID FIRST_NAME
101 Nithya
102 Maya
2 rows selected. Procedure created. Statement processed.
Result Set 2
ID FIRST_NAME
101 Nithya
102 Maya
3 APEX_PUBLIC_USER
RETURN NUMBER IS
i NUMBER(10);
f NUMBER := 1;
BEGIN
f := f * i;
END LOOP;
RETURN f;
END;
OUTPUT-
Function created.
Result Set 3
FACTORIAL
2
DECLARE
bonus NUMBER;
BEGIN
ELSE
bonus := 0;
END IF;
END;
OUTPUT-
Statement processed.
Bonus: 5000
DECLARE
a NUMBER;
b NUMBER := 0;
i NUMBER := 153;
BEGIN
a := i;
a := TRUNC(a / 10);
END LOOP;
IF b = i THEN
ELSE
END IF;
END;
OUTPUT-
Statement processed.
153 IS AN ARMSTRONG NUMBER
DECLARE
a NUMBER;
b NUMBER;
i NUMBER;
n NUMBER;
s NUMBER;
BEGIN
a := 1;
b := 10;
n := 5;
s := i * n;
END LOOP;
END;
OUTPUT-
Statement processed.
1*5=5
2*5=10
3*5=15
4*5=20
5*5=25
6*5=30
7*5=35
8*5=40
9*5=45
10*5=50
Query-
EmpName VARCHAR(100),
Designation VARCHAR(50),
Salary DECIMAL(10, 2)
);
VALUES
DESCRIBE Employee_details;
DESCRIBE Employee_details;
-- DROP TABLE removes the table along with all its data and structure.
-- TRUNCATE TABLE removes all the data from the table but keeps the structure.
Prod_name VARCHAR(100),
Quantity INT,
Sell_price DECIMAL(10, 2)
);
VALUES
DESCRIBE Product;
SHOW TABLES;
OUTPUT
+-------------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+---------------+------+-----+---------+-------+
| EmpID | int | NO | PRI | NULL | |
| EmpName | varchar(100) | YES | | NULL | |
| Designation | varchar(50) | YES | | NULL | |
| Salary | decimal(10,2) | YES | | NULL | |
+-------------+---------------+------+-----+---------+-------+
+-------------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+---------------+------+-----+---------+-------+
| EmpID | int | NO | PRI | NULL | |
| EmpName | varchar(100) | YES | | NULL | |
| Designation | varchar(100) | YES | | NULL | |
| Salary | decimal(10,2) | YES | | NULL | |
| Contact | varchar(15) | YES | | NULL | |
+-------------+---------------+------+-----+---------+-------+
+---------------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------------+---------------+------+-----+---------+-------+
| Prod_no | int | NO | PRI | NULL | |
| Prod_name | varchar(100) | YES | | NULL | |
| Quantity | int | YES | | NULL | |
| Sell_price | decimal(10,2) | YES | | NULL | |
| Product_Brand | varchar(50) | YES | | NULL | |
+---------------+---------------+------+-----+---------+-------+
+----------------------------------+
| Tables_in_sandbox_db |
+----------------------------------+
| employee_data |
+----------------------------------+