Вы находитесь на странице: 1из 14

EXPERIMENT NO.

1
AIM: CREATE A DATABASE AND WRITE THE PROGRAMS TO CARRY OUT THE FOLLOWING OPERATIONS : (1) ADD A RECORD IN THE DATABASE. (2) DELETE A RECORD IN THE DATABASE. (3) MODIFY A RECORD IN THE DATABASE. (4) GENERATE QUERIES. (5) DATA OPERATIONS. (6) LIST ALL THE RECORDS OF DATABASE IN THE ASCENDING ORDER.

#CREATE DATABASE# SQL>create table client_master(client_no varchar2(6),name varchar2(20),address varchar2(15),city varchar2(10),pincode number(8),state varchar2(10),bal_due number(10)); Table created. SQL>desc client_master;
Column Data TypeLengthPrecisionNullable
CLIENT_NOVarchar2 NAME Varchar2 6 20 15 10 10 8 10

ADDRESS Varchar2 CITY PINCODE STATE BAL_DUE Varchar2 Number Varchar2 Number

#ADD RECORDS# SQL>insert into client_master values('c00001','evan','25/4, sec-10','mumbai',400054,'maharastra',15000); 1 row(s) inserted. SQL>insert into client_master values('c00002','mamta','25/6, sec-15','chennai',780001,'tamil nadu',0);
1 row(s) inserted.

SQL>insert into client_master values('c00003','chaya','24/6, sec-11','mumbai',400057,'maharastra',5000); 1 row(s) inserted. SQL>insert into client_master values('c00004','ashwani','14/6, sec-13','bangalore',560001,'karnataka',0); 1 row(s) inserted. SQL>insert into client_master values('c00005','raksha','14/7, sec-23','mumbai',400060,'maharastra',2000); 1 row(s) inserted. SQL>select * from client_master;

CLIENT_NONAMEADDRESS CITY PINCODE STATE BAL_DUE


c00005 c00001 c00002 c00003 c00004 raksha 14/7, sec-23 mumbai 400060 evan 25/4, sec-10 mumbai 400054 maharastra2000 maharastra15000 tamil nadu 0 maharastra5000 karnataka 0

mamta 25/6, sec-15 chennai 780001 chaya 24/6, sec-11 mumbai 400057

ashwani14/6, sec-13 bangalore560001

#DELETE A RECORD# SQL>delete from client_master where name='raksha'; 1 row(s) deleted. SQL>select * from client_master;
CLIENT_NONAMEADDRESS CITY PINCODE STATE BAL_DUE
c00001 c00002 c00003 c00004 evan 25/4, sec-10 mumbai 400054 maharastra15000 tamil nadu 0 maharastra5000 karnataka 0 mamta 25/6, sec-15 chennai 780001 chaya 24/6, sec-11 mumbai 400057

ashwani14/6, sec-13 bangalore560001

#MODIFY A RECORD# SQL>update client_master set bal_due=2000 where client_no='c00004';


1 row(s) updated.

SQL>select * from client_master;


CLIENT_NONAMEADDRESS CITY PINCODE STATE BAL_DUE
c00001 c00002 c00003 c00004 evan 25/4, sec-10 mumbai 400054 maharastra15000 tamil nadu 0 maharastra5000 karnataka 2000 mamta 25/6, sec-15 chennai 780001 chaya 24/6, sec-11 mumbai 400057

ashwani14/6, sec-13 bangalore560001

#GENERATE QUERIES# SQL>alter table client_master modify(address varchar2(20)); Table altered. SQL>desc client_master;
Column Data TypeLengthPrecisionNullable
CLIENT_NOVarchar2 NAME Varchar2 6 20 20 10 10 8 10

ADDRESS Varchar2 CITY PINCODE STATE BAL_DUE Varchar2 Number Varchar2 Number

SQL>select * from client_master where city='mumbai';


CLIENT_NONAMEADDRESS CITY PINCODE STATE BAL_DUE
c00001 c00003 evan chaya 25/4, sec-10 mumbai400054 24/6, sec-11 mumbai400057 maharastra15000 maharastra5000

SQL>select name,bal_due from client_master where name in('mamta','chaya');


NAMEBAL_DUE
mamta 0 chaya 5000

SQL>select name,bal_due from client_master where name LIKE '%a';


NAMEBAL_DUE
mamta 0 chaya 5000

SQL>select INITCAP(name) from client_master where bal_due > 0;


INITCAP(NAME)
Evan Chaya Ashwani

SQL>select name,LENGTH(name) from client_master where city='chennai';


NAMELENGTH(NAME)
mamta 5

SQL>select LTRIM('NATASHA','NA') from DUAL;


LTRIM('NATASHA','NA')
TASHA

SQL>select RTRIM('SUNILA','A') from DUAL;


RTRIM('SUNILA','A')
SUNIL

SQL>select * from client_master where bal_due > 5000 or city ='mumbai';


CLIENT_NONAMEADDRESS CITY PINCODE STATE BAL_DUE
c00001 c00003 evan chaya 25/4, sec-10 mumbai400054 24/6, sec-11 mumbai400057 maharastra15000 maharastra5000

SQL>select * from client_master where bal_due > 10000 AND state='maharastra';


CLIENT_NONAMEADDRESS CITY PINCODE STATE BAL_DUE
c00001 evan 25/4, sec-10 mumbai400054 maharastra15000

#AGGREGATE FUNCTIONS# SQL>select AVG(bal_due) "Average" from client_master;


Average
5500

SQL>select MAX(bal_due) from client_master;


MAX(BAL_DUE)
15000

SQL>select MIN(bal_due) from client_master;


MIN(BAL_DUE)
0

SQL>select SUM(bal_due) from client_master;


SUM(BAL_DUE)
22000

#DATA OPERATIONS# SQL>select name from client_master where city='mumbai' UNION select name from client_master where city='chennai';
NAME
chaya evan mamta

SQL>select city from client_master where client_no='c00001' INTERSECT select city from client_master where client_no='c00003';
CITY
mumbai

#LIST ALL RECORDS OF DATABASE IN ASCENDING ORDER# SQL>select * from client_master order by name asc;
CLIENT_NONAMEADDRESS CITY PINCODE STATE BAL_DUE
c00004 c00003 c00001 c00002 ashwani14/6, sec-13 bangalore560001 chaya evan 24/6, sec-11 mumbai 400057 25/4, sec-10 mumbai 400054 karnataka 2000 maharastra5000 maharastra15000 tamil nadu 0

mamta 25/6, sec-15 chennai 780001

EXPERIMENT NO. 2
AIM: CREATE A VIEW TO DISPLAY DETAILS OF EMPLOYEES WORKING ON MORE THAN ONE PROJECT : #CREATE DATABASE # SQL>create table employee(emp_id varchar2(6),name varchar2(15),job varchar2(10),salary number(8),no_of_projects number(2)); Table created. SQL>desc employee;
Column
EMP_ID NAME JOB SALARY

Data TypeLengthPrecisionNullable
Varchar2 Varchar2 Varchar2 Number 6 15 10 8 2

NO_OF_PROJECTSNumber

#ADD RECORDS# SQL>insert into employee values('c00001','evan','manager',45000,5);


1 row(s) inserted.

SQL>insert into employee values('c00002','mamta','executive',30000,1);


1 row(s) inserted.

SQL>insert into employee values('c00003','rohit','assistant',22000,3);


1 row(s) inserted.

SQL> insert into employee values('c00004','ajay','accountant',22000,1);


1 row(s) inserted.

SQL> select * from employee;


EMP_IDNAME JOB SALARYNO_OF_PROJECTS
c00002 c00003 c00001 c00004 mamta executive 30000 rohit evan ajay assistant 22000 manager 45000 accountant22000 1 3 5 1

SQL> create view vw_emp as select * from employee where no_of_projects > 1; View created. SQL> select * from vw_emp;
EMP_IDNAME JOB SALARYNO_OF_PROJECTS
c00003 c00001 rohit evan assistant22000 manager45000 3 5

EXPERIMENT NO. 3
AIM: CREATE A VIEW TO DISPLAY DETAILS OF EMPLOYEES NOT WORKING ON ANY PROJECT : #CREATE DATABASE # SQL>create table employee1(emp_id varchar2(6),name varchar2(15),job varchar2(10),salary number(8),no_of_projects number(2)); Table created. SQL>desc employee1;
Column
EMP_ID NAME JOB SALARY

Data TypeLengthPrecisionNullable
Varchar2 Varchar2 Varchar2 Number 6 15 10 8 2

NO_OF_PROJECTSNumber

#ADD RECORDS# SQL>insert into employee1 values('c00001','evan','manager',45000,5);

1 row(s) inserted.

SQL>insert into employee1 values('c00002','mamta','executive',30000,0);


1 row(s) inserted.

SQL>insert into employee1 values('c00003','rohit','assistant',22000,3);


1 row(s) inserted.

SQL> insert into employee1 values('c00004','ajay','accountant',22000,1);


1 row(s) inserted.

SQL> select * from employee1;


EMP_IDNAME JOB SALARYNO_OF_PROJECTS
c00002 c00003 c00001 c00004 mamta executive 30000 rohit evan ajay assistant 22000 manager 45000 accountant22000 0 3 5 1

SQL> create view vw_emp1 as select * from employee1 where no_of_projects = 0; View created. SQL> select * from vw_emp1;
EMP_IDNAME JOB SALARYNO_OF_PROJECTS
c00002 mamta executive30000 0

EXPERIMENT NO. 4
AIM: CREATE A VIEW TO DISPLAY EMPLOYEES NAME AND PROJECTS NAME FOR EMPLOYEES WORKING ON PROJECTS <P1 AND P3> OR <P2 AND P4>: #CREATE DATABASE # SQL> create table employee2(emp_id varchar2(6),name varchar2(15),job varchar2(10),salary number(8),no_of_projects number(2),proj_name varchar2(3));
Table created.

SQL> desc employee2;


Column
EMP_ID NAME JOB SALARY

Data TypeLengthPrecisionNullable
Varchar2 Varchar2 Varchar2 Number 6 15 10 3 8 2 -

NO_OF_PROJECTSNumber PROJ_NAME Varchar2

#ADD RECORDS# SQL>insert into employee2 values('c00001','evan','manager',45000,5,'P1'); 1 row(s) inserted. SQL>insert into employee2
values('c00002','mamta','executive',30000,1,'P2'); 1 row(s) inserted.

SQL>insert into employee2


values('c00003','rohit','assistant',22000,3,'P3'); 1 row(s) inserted.

SQL>insert into employee2


values('c00004','ajay','accountant',22000,1,'P4'); 1 row(s) inserted.

SQL>insert into employee2 values('c00001','evan','manager',45000,5,'P3'); 1 row(s) inserted. SQL>insert into employee2


values('c00002','mamta','executive',30000,1,'P4');

1 row(s) inserted. SQL> select * from employee2;


EMP_IDNAME JOB SALARYNO_OF_PROJECTSPROJ_NAME
c00001 c00001 c00002 c00003 c00004 c00002 evan evan manager 45000 manager 45000 5 5 1 3 1 1 P1 P3 P2 P3 P4 P4

mamta executive 30000 rohit ajay assistant 22000 accountant22000

mamta executive 30000

SQL> create view vw_emp2 as (select emp_id,name from employee2 where proj_name='P1' INTERSECT select emp_id,name from employee2 where proj_name='P3')UNION(select emp_id,name from employee2 where proj_name='P2' INTERSECT select emp_id,name from employee2 where proj_name='P4'); View created. SQL>select * from vw_emp2;
EMP_IDNAME
c00001 c00002 evan mamta

EXPERIMENT NO. 5
AIM: USING TWO TABLES CREATE A VIEW WHICH SHALL PERFORM EQUIJOIN:

#CREATE DATABASE 1 # SQL>create table emp(id varchar2(5),name varchar2(10),address varchar2(10)); Table created. #ADD RECORDS# SQL>insert into emp values('c0001','vipin','sec-14'); 1 row(s) inserted. SQL>insert into emp values('c0002','karan','sec-15'); 1 row(s) inserted. SQL>insert into emp values('c0003','prateek','sec-16'); 1 row(s) inserted. SQL>insert into emp values('c0004','jitender','sec-17'); 1 row(s) inserted. SQL>select * from emp;
ID NAME ADDRESS sec-14 c0001vipin

c0002karan sec-15 c0003prateeksec-16 c0004jitendersec-17

#CREATE DATABASE 2 # SQL> create table project(proj_id varchar2(5),proj_name varchar2(5),proj_no number(2));


Table created.

#ADD RECORDS# SQL> insert into project values('c0001','p01',5);


1 row(s) inserted.

SQL>insert into project values('c0002','p02',3);


1 row(s) inserted. SQL>

insert into project values('c0003','p03',9);

1 row(s) inserted.

SQL> insert into project values('c0004','p04',15);


1 row(s) inserted.

SQL> select * from project;


PROJ_IDPROJ_NAMEPROJ_NO c0001 c0002 c0003 c0004 p01 p02 p03 p04 5 3 9 15

#EQUIJOIN OPERATION # SQL> create view equijoin as select * from emp e,project p where e.id=p.proj_id;
View created.

SQL> select * from equijoin;


ID NAME ADDRESSPROJ_IDPROJ_NAMEPROJ_NO sec-14 c0001 c0002 c0003 c0004 p01 p02 p03 p04 5 3 9 15 c0001vipin

c0002karan sec-15 c0003prateeksec-16 c0004jitendersec-17

EXPERIMENT NO. 6
AIM: WRITE ATRIGGER FOR BEFORE AND AFTER INSERTION, DELETION AND UPDATION PROCESS:

#CREATE DATABASE# SQL> create table detail(user_name char(10),doc date,operation char(8));


Table created.

SQL> desc detail;


Column Data TypeLengthNullable 10 7 8 USER_NAMEChar DOC Date

OPERATION Char

#CREATE TRIGGER# SQL> create or replace trigger ABC before insert or delete or update on emp for each row begin if inserting then insert into detail values(user,sysdate,'insert'); end if; if deleting then insert into detail values(user,sysdate,'delete'); end if; if updating then insert into detail values(user,sysdate,'update'); end if; end; /
Trigger created.

SQL>select * from emp;


ID NAME ADDRESS sec-14 c0001vipin

c0002karan sec-15 c0003prateeksec-16 c0004jitendersec-17

SQL> insert into emp values('c0005','nishant','sec-18');


1 row(s) inserted.

SQL> select * from detail;


USER_NAME DOC OPERATION
ANONYMOUS 25-NOV-08insert

SQL> update emp set name='atul' where id='c0005';


1 row(s) updated.

SQL> select * from detail;


USER_NAME DOC OPERATION ANONYMOUS 25-NOV-08insert ANONYMOUS 25-NOV-08update

SQL> delete from emp where id='c0005';


1 row(s) deleted.

SQL> select * from detail;


USER_NAME DOC OPERATION ANONYMOUS 25-NOV-08insert ANONYMOUS 25-NOV-08update ANONYMOUS 25-NOV-08delete

EXPERIMENT NO. 7
AIM: USING TWO TABLES SHOW THE REFERENTIAL INTEGRITY CONSTRAINT: #CREATE DATABASE 1 # SQL> create table employee(ecode varchar2(4) primary key,ename varchar2(15),gross number(5)); Table created.
SQL> desc employee;
ColumnData TypeLengthPrecisionPrimary KeyNullable ECODE Varchar2 4 1 -

ENAME Varchar2 15 GROSS Number -

#ADD RECORDS# SQL> insert into employee values(1101,'brian',12000);


1 row(s) inserted.

SQL> insert into employee values(1102,'maithili',18000);


1 row(s) inserted.

SQL> insert into employee values(1103,'kushagra',24000);


1 row(s) inserted.

SQL> insert into employee values(1104,'vansh',24000);


1 row(s) inserted.

SQL> select * from employee;


ECODE ENAME GROSS 1101 1103 1104 brian 12000

kushagra24000 vansh 24000

#CREATE DATABASE 2 # SQL> create table product(pcode varchar2(5) primary key,descrip varchar2(15),ecode varchar2(4) REFERENCES employee(ecode)); Table created. SQL>desc product;
Column Data TypeLengthPrimary KeyNullable PCODE Varchar2 5 DESCRIPVarchar2 15 ECODE Varchar2 4 1 -

#ADD RECORDS# SQL> insert into product values('pz-01','sales mgt',1103);


1 row(s) inserted.

SQL> insert into product values('pz-02','maithili',1104);


1 row(s) inserted.

SQL> insert into product values('pz-03','kushagra',1102);


1 row(s) inserted.

SQL> insert into product values('pz-04','vansh',1101);


1 row(s) inserted.

SQL> select * from product;


PCODEDESCRIPECODE pz-01 pz-02 pz-03 pz-04 sales mgt 1103 maithili 1104

kushagra 1102 vansh 1101

#REFERENTIAL INTEGRITY CONSTRAINT# SQL> delete from employee where ecode=1104; ORA-02292: integrity constraint (SYSTEM.SYS_C004012) violated - child record found

Вам также может понравиться