DBMS EXP LAB Manual
DBMS EXP LAB Manual
Program:
SQL> connect
Enter user-name: system
Enter password: admin
Connected.
Table created.
Table altered.
Table altered.
SQL> desc emp;
Name Null? Type
----------------------------------------- -------- ----------------------------
ID NUMBER(10)
NAME VARCHAR2(10)
DEPT VARCHAR2(20)
Table altered.
Table altered.
ID NAME DEPT
---------- ---------- ----------
1 aaa cse
2 aaa cse
3 aaa ece
4 aaa cse
5 aaa cse
Table truncated.
no rows selected
Table dropped.
Output:
no rows selected
Table altered.
1 row created.
ID NAME DEPT
---------- ---------- ----------
1 aaa cse
1 row created.
ID NAME DEPT
---------- ---------- ----------
1 aaa cse
2 bbb cse
1 row created.
ID NAME DEPT
---------- ---------- ----------
1 aaa cse
2 bbb cse
3 ccc cse
1 row created.
SQL> /
Enter value for id: 5
Enter value for name: eee
Enter value for dept: cse
old 1: insert into emp1 values(&id,'&name','&dept')
new 1: insert into emp1 values(5,'eee','cse')
1 row created.
ID NAME DEPT
---------- ---------- ----------
1 aaa cse
2 bbb cse
3 ccc cse
4 ddd cse
5 eee cse
SQL> update emp1 set name='BBB' where id=2;
1 row updated.
ID NAME DEPT
---------- ---------- ----------
1 aaa cse
2 BBB cse
3 ccc cse
4 ddd cse
5 eee cse
SQL> update emp1 set name='CCC',dept='ece' where id=3;
1 row updated.
ID NAME DEPT
---------- ---------- ----------
1 aaa cse
2 BBB cse
3 CCC ece
4 ddd cse
5 eee cse
SQL> update emp1 set name='aaa';
5 rows updated.
ID NAME DEPT
---------- ---------- ----------
1 aaa cse
2 aaa cse
3 aaa ece
4 aaa cse
5 aaa cse
SQL> create table emp2(id number(10),name varchar(10),dept varchar(10));
Table created.
5 rows created.
ID NAME DEPT
---------- ---------- ----------
1 aaa cse
2 aaa cse
3 aaa ece
4 aaa cse
5 aaa cse
SQL> delete from emp2 where id=1;
1 row deleted.
ID NAME DEPT
---------- ---------- ----------
2 aaa cse
3 aaa ece
4 aaa cse
5 aaa cse
SQL> delete from emp2 where dept='cse';
3 rows deleted.
ID NAME DEPT
---------- ---------- ----------
3 aaa ece
SQL> delete from emp2;
1 row deleted.
no rows selected
SQL> select * from emp2;
no rows selected
Output:
Table created.
1 row created.
1 row updated.
SQL> savepoint A;
Savepoint created.
1 row created.
1 row created.
SQL> savepoint B;
Savepoint created.
SQL> insert into class1 values(8,'sai');
1 row created.
SQL> savepoint C;
Savepoint created.
ID NAME
---------- ----------
5 raj
6 ram
7 vibhav
8 sai
SQL> rollback to B;
Rollback complete.
ID NAME
---------- ----------
5 raj
6 ram
7 vibhav
SQL> rollback to A;
Rollback complete.
ID NAME
---------- ----------
5 raj
1 row created.
1 row created.
1 row created.
SQL>savepoint D;
Savepoint created.
1 row created.
SQL> commit;
Commit complete.
ID NAME
---------- ----------
5 raj
6 ram
7 vibhav
8 sai
9 siva
SQL> rollback to D;
rollback to D
*
ERROR at line 1:
ORA-01086: savepoint 'D' never established
1 row created.
SQL> savepoint E;
Savepoint created.
1 row created.
SQL> savepoint F;
Savepoint created.
SQL> rollback to E;
Rollback complete.
ID NAME
---------- ----------
5 raj
6 ram
7 vibhav
8 sai
9 siva
10 tom
6 rows selected.
SQL> commit;
Commit complete.
ID NAME
---------- ----------
5 raj
6 ram
7 vibhav
8 sai
9 siva
10 tom
6 rows selected.
SQL> rollback to F;
rollback to F
*
ERROR at line 1:
ORA-01086: savepoint 'F' never established
SQL>
Output:
Program:
Table created.
1 row created.
SQL> /
1 row created.
SQL> /
1 row created.
SQL> /
1 row created.
100 aaacse 90 89 95
101 bbbcse 88 89 90
102 ccccse 90 88 87
103 dddcse 75 80 85
COUNT(*)
----------
4
SQL> insert into stu1
values(&id,'&name','&department',&mark1,&mark2,&mark3);
1 row created.
COUNT(*)
----------
COUNT(*)
----------
1
COUNT(*)
----------
COUNT(ID)
----------
COUNT(ID)
----------
COUNT(ID)
----------
1
MIN(MARK1)
----------
75
MIN(MARK2)
----------
80
MIN(MARK3)
----------
85
MIN(MARK1+MARK2)
----------------
155
MIN(MARK2+MARK3)
----------------
165
MIN(MARK1+MARK3)
----------------
160
MAX(MARK1)
----------
90
MAX(MARK2)
----------
89
MAX(MARK3)
----------
95
MAX(MARK1+MARK2)
----------------
179
MAX(MARK2+MARK3)
----------------
184
MAX(MARK1+MARK3)
----------------
185
MAX(MARK2)
----------
89
MIN(MARK1)
----------
75
AVG(MARK1)
----------
86.2
AVG(MARK2)
----------
86.6
AVG(MARK3)
----------
89
AVG(MARK3)
----------
89.25
SUM(MARK1)
----------
431
SUM(MARK2)
----------
433
SUM(MARK3)
----------
445
SUM(MARK1+MARK2)
----------------
864
SUM(MARK1+MARK3)
----------------
876
SUM(MARK2+MARK3)
----------------
878
SUM(MARK3)
----------
357
SQL>
Output:
1. First, identify the entities in your database. In this case, we have three
entities.
2. The second step involves identifying the relationships between the
selected entities.
3. The third step involves identifying cardinalities.
4. The fourth step is identifying entity attributes. Make sure that every
attribute is mapped to only one entity; assign modifiers for those that
belong to more than one.
5. Once you have identified the entities, relationships, cardinalities, and
attributes, you can now create your ER diagram. Here’s what our sample
project will look like when designed using the crow’s foot (IE) notation.
6. Entity: Entities are represented by rectangle. All table of database are
treating as entity.
7. Attributes: Attributes are represented by ellipses. Attributes are
properties of entities.
(Link to draw ER diagram: https://app.diagrams.net)
Output:
no rows selected
1 row created.
SQL> /
Enter value for id: 20
Enter value for name: raj
Enter value for age: 20
Enter value for address: chennai
Enter value for salary: 20000
old 1: insert into emp values(&id,'&name',&age,'&address',&salary)
new 1: insert into emp values(20,'raj',20,'chennai',20000)
1 row created.
SQL> /
Enter value for id: 30
Enter value for name: sai
Enter value for age: 26
Enter value for address: mumbai
Enter value for salary: 15000
old 1: insert into emp values(&id,'&name',&age,'&address',&salary)
new 1: insert into emp values(30,'sai',26,'mumbai',15000)
1 row created.
SQL> /
Enter value for id: 40
Enter value for name: sam
Enter value for age: 27
Enter value for address: hyderabad
Enter value for salary: 20000
old 1: insert into emp values(&id,'&name',&age,'&address',&salary)
new 1: insert into emp values(40,'sam',27,'hyderabad',20000)
1 row created.
SQL> /
Enter value for id: 50
Enter value for name: tom
Enter value for age: 29
Enter value for address: pune
Enter value for salary: 65000
old 1: insert into emp values(&id,'&name',&age,'&address',&salary)
new 1: insert into emp values(50,'tom',29,'pune',65000)
1 row created.
SQL> /
Enter value for id: 60
Enter value for name: jerry
Enter value for age: 30
Enter value for address: kochin
Enter value for salary: 85000
old 1: insert into emp values(&id,'&name',&age,'&address',&salary)
new 1: insert into emp values(60,'jerry',30,'kochin',85000)
1 row created.
6 rows selected.
MAX(SALARY)
-----------
65000
ID NAME
---------- ----------
80 jill
SQL> select id,name from emp where salary=(select max(salary) from emp);
ID NAME
---------- ----------
80 jill
SQL> select * from emp where salary>(select avg(salary) from emp);
7 rows selected.
1 row created.
SQL> select * from emp where id in(select id from emp where salary>=20000);
SQL> update emp set salary=salary*0.25 where age in(select age from emp
where age>=29);
3 rows updated.
6 rows selected.
SQL> update emp set salary=salary*10 where age not in(select age from emp
where age>=30);
5 rows updated.
SQL> select * from emp where salary>all(select salary from emp where
salary<=20000);
2 rows deleted.
Enter password:
Connected.
ERROR at line 1:
Table created.
1 row created.
1 row created.
SQL> insert into s values(3,'siva','pune');
1 row created.
1 row created.
1 ram chennai
2 raj chennai
3 siva pune
4 selvam bangalore
Table created.
1 row created.
1 row created.
1 row created.
1 ram 90 20
2 raj 90 21
3 siva 80 19
4 selvam 88 19
SNAME ADDRESS
---------- ----------
ram chennai
raj chennai
siva pune
View created.
ram chennai 90
raj chennai 90
siva pune 80
selvam bangalore 88
SQL> drop view sv1;
View dropped.
ERROR at line 1:
Output:
Program:
Table created.
Table created.
1 row created.
SQL> /
1 row created.
SQL> /
1 row created.
SQL> /
1 row created.
SQL> /
1 row created.
SQL> /
1 row created.
SQL> /
1 row created.
1 aaa chennai 30
2 bbb chennai 33
3 ccc bangalore 34
4 ddd kochin 30
5 eee hyderabad 30
6 fff hyderabad 29
7 ggg chennai 33
7 rows selected.
1 row created.
SQL> insert into fcou values(10,2);
1 row created.
1 row created.
1 row created.
1 row created.
1 row created.
CID FID
---------- ----------
10 1
10 2
20 3
30 4
20 5
20 6
6 rows selected.
1 aaa chennai 30
2 bbb chennai 33
3 ccc bangalore 34
4 ddd kochin 30
5 eee hyderabad 30
6 fff hyderabad 29
7 ggg chennai 33
7 rows selected.
10 aaa 30
10 bbb 33
20 ccc 34
30 ddd 30
20 eee 30
20 fff 29
6 rows selected.
FNAME CID
---------- ----------
aaa 10
bbb 10
ccc 20
ddd 30
eee 20
fff 20
ggg
7 rows selected.
SQL> select fac.fid,fcou.cid from fac left join fcou on fcou.fid=fac.fid;
FID CID
---------- ----------
1 10
2 10
3 20
4 30
5 20
6 20
7 rows selected.
FID CID
---------- ----------
1 10
2 10
3 20
4 30
5 20
6 20
6 rows selected.
1 row created.
1 row created.
FID CID
---------- ----------
1 10
2 10
3 20
4 30
5 20
6 20
7 40
40
8 rows selected.
FID CID
---------- ----------
1 10
2 10
3 20
4 30
5 20
6 20
7 40
40
8 rows selected.
FID CID
---------- ----------
1 10
2 10
3 20
4 30
5 20
6 20
7 40
8 40
8 rows selected.
FID FID
---------- ----------
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 rows selected.
Output:
Table created.
1 row created.
1 row created.
Table created.
1 row created.
SQL> insert into z1 values(3,'c');
1 row created.
1 row created.
ID NAME
---------- ----------
1a
2b
ID NAME
---------- ----------
2b
3c
4d
SQL> select * from z union select * from z1;
ID NAME
---------- ----------
1a
2b
3c
4d
ID NAME
---------- ----------
1a
2b
2b
3c
4d
---------- ----------
2b
ID NAME
---------- ----------
1a
ID NAME
---------- ----------
3c
4d
OUTPUT:
Program:
Set serveroutput on
SQL> declare
2 a integer:=10;
3 begin
4 dbms_output.put_line(a);
5 end;
6 /
10
SQL> declare
2 a varchar(10):='hello';
3 begin
4 dbms_output.put_line(a);
5 end;
6 /
hello
SQL> declare
2 a integer:=10;
3 begin
4 dbms_output.put_line('value of a:'||a);
5 end;
6 /
value of a:10
SQL> declare
2 pi constant number:=3.14;
3 begin
4 dbms_output.put_line(pi);
5 end;
6 /
3.14
SQL> declare
2 a integer:=10;
3 b integer:=20;
4 c integer;
5 begin
6 c:=a+b;
7 dbms_output.put_line(c);
8 end;
9 /
30
IF-ELSE
SQL> declare
2 a integer:=30;
3 begin
4 if(a<20) then
6 else
8 end if;
9 end;
10 /
CASE STATEMENT
SQL> DECLARE
3 BEGIN
4 CASE grade
10 else dbms_output.put_line('Failed');
11 END CASE;
12 END;
13 /
Excellent
LOOP
SQL> DECLARE
2 i NUMBER := 1;
3 BEGIN
4 LOOP
6 DBMS_OUTPUT.PUT_LINE(i);
7 i := i+1;
8 END LOOP;
9 END;
10 /
5
6
10
WHILE LOOP
SQL> DECLARE
2 i INTEGER := 1;
3 BEGIN
5 DBMS_OUTPUT.PUT_LINE(i);
6 i := i+1;
7 END LOOP;
8 END;
9 /
8
9
10
FOR LOOP
SQL> DECLARE
2 VAR1 NUMBER;
3 BEGIN
4 VAR1:=10;
6 LOOP
7 DBMS_OUTPUT.PUT_LINE (VAR1*VAR2);
8 END LOOP;
9 END;
10 /
10
20
30
40
50
60
70
80
90
100
PL/SQL procedure successfully completed.
OUTPUT:
Table created.
(id IN NUMBER,
name IN VARCHAR2)
is
begin
end;
Procedure created.
SQL> BEGIN
insertuser(101,'Rahul');
END;
ID NAME
---------- ----------
101 Rahul
OUTPUT:
2 return number
3 is
4 n3 number(8);
5 begin
6 n3 :=n1+n2;
7 return n3;
8 end;
9 /
Function created.
SQL> DECLARE
2 n3 number(2);
3 BEGIN
4 n3 := adder(11,22);
6 END;
7 /
Addition is: 33
PL/SQL procedure successfully completed.
SQL> DECLARE
2 a number;
3 b number;
4 c number;
6 RETURN number
7 IS
8 z number;
9 BEGIN
10 IF x > y THEN
11 z:= x;
12 ELSE
13 Z:= y;
14 END IF;
15
16 RETURN z;
17 END;
18 BEGIN
19 a:= 23;
20 b:= 45;
21
22 c := findMax(a, b);
25 /
Maximum of (23,45): 45
2 return number is
3 total number(10):=0;
4 begin
6 return total;
7 end;
8 /
Function created.
SQL> declare
2 c number(20);
3 begin
4 c:=totalemp();
5 dbms_output.put_line('Total no of emp:'||c);
6 end;
7 /
Total no of emp:3
SQL> DECLARE
2 num number;
3 factorial number;
6 RETURN number
7 IS
8 f number;
9 BEGIN
10 IF x=0 THEN
11 f := 1;
12 ELSE
13 f := x * fact(x-1);
14 END IF;
15 RETURN f;
16 END;
17
18 BEGIN
19 num:= 6;
20 factorial := fact(num);
22 END;
23 /
Factorial 6 is 720
OUTPUT:
Program:
SQL> DECLARE
total_rows number(2);
BEGIN
UPDATE emp
IF sql%notfound THEN
total_rows := sql%rowcount;
END IF;
END;
3 customers updated
EXPLICIT CURSOR
SQL> DECLARE
c_id emp.id%type;
c_name emp.name%type;
c_addr emp.address%type;
CURSOR c_emp is
begin
open c_emp;
loop
end loop;
close c_emp;
end;
30 sai mumbai
40 sam hyderabad
50 tom pune
PL/SQL procedure successfully completed.
OUTPUT:
Program:
SQL> DECLARE
c_id emp.id%type:=10;
c_name emp.name%type;
c_addr emp.address%type;
begin
dbms_output.put_line('Name:'||c_name);
dbms_output.put_line('Address:'||c_addr);
exception
end;
no such customer
SQL> declare
c_id emp.id%type:=30;
c_name emp.name%type;
c_addr emp.address%type;
begin
dbms_output.put_line('Name:'||c_name);
dbms_output.put_line('Address:'||c_addr);
exception
end;
Name:sai
Address:mumbai
USER DEFINED
SQL> declare
c_id emp.id%type:=&id;
c_name emp.name%type;
c_addr emp.address%type;
ex_invalid_id exception;
begin
if c_id<=0 then
raise ex_invalid_id;
else
dbms_output.put_line('address:'||c_addr);
end if;
exception
end;
SQL> /
name:sai
address:mumbai
Program:
DECLARE
sal_diff number;
BEGIN
END;
Trigger created.
SQL> DECLARE
total_rows number(2);
BEGIN
UPDATE emp
IF sql%notfound THEN
dbms_output.put_line('no customers updated');
total_rows := sql%rowcount;
END IF;
END;
3 customers updated
Output:
AIM: To make a project with front-end and back-end using oracle DBMS
Procedure:
3. Plan for constraints of different types (primary keys, foreign keys, unique
keys, check, not null etc) with appropriate constraint names.
Output: