P. 1
Dbms Lab Manual

Dbms Lab Manual

|Views: 52|Likes:
Published by mallikarjun

More info:

Published by: mallikarjun on Feb 09, 2012
Copyright:Attribution Non-commercial


Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less






Overview of SQL DDL, DML and DCL Commands.
DDL is Data Definition Language statements. Some examples: CREATE - to create objects in the database ALTER - alters the structure of the database DROP - delete objects from the database TRUNCATE - remove all records from a table, including all spaces allocated for the records ar removed COMMENT - add comments to the data dictionary GRANT - gives user's access privileges to database REVOKE - withdraw access privileges given with the GRANT command DML is Data Manipulation Language statements. Some examples: SELECT - retrieve data from the a database INSERT - insert data into a table UPDATE - updates existing data within a table DELETE - deletes all records from a table, the space for the records remain CALL - call a PL/SQL or Java subprogram EXPLAIN PLAN - explain access path to data LOCK TABLE - control concurrency DCL is Data Control Language statements. Some examples: COMMIT - save work done SAVEPOINT - identify a point in a transaction to which you can later roll back ROLLBACK - restore database to original since the last COMMIT SET TRANSACTION - Change transaction options like what rollback segment to use

© Reserved B.V.V.S.Prasad MCA, (M.Tech)


Basic SQL DDL Commands.
To practice basic SQL DDL Commands such as CREATE, DROP, etc.

Syntax: CREATE TABLE tablename (column_name data_ type constraints, …) Example:

EName VarChar(15),


Mgr short CONSTRAINT FKey1 REFERENCES EMP (EmpNo), Hiredate Date, DeptNo short CONSTRAINT FKey2 REFERENCES DEPT(DeptNo));
RESULT: Table created.

SQL>Create table prog20 (pname varchar2(20) not null), doj date not null,dob date not null, sex varchar(1) not null, prof1 varchar(20),prof2 varchar(20),salary number(7,2) not null);

Table created. SQL>desc prog20; Name Null? Type ---------------------------VARCHAR2(20) DATE DATE VARCHAR2(1) VARCHAR2(20) VARCHAR2(20) NOT NULL NUMBER(7,2)

--------------------------------- -------PNAME DOJ DOB SEX PROF1 PROF2 SALARY NOT NULL NOT NULL NOT NULL NOT NULL

© Reserved B.V.V.S.Prasad MCA, (M.Tech)



– Deletes table structure – Cannot be recovered – Use with caution INPUT: SQL> DROP TABLE EMP; RESULT: Table Dropped. Here EMP is table name



Basic SQL DML Commands.
To practice basic SQL DML Commands such as INSERT, DELETE, etc.


INSERT INTO tablename VALUES (value list)

Single-row insert


Inserting one row, many columns at a time

INSERT INTO S (SNO, SNAME) VALUES (‘S1’, ‘Smith’);S1’ Smith’

Inserting many rows, all/some columns at a time.



© Reserved B.V.V.S.Prasad MCA, (M.Tech)


V. RESULT: 1 row created.’c++’.'&doj').Tech) 3 .S.10 * SAL SQL> update emp set sal=20000 where empno=7369.’05-may-56’).’25000’).V.'&doj') new 1: Insert into prog values('ravi'.’f’.’c’. (M. INPUT: SQL>Insert into prog values(‘&pname’. 1 row updated. RESULT: 1 row created.UPDATE Syntax: UPDATE tablename SET column_name =value [ WHERE condition] Examples: UPDATE S SET CITY = ‘KANPUR’ WHERE SNO=‘S1’ UPDATE EMP SET SAL = 1.'15-june-81') 1 row created.SRI MITTAPALLI COLLEGE OF ENGINEERING Other Examples: INPUT: SQL>Insert into prog values (‘kkk’. SQL .’&doj’).Prasad MCA. 2. Enter value for pname: ravi Enter value for doj: 15-june-81 RESULT: old 1: Insert into prog values('&pname'. © Reserved B.’25-sept-01’28-jan-85’. INPUT: SQL>Insert into prog20 values(‘Hema’. SQL> Insert into prog values('&pname'.

To practice basic SQL DCL Commands such as COMMIT. 1. Basic SQL DCL Commands.DELETE FROM Syntax: DELETE FROM tablename WHERE condition Examples: DELETE FROM SP WHERE PNO= ‘P1’ DELETE FROM SP INPUT: SQL>Delete from emp where empno=7369.int] ] FORCE .V. RESULT: Commit complete. INPUT: SQL>commit.will manually commit an in-doubt distributed transaction force_text .sets a specific SCN. SQL .SRI MITTAPALLI COLLEGE OF ENGINEERING 3.S.Tech) 4 . Syntax: COMMIT [WORK] [COMMENT 'comment_text'] COMMIT [WORK] [FORCE 'force_text' [. ROLLBACK etc.V. If a network or machine failure prevents a distributed transaction from committing properly. RESULT: 1 row deleted. (M. © Reserved B. Oracle will store any commit comment in the data dictionary along with the transaction ID. COMMIT Save changes (transactional).Prasad MCA.transaction identifier (see the DBA_2PC_PENDING view) int .

ROLLBACK TO SAVEPOINT justsmith. © Reserved B. (M. SAVEPOINT everyone. ROLLBACK Undo work done (transactional).Prasad MCA. RESULT:Rollback complete. SAVEPOINT Save changes to a point (transactional). FORCE . SAVEPOINT justsmith.V.V. UPDATE employees SET salary = 1000000. Syntax: SAVEPOINT text_identifier Example: UPDATE employees SET salary = 95000 WHERE last_name = 'Smith'.S.will manually rollback an in-doubt distributed transaction INPUT: SQL>rollback. COMMIT. SELECT SUM(salary) FROM employees. ROLLBACK [WORK] [FORCE 'force_text']. Syntax: ROLLBACK [WORK] [TO [SAVEPOINT]'savepoint_text_identifier'].SRI MITTAPALLI COLLEGE OF ENGINEERING 2. 3.Tech) 5 .

To write simple queries and practice them. RESULT: Name -------------------------------EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO AGE ESAL Null? Type ----------------------.---------. Get the description of EMP table. Get the description DEPT table. RESULT: Name --------------------------------DEPTNO DNAME LOC Null? --------------------NOT NULL Type --------------------------NUMBER(2) VARCHAR2(14) VARCHAR2(13) 3. RESULT: EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO AGE ESAL -------.---------. SQL>desc dept.S.---------.2) NUMBER(7.--------.----------------7369 SMITH CLERK 7902 17-DEC-80 800 0 20 25 0 7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30 25 0 7521 WARD SALESMAN 7698 22-FEB-81 1250 500 30 25 0 7566 JONES MANAGER 7839 02-APR-81 2975 500 20 25 0 7698 BLAKE MANAGER 7839 01-MAY-81 2850 1400 30 25 0 © Reserved B.V.---------. (M.---------. 1.2) NUMBER(3) NUMBER(3) NUMBER(10) 2.List all employee details.SRI MITTAPALLI COLLEGE OF ENGINEERING Writing and Practice of Simple Queries. SQL>select * from emp.------------------------NOT NULL NUMBER(4) VARCHAR2(10) VARCHAR2(9) NUMBER(4) DATE NUMBER(7.---------.Prasad MCA.V. SQL>desc emp.--------.Tech) 6 .

INPUT SQL>select ename from emp where ename like ‘J%’ or ename like ‘T%’.List all employee names and their salaries. RESULT ENAME ------SCOTT FORD 6. INPUT SQL>select ename from emp where mgr in(7602.and 3500/. List all employee names and their and their manager whose manager is 7902 or 7566 0r 7789.7789). 5. (M.S. INPUT SQL>select ename from emp where sal between 1500 and 3500.V.both inclusive.7566.SRI MITTAPALLI COLLEGE OF ENGINEERING 4.Prasad MCA.V. whose salary lies between 1500/. List all employees which starts with either J or T. RESULT: ENAME --------JONES TURNER JAMES © Reserved B. RESULT ENAME ---------ALLEN JONES BLAKE CLARK SCOTT TURNER FORD russel greg 9 rows selected.Tech) 7 .

RESULT: ENAME ---------SMITH JONES CLARK SCOTT KING ADAMS FORD MILLER 8 rows selected.V.20). INPUT SQL>select distinct job from emp.Prasad MCA.V.job from emp where job like ‘M%’ or job like ‘P%’. whose job title includes M or P. INPUT SQL>select ename.Tech) 8 . RESULT: ENAME JOB ---------. INPUT SQL>select ename from emp where deptno in (10. List all jobs available in employee table. (M. List all employees who belongs to the department 10 or 20.SRI MITTAPALLI COLLEGE OF ENGINEERING 7.--------JONES MANAGER BLAKE MANAGER CLARK MANAGER KING PRESIDENT 8. © Reserved B. 9.S. RESULT: JOB --------ANALYST CLERK MANAGER PRESIDENT SALESMAN assistant clerk 7 rows selected. List all employee names and jobs.

List minimum . INPUT SQL>select count (distinct job) from emp. (M.5 2817.5 3277.V.5 11. sal . RESULT: COUNT(DISTINCTJOB) -----------------7 13. maximum .15* sal from emp.15*SAL -----------920 1840 1437.Prasad MCA.V. INPUT SQL>select min(sal).5 3421. What is the difference between maximum and minimum salaries of employees in the organization? INPUT SQL>select max(sal)-min(sal) from emp. SAL ---------800 1600 1250 2975 1250 2850 2450 SAL+0.Tech) 9 . INPUT SQL>select ename .S. average salaries of employee. sal+0. salary and 15% rise in salary.avg(sal) from emp. List all employee names . RESULT: MAX(SAL)-MIN(SAL) ----------------4997 © Reserved B.max(sal).94118 12. Find how many job titles are available in employee table.25 1437. RESULT: ENAME ---------SMITH ALLEN WARD JONES MARTIN BLAKE CLARK 7 rows selected. RESULT: MIN(SAL) MAX(SAL) -----------------3 5000 AVG(SAL) ---------1936.SRI MITTAPALLI COLLEGE OF ENGINEERING 10.

sal from emp where job like ‘M%’ and sal > (select min (sal) from emp).V. INPUT SQL>select ename from emp where deptno = 20.V. ENAME RESULT ---------CLARK SCOTT KING ADAMS JAMES FORD 6 rows selected.Tech) 10 . INPUT SQL>select ename. (M. © Reserved B. with deptno 20. RESULT ENAME ---------JONES BLAKE CLARK SAL ---------2975 2850 2450 15. Display all employee names and salary whose salary is greater than minimum salary of the company and job title starts with ‘M’. RESULT SUM(SAL) --------32928 16.SRI MITTAPALLI COLLEGE OF ENGINEERING 14. List ename whose commission is NULL. INPUT SQL>select sum (sal) from emp.Prasad MCA.S. Find how much amount the company is spending towards salaries. INPUT SQL>select ename from emp where comm is null. RESULT ENAME ---------SMITH JONES SCOTT ADAMS 17. Display name of the dept.

Tuples with the same value on all attributes in the group by clause are placed in one group. INPUT SQL>select ename from emp where mgr is not null. software. Source tables: emp. so aggregate function be used.V. RESULT ENAME ---------SMITH ALLEN WARD JONES MARTIN 5 rows selected. dept.Tech) 11 .of dept in employee table. (M.SRI MITTAPALLI COLLEGE OF ENGINEERING 18. RESULT COUNT(DISTINCTENAME -------------------17 19. List ename whose manager is not NULL.V. Find no. RESULT JOB SUM(SAL) -----------------ANALYST 6000 CLERK 23050 MANAGER 8275 PRESIDENT 5000 © Reserved B.sum (sal) from emp group by job. programmer. and retrieving information by joining tables. INPUT SQL>select job. etc. Group by : The attribute or attributes given in the clauses are used to form groups. Writing Queries using GROUP BY and other clauses. INPUT SQL>select count (distinct ename) from emp. Display total salary spent for each job category.S.Prasad MCA. To write queries using clauses such as GROUP BY. study. Having: SQL applies predicates (conditions) in the having clause after groups have been formed. 1. Order by : The order by clause is used to display the results in sorted order. ORDER BY.

count (ename) from emp. INPUT SQL>select ename. RESULT ENAME ---------chai JAMES MILLER ADAMS russel 5 rows selected.deptno group by dname.Prasad MCA.Tech) 12 . sum(scost) from software group by pname. where sal in (select min(sal) from emp group by SAL ---------3 950 1000 1100 2200 3. Display number of employees working in each department and their department name. SUM(SCOST) ---------12000 12000 12333 © Reserved B. dept where emp. INPUT SQL>select pname.deptno=dept. sal from emp mgr). RESULT DNAME COUNT(ENAME) ------------------------ACCOUNTING 3 RESEARCH 5 SALES 9 4.S.V.V. 2. RESULT PNAME -------------------john kamala raju 3 rows selected. (M. Display the sales cost of package developed by each programmer. Display lowest paid employee details under each manager.SRI MITTAPALLI COLLEGE OF ENGINEERING SALESMAN 5600 assistant 2200 clerk 2003 7 rows selected. INPUT SQL> select dname.

S. RESULT SOLD --------11 © Reserved B.Tech) 13 . (M. count(title) from software group by pname.-----------cobol 1 7. were sold? INPUT SQL>select sold from software where scost – dcost=(select min(scost – dcost) from software). RESULT PNAME -------------------john kamala raju ramana rani 5 rows selected. INPUT SQL>select pname. How many copies of package have the least difference between development and selling cost. 8. Display the number of packages sold by each programmer. count(pname) from study group by splace. INPUT SQL>select splace. count(title) from software where dcost < 1000 group by devin. Display each institute name with number of students.V.V. RESULT SPLACE COUNT(PNAME) ------------------------------BDPS 2 BITS 1 BNRILLIANI 1 COIT 1 HYD 1 5 rows selected. RESULT DEVIN COUNT(TITLE) ---------. INPUT SQL>select devin. COUNT(TITLE) -----------1 1 1 1 1 6.SRI MITTAPALLI COLLEGE OF ENGINEERING 5. Display the number of packages in each language for which the development cost is less than thousand.Prasad MCA.

study where devin = ‘c’ and sex =’F’ and splace = ‘pragathi’ and programmer.Prasad MCA.pname.pname = study.S. RESULT DEVIN COUNT(*) ------------------jsp 2 11.pname. software.pname and software. devin. RESULT PNAME -------------------vijay 12. INPUT SQL>select title from software where devin = ‘PASCAL’ and dcost = (select max(dcost)from software where devin = ‘PASCAL’). Which is the costliest package developed in Pascal.V.pname. title.pname. Which language was used to develop most no . (M. INPUT SQL>select software. sold from programmer. devin from programmer. Display the details of software developed in c language by female programmers of pragathi. dcost.pname = software.pname = software.Who are the male programmers earning below the average salary of female programmers? INPUT SQL>select pname from programmer where sal < (select avg(sal) from programmer where sex = ‘F’) and sex = ‘M’. title.SRI MITTAPALLI COLLEGE OF ENGINEERING 9. count (*) from software group by devin having count(*) = (select max(count(*) ) from software group by devin). RESULT no rows selected 10. software where sal > 3000 and sex = ‘M’ and programmer. scost. RESULT no rows selected 13. INPUT SQL>select programmer. INPUT SQL>select devin.Tech) 14 . © Reserved B. Display the details of software developed by the male programmers earning more than 3000/-.V.of packages.

INPUT SQL> select study. INPUT SQL>select splace.pname. sal.V. 1. count(*) from programmer group by prof1 having count (*) = (select max (count (*) ) from programmer group by prof1).Tech) 15 . (M.SRI MITTAPALLI COLLEGE OF ENGINEERING 14.----------4500 SABHARI © Reserved B.A nested query makes use of another sub-query to compute or retrieve the information. Find the salary and institute of a person who developed the highest selling package. To write queries using Set operations and to write nested queries. Set Operations: UNION INTERSECT EXCEPT OR AND NOT NESTED QUERY:. splace from study. programmer where study.S. pname from study where pname = (select pname from software where scost = (select max (scost) from software). RESULT SPLACE PNAME -----------------------SAHBHARI MARY 2. RESULT PNAME ----------MARY SAL SPLACE -----.V.pname = programmer.Prasad MCA. Writing Nested Queries. Find the name of the institute in which the person studied and developed the costliest package.pname and study. Which language has been stated by the most of the programmers as proficiency one? INPUT SQL>select prof1.pname = (select pname from software where scost = (select max (scost) from software)).

p.Prasad MCA. (M.sal from programmer t where pname<>t. round (months_between(sysdate. How many packages were developed by the person who developed the cheapest package. Calculate the experience in years of each programmer and display along with programmer name in descending order.V. count (title) from software where dcost = (select min(dcost) from software) group by pname. Writing Queries using functions. dob from programmer where to_char (dob. scost. INPUT SQL> select title. INPUT SQL>select pname. 6. Display the names and dob of all programmers who were born in january. Display the title.sal from programmer p. INPUT SQL>select pname .sal = t.pname and sal= t. 1.dcost) from software descending order by (scost-dcost). (dcost-scost) from software where dcost > scost. difference of scost and dcost in the descending order of difference.pname <> t.SRI MITTAPALLI COLLEGE OF ENGINEERING 3.(or) INPUT SQL>select pname. © Reserved B.pname. 5. doj) desc. INPUT SQL> select p. Calculate the amount to be recovered for those packages whose development cost has not yet recovered. doj)/12. 2) "EXPERIENCE" from programmer order by months_between (sysdate. programmer t where p. 2. dcost.sal. RESULT PNAME ------------VIJAY COUNT(TITLE) ---------------------1 4.Tech) 16 . dcost. INPUT SQL> select pname.S.V. INPUT SQL>select title . AIM: To write queries using single row functions and group functions. (scost .’MON’)=’JAN’. scost. Display the details of those who draw the same salary.sal.pname and p.

‘MON’). upper (pname) from software. INPUT SQL>select * from programmer where doj = (select max (doj) from programmer). INPUT SQL>select to_char (dob .V.Prasad MCA. ‘YY’) from programmer group by to_char (dob. Display all packages names in small letters and corresponding programmer names in uppercase letters. dob from programmer where dob = (select max (dob) from programmer where to_char (dob. 10.’YY’) having count (*) = (select max (count(*)) from programmer group by to_char (doj.’YY’).'yy') = 65).’MON’) like to_char (sysdate. INPUT SQL>select to_char (doj. INPUT SQL>select lower (title). 8. ‘YY’) having count(*) = (select max (count(*)) from programmer group by to_char(dob. Display the least experienced programmer’s details. most of the programmers are born. Display the names of the programmers whose name contains up to 5 characters. Who is the youngest programmer born in 1965. 4.’YY’).V. 11. List out the programmer names who will celebrate their birthdays during current month. 7. 9. INPUT SQL>select pname from programmer where to_char(dob. 6. INPUT SQL> select pname . (M. In which month most number of programmers are joined. Who is the most experienced programmer knowing pascal. © Reserved B. 5.’YY’) from programmer group by to_char (doj.SRI MITTAPALLI COLLEGE OF ENGINEERING 3. What is the length of the shortest name in programmer table ? INPUT SQL>select length (pname) from programmer where length (pname) = select min ( length (pname) from programmer).Tech) 17 . INPUT SQL>select pname from programmer where doj = (select min (doj) from programmer). In which year. INPUT SQL>select pname from programmer where length (pname) <=5.S.

RESULT 1 row updated.Tech) 18 .’oracle’. INPUT SQL> insert into view1 values (‘ramu’. SQL>create a view view2 as (select pname. SQL>create view view1 as (select * from programmer). INPUT SQL>update view1 set salary =50000 where pname like ‘raju’. software where sal < 3000 and programmer. Check all DML commands with above 4 views. RESULT 1 row created. RESULT 1 row deleted. pname.pname). Note: update command does not works for all queries on views. INPUT SQL>delete from view1 where pname like ‘raju’.S. SQL>create view xyz as select * from programmer full natural join software.dob.’f’. 2. SQL> create view lmn as (select programmer. title. Create a view from single table containing all columns from the base table. AIM: To write queries on views. devin from programmer.doj. 3.’28-jan85’.’12-sep-03’.V.V. © Reserved B. Create a view from two tables with selected columns.sal from programmer).pname = software.74000).sex. Create a view from two tables with all columns. Create a view from single table with selected columns.Prasad MCA.SRI MITTAPALLI COLLEGE OF ENGINEERING Writing Queries on views. 5.’dbase’. 1. (M. 4.

ENAME1:='&ENAME1'. NETPAY1).basic%type.eno%type. HRA1. Drop views which you generated. PF1. END. DA1.netpay%type. DA1 empdet. © Reserved B.SRI MITTAPALLI COLLEGE OF ENGINEERING 6. BASIC1:=&BASIC1.Prasad MCA.deptno%type.Tech) 19 . BASIC1. DA1:=(BASIC1*20)/100.pf%type. NETPAY1 empdet. BEGIN ENO1:=&ENO1. HRA1 empdet. BASIC1 empdet. RESULT View dropped. DEPTNO1. INPUT SQL>drop view view2.DA%type. DEPTNO1 empdet. INPUT SQL>drop view view1. (M.S. Writing PL/SQL block for insertion into a table. To write a PL/SQL block for inserting rows into EMPDET table with the following Calculations: HRA=50% OF BASIC DA=20% OF BASIC PF=7% OF BASIC NETPAY=BASIC+DA+HRA-PF INPUT DECLARE ENO1 empdet. NETPAY1:=BASIC1+HRA1+DA1-PF1.HRA%type. DEPTNO1:=&DEPTNO1. PF1 empdet. HRA1:=(BASIC1*50)/100. ENAME1 empdet.name%type. PF1:=(BASIC1*7)/100. INSERT INTO EMPDET VALUES (ENO1. ENAME1. RESULT View dropped. INPUT SQL>drop view xyz.V.V.

--------. Enter value for basic1: 6000 old 14: BASIC1:=&BASIC1.-----------------------------.S. new 11: ENO1:=105. new 13: DEPTNO1:=10. (M.V.--------.--------. Enter value for basic1: 6000 old 14: BASIC1:=&BASIC1. RESULT ENO NAME DEPTNO BASIC HRA DA PF NETPAY --------.V. new 13: DEPTNO1:=10. Enter value for deptno1: 10 old 13: DEPTNO1:=&DEPTNO1. Enter value for deptno1: 10 old 13: DEPTNO1:=&DEPTNO1. new 12: ENAME1:='SRINIVAS REDDY'. PL/SQL procedure successfully completed. new 12: ENAME1:='CIRAJ'. SQL> SELECT * FROM EMPDET.SRI MITTAPALLI COLLEGE OF ENGINEERING RESULT: SQL> @BASIC Enter value for eno1: 104 old 11: ENO1:=&ENO1.--------.Tech) 20 . PL/SQL procedure successfully completed. new 14: BASIC1:=6000. Enter value for ename1: SRINIVAS REDDY old 12: ENAME1:='&ENAME1'.--------.----------------------101 SANTOSH 10 5000 2500 1000 350 8150 102 SHANKAR 20 5000 2500 1000 350 8150 103 SURESH 20 5500 2750 1100 385 8965 104 SRINIVASA REDDY 10 6000 3000 1200 420 9780 105 CIRAJ 10 6000 3000 1200 420 9780 © Reserved B.Prasad MCA. new 11: ENO1:=104. Enter value for ename1: CIRAJ old 12: ENAME1:='&ENAME1'. SQL>/ Enter value for eno1: 105 old 11: ENO1:=&ENO1. new 14: BASIC1:=6000.

SRI MITTAPALLI COLLEGE OF ENGINEERING Writing PL/SQL block for checking armstrong number To write a PL/SQL block to check whether given number is Armstrong or not.put_line(num1||' IS ARMSTRONG NUMBER '). 153 IS ARMSTRONG NUMBER PL/SQL procedure successfully completed.Tech) 21 . num1 number(5). END. new 7: num:=123.put_line(num1||' IS NOT ARMSTRONG NUMBER '). (M. new 7: num:=153. num1:=num. © Reserved B. while(num>0) loop rem:=mod(num.3).10).Prasad MCA. 123 IS NOT ARMSTRONG NUMBER PL/SQL procedure successfully completed. s:=s+power(rem. else dbms_RESULT. BEGIN num:=&num. s number(5):=0. / RESULT: SQL>@arm Enter value for num: 153 old 7: num:=&num. rem number(5).V. SQL> / Enter value for num: 123 old 7: num:=&num.S. End if. num:=trunc(num/10). if (s=num1)then dbms_RESULT. INPUT DECLARE num number(5). End loop.V.

rem number. if rem=0 then dbms_RESULT.2). else dbms_RESULT. RESULT: SQL>start even Enter value for num: 6 old 5: num:=&num. © Reserved B. INPUT DECLARE num number(5). BEGIN num:=&num. (M.S. Number 3 is Odd PL/SQL procedure successfully completed.Prasad MCA.V. AIM: To write a PL/SQL block to check whether a given number is Even or Odd. new 5: num:=6.put_line(' Number '||num||' is Odd'). new 5: num:=3.V. Number 6 is Even PL/SQL procedure successfully completed. end if. SQL> / Enter value for num: 3 old 5: num:=&num. rem:=mod(num.SRI MITTAPALLI COLLEGE OF ENGINEERING Writing a PL/SQL block for checking a number even or odd.Tech) 22 .put_line(' Number '||num||' is Even'). END.

num1 number(5). SUM OF DIGITS OF 456 IS: 15 PL/SQL procedure successfully completed. rem number(5). (M.10). end loop.put_line('SUM OF DIGITS OF '||num1||' IS: '||sm). BEGIN num:=&num.Tech) 23 . num1:=num. SQL> @sum INPUT truncated to 2 characters Enter value for num: 456 old 7: num:=&num. dbms_RESULT. num:=trunc(num/10). To write a PL/SQL block to find Sum of Digits of a given Number.Prasad MCA. sm:=sm+rem. / RESULT: SQL> @sum INPUT truncated to 2 characters Enter value for num: 123 old 7: num:=&num. end. new 7: num:=456. sm number(5):=0.S.SRI MITTAPALLI COLLEGE OF ENGINEERING Writing PL/SQL block to find sum of digits of a given number. while(num>0) loop rem:=mod(num. © Reserved B. INPUT DECLARE num number(5).V.V. SUM OF DIGITS OF 123 IS: 6 PL/SQL procedure successfully completed. new 7: num:=123.

f1 number(5):=0.put_line(f3).S. i number(5):=3. © Reserved B.put_line('THE FIBONACCI SERIES IS:').put_line(f1). END.Tech) 24 . dbms_RESULT.Prasad MCA. To write a PL/SQL block to Generate Fibonacci Series INPUT DECLARE num number(5). (M. THE FIBONACCI SERIES IS: 0 1 1 2 3 5 8 13 21 34 PL/SQL procedure successfully completed. while(i<=num) loop f3:=f1+f2.V. end loop. dbms_RESULT. f2:=f3. f1:=f2. i:=i+1. f3 number(5). f2 number(5):=1. dbms_RESULT. dbms_RESULT. new 8: num:=10. BEGIN num:=&num.V. / RESULT: SQL> start fib Enter value for num: 10 old 8: num:=&num.put_line(f2).SRI MITTAPALLI COLLEGE OF ENGINEERING Writing PL/SQL block for generating Fibonacci series.

l:=length(name1). / RESULT Enter value for name1: LIRIL old 6: name1:='&name1'. while l>0 loop name2:=name2||substr(name1.Tech) 25 .Prasad MCA.put_line(name1||' IS PALINDROME ').V.put_line('REVERSE OF STRING IS:'||NAME2). new 6: name1:='LIRIL'.S.l. l:=l-1.put_line(name1||' IS NOT PALINDROME '). new 6: name1:='MADAM'. if(name1=name2) then dbms_RESULT.SRI MITTAPALLI COLLEGE OF ENGINEERING Writing PL/SQL block for checking palendrome. l number(5). dbms_RESULT.V. SQL> / Enter value for name1: MADAM old 6: name1:='&name1'. end loop. else dbms_RESULT. To write a PL/SQL block to Check the Given String is Palindrome or Not. END. INPUT DECLARE name1 varchar2(20). BEGIN name1:='&name1'. REVERSE OF STRING IS:MADAM MADAM IS PALINDROME PL/SQL procedure successfully completed. name2 varchar2(20). (M. © Reserved B. REVERSE OF STRING IS:LIRIL LIRIL IS PALINDROME PL/SQL procedure successfully completed.1). end if.

dbms_RESULT. dbms_RESULT.put_line('----------------------------------------------').put_line('-------------------------------------------').V. end loop.SRI MITTAPALLI COLLEGE OF ENGINEERING Writing PL/SQL block to demonstrate Cursors.S.empno|| ' '|| j.sal. dbms_RESULT. dbms_RESULT. INPUT DECLARE cursor c1 is select * from dept. dbms_RESULT. for j in c2 loop if ( i. dbms_RESULT.deptno=j.put_line('Department is :' || i.put_line('----------------------------------------------'). END. To write a Cursor to display the list of Employees and Total Salary Department wise.Prasad MCA.dname).sal%type.put_line('Total salary is: '|| s). end if. dbms_RESULT.Tech) 26 .deptno ||' Department name is:' || i.ename || ' '|| j.V. s emp.put_line(j. (M. end loop. BEGIN for i in c1 loop s:=0.put_line('----------------------------------------------'). cursor c2 is select * from emp.deptno) then s:=s+j.sal ). RESULT: SQL> @abc -----------------------------------------------------------------------------Department is :10 Department name is : ACCOUNTING -----------------------------------------------------------------------------7782 CLARK 2450 7839 KING 5000 7934 MILLER 1300 ----------------------------------------------------------------------------Total salary is: 8750 --------------------------------------------------------------------------------------------------------------------------------------------------------- © Reserved B.

(M.V.Tech) 27 .SRI MITTAPALLI COLLEGE OF ENGINEERING Department is :20 Department name is:RESEARCH -----------------------------------------------------------------------------7369 SMITH 800 7566 JONES 2975 7788 SCOTT 3000 7876 ADAMS 1100 7902 FORD 3000 ----------------------------------------------------------------------------Total salary is: 10875 ----------------------------------------------------------------------------------------------------------------------------------------------------------Department is :30 Department name is:SALES -----------------------------------------------------------------------------7499 ALLEN 1600 7521 WARD 1250 7654 MARTIN 1250 7698 BLAKE 2850 7844 TURNER 1500 7900 JAMES 950 -----------------------------------------------------------------------------Total salary is: 9400 ----------------------------------------------------------------------------------------------------------------------------------------------------------Department is :40 Department name is:OPERATIONS ----------------------------------------------------------------------------------------------------------------------------------------------------------Total salary is: 0 -----------------------------------------------------------------------------PL/SQL procedure successfully completed. © Reserved B.S.V.Prasad MCA.

end loop. dbms_RESULT.put_line(em). exit when c%notfound.SRI MITTAPALLI COLLEGE OF ENGINEERING Writing PL/SQL CURSOR To write a Cursor to display the list of employees who are Working as a Managers or Analyst. em emp. open c('ANALYST'). INPUT DECLARE cursor c(jb varchar2) is select ename from emp where job=jb. close c. (M. exit when c%notfound.put_line(em). END.Tech) 28 .put_line(' EMPLOYEES WORKING AS ANALYST ARE:'). BEGIN open c('MANAGER'). dbms_RESULT. RESULT: EMPLOYEES WORKING AS MANAGERS ARE: JONES BLAKE CLARK EMPLOYEES WORKING AS ANALYST ARE: SCOTT FORD PL/SQL procedure successfully completed.put_line(' EMPLOYEES WORKING AS MANAGERS ARE:'). dbms_RESULT. end loop. close c.job%type.V.Prasad MCA.V.S. © Reserved B. loop fetch c into em. loop fetch c into em. dbms_RESULT.

deptno.sal%type. exit when c%notfound.deptno. j emp.Tech) 29 .ename%type. BEGIN open c. deptno.empno%type.put_line(i||' '||j||' '||k||' '||l).V. loop fetch c into i. l. end loop. name. dbms_RESULT. dbms_RESULT. sal from emp . RESULT: SQL> @EMP Empno.SRI MITTAPALLI COLLEGE OF ENGINEERING Writing PL/SQL CURSOR To write a Cursor to display List of Employees from Emp Table in PL/SQL block INPUT DECLARE cursor c is select empno. END. j.V. © Reserved B. salary of employees are:= '). l emp.salary of employees are:= 7369 SMITH 20 800 7499 ALLEN 30 1600 7521 WARD 30 1250 7566 JONES 20 2975 7654 MARTIN 30 1250 7698 BLAKE 30 2850 7782 CLARK 10 2450 7788 SCOTT 20 3000 7839 KING 10 5000 7844 TURNER 30 1500 7876 ADAMS 20 1100 7900 JAMES 30 950 7902 FORD 20 3000 7934 MILLER 10 1300 PL/SQL procedure successfully completed. close c. (M.put_line('Empno.S. i emp.deptno%type.name. ename.Prasad MCA. k emp. k.

row1.ename.deptno%type. jb emp. BEGIN jb:='&jb'. new 7: jb:='MANAGER'. (M.S. end if.d).put_line('Employee does not exist').ename). INPUT DECLARE cursor c1(j varchar2.Tech) 30 . Enter value for d: 40 old 8: d:=&d. SQL> / Enter value for jb: CLERK old 7: jb:='&jb'. row1 emp%rowtype. dn number) is select empno. fetch c1 into row1. open c1(jb. d:=&d.empno.Prasad MCA.SRI MITTAPALLI COLLEGE OF ENGINEERING Writing PL/SQL CURSOR To write a Cursor to find employee with given job and deptno.empno||' ' ||'employee name is:'||row1. empno is:7566 employee name is:JONES PL/SQL procedure successfully completed.V. Employee does not exist PL/SQL procedure successfully completed. d emp. END. RESULT: SQL> @CUR Enter value for jb: MANAGER old 7: jb:='&jb'. © Reserved B.V.job%type. Enter value for d: 20 old 8: d:=&d. else dbms_RESULT. new 8: d:=40. new 7: jb:='CLERK'.put_line('empno is:'||row1. if c1%notfound then dbms_RESULT. ename from emp where job=j and deptno=dn. new 8: d:=20.

put_line('Using Substring Function:' || substr(a.l+4.3)). dbms_RESULT. dbms_RESULT.'x')).Prasad MCA.put_line('Using Initcap Function:' || initcap(a)). SQL> / Enter value for a: UMA SHANKAR old 5: a:='&a'. Using Lower Function:uma shankar © Reserved B. dbms_RESULT.S.put_line('Using Lower Function:' || lower(a)).V. dbms_RESULT. BEGIN a:='&a'. To write a PL/SQL block to apply String Functions on a given input String. (M. INPUT DECLARE a varchar2(20).V. new 5: a:='santosh reddy'.l+4.put_line('Using Substring Function:' || substr(a. l:=length(a). END.put_line('Using Lpad function :'|| lpad(a.put_line('Using Ltrim function for xxxabcxxxx:' || ltrim('xxxabcxxxx'.l.put_line('Using Rpad function :'|| rpad(a. l number(5).1. dbms_RESULT. Using Lower Function:santosh reddy Using UPPER Function:SANTOSH REDDY Using Initcap Function:Santosh Reddy Using Substring Function:y Using Substring Function:san Using Ltrim function for xxxabcxxxx:abcxxxx Using Rtrim function for xxxabcxxxx:xxxabc Using Lpad function :****santosh reddy Using Rpad function :santosh reddy**** PL/SQL procedure successfully completed.put_line('Using UPPER Function:' || upper(a)).'x')). dbms_RESULT.put_line('Using Rtrim function for xxxabcxxxx:'|| rtrim('xxxabcxxxx'. dbms_RESULT. dbms_RESULT.'*')). dbms_RESULT. new 5: a:='UMA SHANKAR'.SRI MITTAPALLI COLLEGE OF ENGINEERING Writing PL/SQL BLOCK using string functions. RESULT: SQL>@STR Enter value for a: santosh reddy old 5: a:='&a'.'*')).Tech) 31 .1)).

SRI MITTAPALLI COLLEGE OF ENGINEERING Using UPPER Function:UMA SHANKAR Using Initcap Function:Uma Shankar Using Substring Function:R Using Substring Function:UMA Using Ltrim function for xxxabcxxxx:abcxxxx Using Rtrim function for xxxabcxxxx:xxxabc Using Lpad function :****UMA SHANKAR Using Rpad function :UMA SHANKAR**** PL/SQL procedure successfully completed © Reserved B.V.Prasad MCA.Tech) 32 . (M.S.V.

SRI MITTAPALLI COLLEGE OF ENGINEERING Writing PL/SQL triggers To write a TRIGGER to ensure that DEPT TABLE does not contain duplicate of null values in DEPTNO column. DEPTNO DNAME LOC --------.------------10 ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES CHICAGO 40 OPERATIONS BOSTON SQL> insert into dept values(&deptnp. end if.Tech) 33 .'&loc') new 1: insert into dept values(null.'&dname'.'&dname'. SQL> select * from dept. if(a=1) then raise_application_error(-20002. end if.'error:: cannot have duplicate deptno').'marketing'. else select count(*) into a from dept where deptno=:new. Enter value for deptnp: null Enter value for dname: marketing Enter value for loc: hyd old 1: insert into dept values(&deptnp. END.deptno is Null) then raise_application_error(-20001.-------------. BEGIN if(:new.'hyd') insert into dept values(null.Prasad MCA.deptno.V.'&loc').V. (M.'marketing'.S.'error::deptno cannot be null').'hyd') * ERROR at line 1: ORA-20001: error::deptno cannot be null © Reserved B. RESULT: SQL> @trigger Trigger created. INPUT CREATE OR RELPLACE TRIGGER trig1 before insert on dept for each row DECLARE a number.

SQL> select * from dept. line 5 ORA-04088: error during execution of trigger 'SCOTT. line 9 ORA-04088: error during execution of trigger 'SCOTT.'manager'.TRIG1' SQL> / Enter value for deptnp: 50 Enter value for dname: MARKETING Enter value for loc: HYDERABAD old 1: insert into dept values(&deptnp.------------10 ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES CHICAGO 40 OPERATIONS BOSTON 50 MARKETING HYDE © Reserved B.Prasad MCA.TRIG1".'&dname'.'hyd') insert into dept values(10.'manager'.'HYDERABAD') 1 row created.S.'MARKETING'.TRIG1' SQL> / Enter value for deptnp: 10 Enter value for dname: manager Enter value for loc: hyd old 1: insert into dept values(&deptnp.V. DEPTNO DNAME LOC --------.'&dname'. (M.TRIG1".'&loc') new 1: insert into dept values(50.Tech) 34 .-------------.SRI MITTAPALLI COLLEGE OF ENGINEERING ORA-06512: at "SCOTT.'hyd') * ERROR at line 1: ORA-20002: error:: cannot have duplicate deptno ORA-06512: at "SCOTT.V.'&loc') new 1: insert into dept values(10.

SELECT.will place a ROW EXCLUSIVE lock. UPDATE or DELETE's . Default Locking Behaviour : A pure SELECT will not lock any rows.FOR UPDATE NOWAIT . INSERT. © Reserved B.] view [options] IN lockmode MODE [NOWAIT] Options: PARTITION (partition) SUBPARTITION (subpartition) @dblink lockmodes: EXCLUSIVE SHARE ROW EXCLUSIVE SHARE ROW EXCLUSIVE ROW SHARE* | SHARE UPDATE* If NOWAIT is omitted Oracle will wait until the table is available..Tech) 35 . each type of lock will allow additional locks to be granted as follows. ROW SHARE = Allow ROW EXCLUSIVE or ROW SHARE or SHARE locks to be granted to the locked rows. Multiple Locks on the same rows with LOCK TABLE Even when a row is locked you can always perform a SELECT (because SELECT does not lock any rows) in addition to this. (M.Prasad MCA. ROW EXCLUSIVE = Allow ROW EXCLUSIVE or ROW SHARE locks to be granted to the locked rows.table3 IN ROW EXCLUSIVE MODE.g.FROM.table2. Syntax: LOCK TABLE [schema. Several tables can be locked with a single command .] table [options] IN lockmode MODE [NOWAIT] LOCK TABLE [schema.V.V.S..will place a ROW EXCLUSIVE lock. AIM: To learn commands related to Table Locking LOCK TABLE Statement Manually lock one or more tables..SRI MITTAPALLI COLLEGE OF ENGINEERING Locking Table..separate with commas e. LOCK TABLE table1.

Form Builder Tool Open the "Form Builder" tool. present it in a layout specified by Form designer. Navigate a table. In this Hands-On. and allow the user to modify or add information. Use “execute query”.V. retrieve information requested by the user.V. Use next." Go to the Main menu and choose "File." In the ‘Connect’ window. Forms are the applications that connect to a database. Update. SHARE = Allow ROW SHARE or SHARE locks to be granted to the locked rows.Prasad MCA. UPDATES and DELETE's may still cause a wait if a conflicting row lock is held by another transaction. You can start your work with any of the following options: Use the data Block Wizard Build a new form manually Open an existing form Build a form based on a template The default is ‘Use the data Block Wizard. Delete and Save record. Welcome window You will get the ‘Welcome to the Form Builder’ window.” then click “CONNECT. Insert. (M. also known as Forms. login in as “scott” password “tiger.” © Reserved B. click on "Cancel” or check ‘Build a new form manually’ and click ‘OK. Enter query.SRI MITTAPALLI COLLEGE OF ENGINEERING SHARE ROW EXCLUSIVE = Allow ROW SHARE locks to be granted to the locked rows.S. EXCLUSIVE = Allow SELECT queries only Although it is valid to place more than one lock on a row. highlight "Database Objects. Manipulate table’s record." then "Connect.Tech) 36 .’ Connect to database In the ‘Object Navigator’ window. Form Builder allows you to build forms quickly and easily. If you don’t want to get this window anymore uncheck the ‘Display at startup’ box. you learn how to: Create a Data block for the “Customer” table. Use “content” canvas. previous record. Create a layout. Generation of Forms using ORACLE FORM BUILDER To design a form using Oracle Developer 2000 Introduction Use Form Builder to simplify for the creation of data-entry screens.’ If you want to build a new form manually.

SRI MITTAPALLI COLLEGE OF ENGINEERING Notice that the box next to ‘Database Objects’ is not empty anymore and it has a ‘+’ sign in it.Tech) 37 . click on the one arrow sign. This is a default name. (M.Prasad MCA.” select “Save as” to store the new object in the “iself” folder and save it as customer data entry. And then select all columns." Selecting columns for the Data Block Wizard To choose all columns." In this example the ‘DE’ abbreviation stands for Data Entry. Create a Module In the ‘Object Navigator’ window. To choose selected columns. highlight "Data Blocks. then click "OK. Type of Data Block Select the type of data block you would like to create by clicking on a radio button. choose the default option “Data Block Wizard” and click "OK.” Layout Wizard © Reserved B." Welcome Data Block In the ‘Welcome Data Block Wizard’ window click on the “NEXT” icon.V. "c:_de. The ‘Create’ icon is in the vertical tool bar in the ‘Object Navigator’ window. Go to the Main menu and choose “File. That will indicate that this item is expandable and you are able to see its entire objects.” and click on the "create” icon. click on the two arrow signs in the ‘Data Block Wizard’ window.V. highlight the "cust11” table. highlight module1.’ New Data Block In the ‘New Data Block’ window. Select the default option ‘Table or View’ and then click “NEXT” again.S. It is a green ‘+’ sign.” In the ‘Tables’ window. and click “next. Create a Data Block In the ‘Object Navigator’ window. If you drag your cursor on the icon a tooltip will show ‘Create. Click on the ‘+’ sign next to the ‘Database Objects’ to expand all database schemas. Selecting Tables Click on “browse.

titles.” Change your objects appearances Change size or prompt if needed. You use the vertical or horizontal toolbar canvases for your push buttons. or choose ‘Data Block wizard’ from the ‘Tools’ menu. click ”Next. In the stacked canvas.Prasad MCA. select the "new canvas" option. The following are different types of canvases: Content. Canvas is a place that you will have your objects such as columns.V. Stacked." then click “Next." if you want one record at a time to be displayed.” Selecting a layout style Select a layout style for your frame by clicking a radio button. Horizontal Toolbar.Tech) 38 .V. and click "Finish. These are the columns that you want to be displayed on the canvas. Select "Forms. select all the columns. click “Next. Vertical Toolbar.S. you can enter a prompt. select the canvas and then click on the next.” Selecting Columns for the Layout Wizard In the ‘Layout Wizard’ window. and height for each item on the canvas.SRI MITTAPALLI COLLEGE OF ENGINEERING End of the Data Block Wizard and beginning of the Layout Wizard In the ‘Congratulations’ screen. Select “Tabular. Check the different types of canvases by clicking on the ‘down arrow’ box next to the ‘Type’ field. (M. Then click “Next. use the default checkmark radio button (Create the data block. width. you can have multiple layers of objects and it is the same as the tab canvas. You can change the measurement units. You can change it to inch or centimeter." and then click “next. Welcome screen In the ‘Welcome to the Layout Wizard’ window. Simply select the data block in the Object Navigator and click the Data Block Wizard toolbar button. pictures. and Tab.” Selecting canvas In the ‘Layout Wizard’ window. etc.” if you want more than one record at a time to be displayed. then call the Layout Wizard). When you change size. As a default the default units for item width and height are points. In this window." You can also use the Data Block Wizard to modify your existing data block. Select "content.” Record layout © Reserved B. Select "Form. If you have already had your canvas. Think of the ‘Content’ canvas as one flat place to have all your objects.

Duplicate Record To duplicate the previous record. Next Record Click on the "Next Record" icon to navigate to the next record. click "Finish.Prasad MCA. If you drag the cursor on the toolbar in the ‘Forms Runtime’ window. To run the form. All items on the forms will be blanked. go to the main menu and select the ‘Record’ sub-menu. a tooltip will be displayed and you see ‘Execute Query. Select the ‘Duplicate’ option in the sub-menu. Remember in this stage. Make some window adjustments and then run the form. drag your cursor to view all the icon descriptions.V.V. The object module should be compiled successfully before executing the Form. This is an easy way to navigate through the “Customer” table. Enter Query Click on the "Enter Query" icon to query selected records. A drop down menu will be displayed. Insert Record Click "Insert Record" to add new customer.SRI MITTAPALLI COLLEGE OF ENGINEERING Type the "Frame Title" and click "next." Checkmark the ‘Display Scrollbar’ box when you use multiple records or the ‘Tabular’ option." You will see the output layout screen.S. The ‘Run’ icon is on the horizontal toolbar in the ‘CUSTOMER_DE’ canvas. your record was inserted but not committed yet.Tech) 39 . You can either type all the customer information or duplicate it from pervious record. Execute Query Click on the "Execute Query" icon below the main menu. Congratulation Screen In the ‘Congratulations’ window. Previous Record Click on the "Previous Record" icon to navigate to the previous record. Apply the changes. (M. click on the ‘Run’ icon. Next and Previous Record © Reserved B.’ So to know all your option.

Click "next record" and "previous record" to navigate through the records and the one was added. Save transactions Click "Save" to commit the insert statement.

Delete Record Click "Remove Record" to delete the record. Lock a Record You can also lock the record. Exit from Form Runtime Exit the FORM Runtime. If you have not committed any transaction, you will be prompted to save changes. Click “YES” to save changes. Click “OK” for acknowledgement. Don’t forget to save the Form. RABAD

© Reserved B.V.V.S.Prasad MCA, (M.Tech)



Selecting the type of form to create

© Reserved B.V.V.S.Prasad MCA, (M.Tech)



Object wizard

© Reserved B.V.V.S.Prasad MCA, (M.Tech)


V.Prasad MCA.S.SRI MITTAPALLI COLLEGE OF ENGINEERING Selecting the canvas on which data block can be displayed © Reserved B. (M.V.Tech) 43 .

Prasad MCA.V.SRI MITTAPALLI COLLEGE OF ENGINEERING Form showing the Employee details © Reserved B.Tech) 44 .S.V. (M.

use tabular style. choose “File. numeric and date items. Your client wants you to create a simple listing report to show list of the stock trades by using stocks table for their brokerage company Your tasks are: 1.” report number 1 stock history. Connect to database In the Object Navigator. In the ‘SQL Query Statement’ window.Apply user layout Format mask.Run the report. 3. You have been assigned to write the reports based on their reports layout requirements. It is similar in concept to the idea of an Oracle table. Data Model In the Object Navigator. highlight "Database Objects.” and select the “Save as” option. highlight the "untitled" report. report builder. change the format mask for dollar." then select the "Connect" option. returns output from your select statement in tabular format. 4. Oracle. navigating through report’s record. “date model”. double click on the "Data Model" icon. Open Report Builder tool Open the "Report Builder" tool.V. You will learn how to: use report wizard. write a query to read all the stocks record sorted by their symbol. then click “CONNECT. Generating REPORTS using Oracle Developer 2000 AIM: To design reports using Oracle Developer 2000 Introduction Tabular report shows data in a table format.Tech) 45 .Prasad MCA. click on the "SQL Query" icon.” Save a report In the Object Navigator. Hands-on In this Hands-On.” choose "File. In the ‘Save as’ window. Then drag the plus sign cursor and click it anywhere in the “Data Model” screen where you wish your object to be.V. 2. property palette.S. © Reserved B. In the ‘Connect’ window. object navigator. make sure to save the report in the ISELF folder and name it "rpt01_stock_history. work on query and group box.Test the repot. by default. see report style.Write a tabular report. your client is a stock broker that keeps track of its customer stock transactions. Create SQL box In the Data Model window. (M.SRI MITTAPALLI COLLEGE OF ENGINEERING EXPT#28. login as “iself” password schooling.

you should have your output report on the screen. Labels and Template tabs Click “NEXT” to go to the Data tab. and structure. This is a simple report. click on the ‘Report Wizard’ icon on the horizontal tool bar. change the name to ‘G_STOCKS. on the Report Wizard window. Select all the columns to be display.V. Use the default template and click “finish. line widths. Click “NEXT” to open the Labels tab. (M. Choose a different style to display its layout of its report style. Fields. Data.’ Notice that when you change the report style a layout of that report will be displayed on the screen. Click “NEXT” again to go to the Template tab. To resize an object . select the fields that you would like to be display in your report.’ and close the window.” Change SQL box’s name In the Data Model window. Totals. Click “NEXT” to navigate to Totals tab. In its property palette. Resize an object Maximize the output report and format the report layout. In the Group property palette.Tech) 46 . © Reserved B. Click “NEXT” to navigate to the Fields tab.S. Move an object To move an object. select it and drag its handler to the preferred size. right click on the ‘Q_1’ and open its property palette. Then close the window. modify the labels and widths for your fields and totals as desired. fonts. We have none in this hands-on exercise. In the ‘SQL Query Statement’ verify your query. select the fields for which you would like to calculate totals. Change GROUP box’s name In the Data Model.SRI MITTAPALLI COLLEGE OF ENGINEERING (SQL Query Statement) SELECT * FROM stocks ORDER BY symbol Click “OK. change the name to Q_STOCKS. select and drag it while the cursor is on the object.” Running a report Now. in the “SQL” box. type ‘Stock History’ in the Title box and choose the report style as ‘Tabular. and choose a template for your report.Prasad MCA. Your report will inherit the template’s colors.V. right click on the group box (G_SYMBOL) and open its property palette. In the Style tab. Open Report Wizard In the Data Model.

S.Live Pre-viewer. Right click on the "trade date" column and open its "property palette.V. Know report’s functions To know each icon functionalities. Do the same with the "first page" or "last page" icon. you can change any attributes of field by opening its property palette.Prasad MCA.” © Reserved B. "add decimal place. drag your cursor on it and a tooltip will display its function. right click on it and select the Property Palette option. and click on the ‘." Change the date "Format Mask" property and make it “year 2000 complaint (MM-DD-RR).0’ icon (apply commas). click on the "next page" or "previous page" icon on the horizontal toolbar.V. Use the “zoom in” and “zoom out” icon to preview the report. Change Format Mask To change the "format mask" of a column. Also.Tech) 47 .SRI MITTAPALLI COLLEGE OF ENGINEERING Navigate through the output To navigate through the output report in the Report Editor . Todays High. (M. the column should be selected." and the “right justify” format to the all currency columns (Todays Low. and current price) Select the “traded today” column. and make it right justify. Then go to the toolbar and click on the “$” icon. To open an object’s property palette.

V.Tech) 48 .SRI MITTAPALLI COLLEGE OF ENGINEERING Selecting type of report © Reserved B.Prasad MCA.S. (M.V.

V.Prasad MCA.V.Tech) 49 . (M.SRI MITTAPALLI COLLEGE OF ENGINEERING Creating reports Selecting the format of reports © Reserved B.S.

V.S. (M.V.SRI MITTAPALLI COLLEGE OF ENGINEERING Selecting the Table in database © Reserved B.Prasad MCA.Tech) 50 .

SRI MITTAPALLI COLLEGE OF ENGINEERING Selecting the columns in the report © Reserved B.Prasad MCA.V.V.Tech) 51 .S. (M.

S.SRI MITTAPALLI COLLEGE OF ENGINEERING Modify the labels in a table © Reserved B.V. (M.Tech) 52 .Prasad MCA.V.

V. (M.SRI MITTAPALLI COLLEGE OF ENGINEERING Choose a template to represent the report © Reserved B.V.Tech) 53 .Prasad MCA.S.

S.V.Tech) 54 .V.Prasad MCA. (M.SRI MITTAPALLI COLLEGE OF ENGINEERING To specify the completion of report generation © Reserved B.


S. column. column.V..)] ON [schema...Prasad MCA.)] ON JAVA [RE]SOURCE [schema. AIM: To learn GRANT and REVOKE commands to restrict privileges. Providing Security using GRANT and REVOKE..]object TO grantee [WITH GRANT OPTION] [WITH HIERARCHY OPTION] GRANT ALL PRIVILEGES [(column.)] ON [schema. (1) GRANT Statement Grant privileges to a user (or to a user role) Syntax: Grant System-wide Privs: GRANT system_priv(s) TO grantee [IDENTIFIED BY password] [WITH ADMIN OPTION] GRANT role TO grantee [IDENTIFIED BY password] [WITH ADMIN OPTION] GRANT ALL PRIVILEGES TO grantee [IDENTIFIED BY password] [WITH ADMIN OPTION] Grant privs on specific objects: GRANT object_priv [(column.. SELECT ANY TABLE .Allows user to connect to the database UNLIMITED TABLESPACE .. views. column. (M.)] ON DIRECTORY directory_name TO grantee [WITH GRANT OPTION] [WITH HIERARCHY OPTION] GRANT object_priv [(column. column.. or mviews in any schema © Reserved B.]object TO grantee [WITH GRANT OPTION] [WITH HIERARCHY OPTION] GRANT object_priv [(column..V....Query tables.SRI MITTAPALLI COLLEGE OF ENGINEERING EXPT#29..]object TO grantee [WITH GRANT OPTION] [WITH HIERARCHY OPTION] grantee: user role PUBLIC system_privs: CREATE SESSION .Tech) 56 .Use an unlimited amount of any tablespace.

. database. procedure. table. INSERT. UPDATE (sal) ON scott. materialized view. operator. DELETE. AQ_ADMINISTRATOR_ROLE . outline. "GRANT ALL PRIVILEGES.Tech) 57 . user. synonym. OSDBA.V. Syntax: Roles: REVOKE role FROM {user.Insert rows into tables and views in any schema Also System Admin rights to CREATE. tablespace. directory. DEBUG. EXECUTE_CATALOG_ROLE. OSOPER. IMP_FULL_DATABASE SELECT_CATALOG_ROLE. |PUBLIC} System Privs: REVOKE system_priv(s) FROM {user. (M. trigger. EXECUTE. index.S. dimension. link. session. UPDATE.rman HS_ADMIN_ROLE . | role.. | role.emp TO emma WITH HIERARCHY OPTION will grant the object privilege on all subobjects. REFERENCES roles: SYSDBA. INDEX. view. type. context. ALTER or DROP: cluster. WITH GRANT OPTION will enable the grantee to grant those object privileges to other users and roles. ALTER. profile.. RECOVERY_CATALOG_OWNER . |PUBLIC} © Reserved B. SYSOPER.. DELETE_CATALOG_ROLE AQ_USER_ROLE. GRANT SELECT (empno).SRI MITTAPALLI COLLEGE OF ENGINEERING UPDATE ANY TABLE ." (ii) REVOKE Statement Revoke privileges from users or roles. EXP_FULL_DATABASE. role.Prasad MCA.advanced queuing SNMPAGENT . (full list of system privs) object_privs: SELECT.Enterprise Manager/Intelligent Agent.V.heterogeneous services plus any user defined roles you have available Notes: Several Object_Privs can be assigned in a single GRANT statement e. sequence. rollback segment.Update rows in tables and views in any schema INSERT ANY TABLE . including any created after the GRANT statement is issued." may also be written as "GRANT ALL.g.

BECOME USER. column2.)] ON [schema. |PUBLIC} [CASCADE CONSTRAINTS] [FORCE] REVOKE object_priv [(column1.)] ON DIRECTORY directory_name FROM {user. column2.0 Error ORA-01927 "cannot REVOKE privileges you did not grant" . SYSOPER.S. UPDATE ANY TABLE plus too many others to list here roles Standard Oracle roles SYSDBA.g. CREATE TABLE. The roles CONNECT. IMP_FULL_DATABASE plus any user defined roles you have available FORCE.V.Tech) 58 .]object FROM {user. © Reserved B. SELECT.. e.)] ON [schema.Prasad MCA. | role. OSDBA. UNLIMITED TABLESPACE.V. EXP_FULL_DATABASE.]object FROM {user.Table1 from USER1 Owners of objects ALWAYS have full permissions on those objects. |PUBLIC} [CASCADE CONSTRAINTS] [FORCE] REVOKE object_priv [(column1. EXECUTE. RESOURCE and DBA are now deprecated (supported only for backwards compatibility) unless you are still running Oracle 6. OSOPER. |PUBLIC} Object Privs: REVOKE object_priv [(column1. | role. Oracle will not allow REVOKE select on USER1. | role. will revoke all privileges from a user-defined-type and mark it's dependent objects INVALID.. column2. | role. UPDATE. |PUBLIC} [CASCADE CONSTRAINTS] [FORCE] REVOKE object_priv [(column1. REFERENCES.This usually means you tried revoking permission from the table owner. |PUBLIC} [CASCADE CONSTRAINTS] [FORCE] key: object_privs ALTER. INSERT.SRI MITTAPALLI COLLEGE OF ENGINEERING REVOKE ALL FROM {user.)] ON JAVA [RE]SOURCE [schema. This is one reason it makes sense to place tables in one schema and the packaged prodecures used to access those tables in a separate schema.]object FROM {user. column2. DELETE. INDEX. (M. | role. DROP ANY VIEW RESTRICTED SESSION. ALL PRIVILEGES system_privs ALTER ANY INDEX...

www. Release 2 (9. RDBMS Lab Guide. Database Systems Instructor: Prof. 2. http://download-east.lc.1) SQL Reference. Orelly PL/SQL Pocket Reference.campusconnect. Oracle 9i Release 1 (9.cs. Samuel Madden Source: MIT Open Courseware (http://ocw.unix.920/a96540/toc.oracle.ncl.2).htm. (M.0. www.uk/teaching/facilities/swdoc/oracle9i/server.V. Oracle 9i Release 2 (9.S.ac.mit. An A-Z Index of Oracle SQL Commands (version 9. PL/SQL User's Guide and Reference.V.htm.edu). 4.ua/orelly/oracle/langpkt/index. http://www.com userid:demo@infosys and passwork:infosys.2) http://www. http://www. © Reserved B.infosys.Tech) 59 .com/docs/cd/A91202_01/901_doc/server.920/a96624/toc.htm.com/ora/.ss64.htm 7.2) SQL Reference. 5. 3.leidenuniv.901/a90125/toc.Prasad MCA. 6.nl/awcourse/oracle/appdev.org.SRI MITTAPALLI COLLEGE OF ENGINEERING REFERENCES: 1.

Describe the three levels of data abstraction? The are three levels of abstraction: Ø Physical level: The lowest level of abstraction describes how data are stored. representing some aspect of real world and which is designed. What is extension and intension? Extension It is the number of tuples present in a table at any instance.S.Prasad MCA. constructing and manipulating the database for various applications. What is a Database system? The database and DBMS software together is called as Database system. 4. 8. Disadvantage in File Processing System? Ø Data redundancy & inconsistency. Intension - © Reserved B. Ø Data isolation. Define the "integrity rules" There are two Integrity rules. Ø Providing backup and recovery. Ø View level: The highest level of abstraction describes only part of entire database. 2. Advantages of DBMS? Ø Redundancy is controlled. 7. Ø Enforcing integrity constraints. Ø Logical level: The next higher level of abstraction. Ø Concurrent access is not possible. Ø Providing multiple user interfaces. built and populated with data for a specific purpose. 5. This is time dependent. What is DBMS? It is a collection of programs that enables user to create and maintain a database. Ø Entity Integrity: States that “Primary key cannot have NULL value” Ø Referential Integrity: States that “Foreign Key can be either a NULL value or should be Primary Key value of other relation. 3.Tech) 60 . 6. Ø Difficult in accessing data.V. Ø Unauthorised access is restricted. In other words it is general-purpose software that provides the users with the processes of defining. describes what data are stored in database and what relationship among those data. What is database? A database is a logically coherent collection of data with some inherent meaning.SRI MITTAPALLI COLLEGE OF ENGINEERING VIVA VOICE QUESTIONS AND ANSWERS 1. Ø Security Problems. Ø Data integrity. (M.V.

What is Data Independence? Data independence means that “the application is independent of the storage structure and access strategy of data”. that is. 14. It is a prototype and its purpose was to demonstrate that it is possible to build a Relational System that can be used in a real life environment to solve real life problems. a table that does not really exist in its own right but is instead derived from one or more underlying base table.V. In other words. What is System R? What are its two major subsystems? System R was designed and developed over a period of 1974-79 at IBM San Jose Research Center. structure of table and the constraints laid on it.V.Tech) 61 . 13.SRI MITTAPALLI COLLEGE OF ENGINEERING It is a constant value that gives the name.S. Thus the view can insulate users from the effects of restructuring and growth in the database. 9. Growth and restructuring of base tables is not reflected in views. there is no stored file that direct represents the view instead a definition of view is stored in data dictionary. Ø Logical Data Independence: Modification in logical level should affect the view level. What is Object Oriented model? This model is based on collection of objects. What is E-R model? This data model is based on real world that consists of basic objects called entities and of relationship among these objects. How is the data structure of System R different from the relational structure? Unlike Relational systems in System R Ø Domains are not supported Ø Enforcement of candidate key uniqueness is optional Ø Enforcement of entity integrity is optional Ø Referential integrity is not enforced 11. (M. NOTE: Logical Data Independence is more difficult to achieve 12. 10. Its two subsystems are Ø Research Storage Ø System Relational Data System. Hence accounts for logical data independence. The ability to modify the schema definition in one level should not affect the schema definition in the next higher level.Prasad MCA. What is a view? How it is related to data independence? A view may be thought of as a virtual table. Two types of Data Independence: Ø Physical Data Independence: Modification in physical level should not affect the logical level. 15. In other words. Entities are described in a database by a set of attributes. with performance at least comparable to that of existing system. What is Data Model? A collection of conceptual tools for describing data. An object contains values stored in instance © Reserved B. data relationships data semantics and constraints.

23.S. What is an Entity type? It is a collection (set) of entities that have same attributes. 26.Prasad MCA. What is Relationship set? The collection (or set) of similar relationships. Let r be the relation which contains set tuples (t1. 27. What is an Entity? It is a 'thing' in the real world with an independent existence.SRI MITTAPALLI COLLEGE OF ENGINEERING variables with in the object.. t2. These bodies of code are called methods.V. 24. 28. 22. What is an Extension of entity type? The collections of entities of a particular entity type are grouped together into an entity set.. 16.v2. . Each tuple is an ordered list of n-values t=(v1. 17.V.. What is DDL (Data Definition Language)? © Reserved B. which describes the entity. and its primary key compromises of its partial key and primary key of its parent entity. An) is made up of the relation name R and the list of attributes Ai that it contains. then it is said to be Weak Entity set. A2.Tech) 62 . …. .. 20. An object also contains bodies of code that operate on the object. What is Weak Entity set? An entity set may not have sufficient attributes to form a primary key. What is an Entity set? It is a collection of all entities of particular entity type in the database. 21. Objects that contain same types of values and the same methods are grouped together into classes. 19. A relation is defined as a set of tuples. What is Relationship type? Relationship type defines a set of associations or a relationship set among a given set of entity types. t3.. What is degree of Relationship type? It is the number of entity type participating. 25.. What is an attribute? It is a particular property. 18. tn). What is degree of a Relation? It is the number of attribute of its relation schema. What is a Relation Schema and a Relation? A relation Schema denoted by R(A1. (M. vn). What is Relationship? It is an association among two or more entities.

What is DML Compiler? It translates DML statements in a query language into low-level instruction that the query evaluation engine can understand. What is VDL (View Definition Language)? It specifies user views and their mappings to the conceptual schema.V. 35. 39.S. What is Record-at-a-time? The Low level or Procedural DML can specify and retrieve each record from a set of records. What is DDL Interpreter? It interprets DDL statements and record them in tables containing metadata. What is SDL (Storage Definition Language)? This language is to specify the internal schema. This language may specify the mapping between two schemas. 31.Definition Language? The storage structures and access methods used by database system are specified by a set of definition in a special type of DDL called data storage-definition language.Tech) 63 . 34. 36. 33. 30. What is Data Storage . Ø Non-Procedural DML or High level: DML requires a user to specify what data are needed without specifying how to get those data. What is Relational Algebra? It is procedural query language.Prasad MCA. What is Query evaluation engine? It executes low-level instruction generated by compiler.V. What is Relational Calculus? It is an applied predicate calculus specifically tailored for relational databases proposed by © Reserved B. It consists of a set of operations that take one or two relations as input and produce a new relation. Ø Procedural DML or Low level: DML requires a user to specify what data are needed and how to get those data. This retrieve of a record is said to be Record-at-a-time. What is Set-at-a-time or Set-oriented? The High level or Non-procedural DML can specify and retrieve many records in a single DML statement. 32. What is DML (Data Manipulation Language)? This language that enable user to access or manipulate data as organised by appropriate data model. 38. (M.SRI MITTAPALLI COLLEGE OF ENGINEERING A data base schema is specifies by a set of definitions expressed by a special language called DDL. This retrieve of a record is said to be Set-at-a-time or Set-oriented. 29. 37.

What is 1 NF (Normal Form)? The domain of attribute must include only atomic (simple.g. When is a functional dependency F said to be minimal? Ø Every dependency in F has a single attribute for its right hand side. 47. Ø We cannot remove any dependency from F and still have set of dependency that is equivalent to F. How does Tuple-oriented relational calculus differ from domain-oriented relational calculus The tuple-oriented calculus uses a tuple variables i.V. where X and Y are both subsets of R.e. 43. variable whose only permitted values are tuples of that relation. 41. 40. What is Multivalued dependency? Multivalued dependency denoted by X Y specified on relation schema R. What is Functional Dependency? A Functional dependency is denoted by X Y between two sets of attributes X and Y that are subsets of R specifies a constraint on the possible tuple that can form a relation state r of R. The constraint is for any two tuples t1 and t2 in r if t1[X] = t2[X] then they have t1[Y] = t2[Y].Tech) 64 . ILL.e. QUEL..S.g.F. What is normalization? It is a process of analysing the given relation schemas based on their Functional Dependencies (FDs) and primary key to achieve the properties Ø Minimizing redundancy Ø Minimizing insertion. specifies the following constraint on any relation r of R: if two tuples t1 and t2 exist in r such that t1[X] = t2[X] then t3 and t4 should also exist in r with the following properties Ø t3[x] = t4[X] = t1[X] = t2[X] Ø t3[Y] = t1[Y] and t4[Y] = t2[Y] Ø t3[Z] = t2[Z] and t4[Z] = t1[Z] where [Z = (R-(X U Y)) ] 45. 44. 46..V. What is Lossless join property? It guarantees that the spurious tuple generation does not occur with respect to relation schemas after decomposition. What is Fully Functional dependency? © Reserved B. QUEL The domain-oriented calculus has domain variables i.g.SRI MITTAPALLI COLLEGE OF ENGINEERING E. indivisible) values. This means the value of X component of a tuple uniquely determines the value of component Y. E. DEDUCE. Codd. of languages based on it are DSL ALPHA.Prasad MCA. (M. E. E. variables that range over the underlying domains instead of over relation. deletion and update anomalies. 42. Ø We cannot replace any dependency X A in F with a dependency Y A where Y is a proper subset of X and still have a set of dependency that is equivalent to F.

. What is 5NF? A Relation schema R is said to be 5NF if for every join dependency {R1. X must be a candidate key. Ø A is a prime attribute of R. 50. then the last resort is to simply create a key. . Ø The join dependency is implied by the set of FD.V. What is 2NF? A relation schema R is in 2NF if it is in 1NF and every non-prime attribute A in R is fully functionally dependent on primary key.. Artificial Key: If no obvious key. R2. alternate.. either stand alone or compound is available. A functional dependency X Y is full functional dependency if removal of any attribute A from X means that the dependency does not hold any more. over R in which the left side is key of R. 51. Ø X is a super key. compound and natural key? Partial Key: It is a set of attributes that can uniquely identify weak entities and that are related to same owner entity. 49. one of following is true Ø X is subset or equal to (or) XY = R.V. Rn} that holds R. by assigning a unique number to each record or occurrence.Tech) 65 . What are partial.Prasad MCA. one the following is true Ø Ri = R for some i. 52. 53. What is BCNF (Boyce-Codd Normal Form)? A relation schema R is in BCNF if it is in 3NF and satisfies an additional constraint that for every FD X A. (M. Then this is known as developing an artificial key. 54. artificial. 48. if every non prime attribute is non-transitively dependent on primary key.SRI MITTAPALLI COLLEGE OF ENGINEERING It is based on concept of full functional dependency. © Reserved B.. What is 3NF? A relation schema R is in 3NF if it is in 2NF and for every FD X A either of the following is true Ø X is a Super-key of R. What is 4NF? A relation schema R is said to be in 4NF if for every Multivalued dependency X Y that holds over R. It is sometime called as Discriminator.S. Alternate Key: All Candidate Keys excluding the Primary Key are known as Alternate Keys. What is Domain-Key Normal Form? A relation is said to be in DKNF if all constraints and dependencies that should hold on the the constraint can be enforced by simply enforcing the domain constraint and key constraint on the relation. In other words.

.V.. then it is called the natural key. .. R2. 58. then combining multiple elements to create a unique identifier for the construct is known as creating a compound key.Tech) 66 . (M. Rn is a lossless-join decomposition of R .. What do you mean by atomicity and aggregation? Atomicity: Either all actions are carried out or none are. What is system catalog or catalog relation? How is better known as? A RDBMS maintains a description of all the data that it contains.SRI MITTAPALLI COLLEGE OF ENGINEERING Compound Key: If no single data element uniquely identifies occurrences within a construct.V. 55. Users should not have to worry about the effect of incomplete transactions. its effects should persist even if the system crashes before all its changes are reflected on disk.S. DBMS ensures this by undoing the actions of incomplete transactions. This information is stored in a collection of relations maintained by the system called metadata. 60. What is meant by query optimization? The phase that identifies an efficient execution plan for evaluating a query that has the least estimated cost is referred to as query optimization. There is no set of sound and complete inference rules for JD. It is also called data dictionary. R2. What is durability in DBMS? Once the DBMS informs the user that a transaction has successfully completed.A JD {R1. information about every relation and index that it contains. A foreign key constraint is an example of inclusion dependency. Rn} is said to hold over a relation R if R1. Natural Key: When one of the data elements stored within a construct is utilized as the primary key. 59.Prasad MCA.. Types: Ø Binary search style indexing Ø B-Tree indexing Ø Inverted list indexing Ø Memory resident table Ø Table indexing 56. This property is called durability. Inclusion Dependency: An Inclusion Dependency is a statement of the form that some columns of a relation are contained in other columns. What is indexing and what are the different kinds of indexing? Indexing is a technique for determining how quickly specific data can be found. What is join dependency and inclusion dependency? Join Dependency: A Join dependency is generalization of Multivalued dependency. R3.. Aggregation: © Reserved B. . 57.

or nested queries. A correlated subquery can be easily identified if it contains any references to the parent subquery columns in its WHERE clause.SRI MITTAPALLI COLLEGE OF ENGINEERING A concept which is used to model a relationship between a collection of entities and relationships. Hierarchical schemas and their properties Network schema uses a graph data structure to organize records example for such a database management system is CTCG while a hierarchical schema uses a tree data structure example for such a system is IMS.S.V. Brief theory of Network. 61. 68. What is a Phantom Deadlock? In distributed deadlock detection. What is a query? A query with respect to DBMS relates to user commands that are used to interact with a data base. Depending on how the subquery is written. E. What do you mean by flat file database? It is a database in which there are no programs or user access languages. If the subquery is executed for each row of the parent. It has no cross-file capabilities but is user-friendly and provides user-interface management. It is used when we need to express a relationship among relationships. Columns from the subquery cannot be referenced anywhere else in the parent query. this is called a correlated subquery. What do you mean by Correlated subquery? Subqueries. What is a checkpoint and When does it occur? A Checkpoint is like a snapshot of the DBMS state.Prasad MCA. What is "transparent DBMS"? It is one.V. 65.g. 62.CNUM) © Reserved B.CNUM = ORDER. the DBMS can reduce the amount of work to be done during restart in the event of subsequent crashes.Tech) 67 . 67. The query language can be classified into data definition language and data manipulation language. are used to bring back a set of rows to be used by the parent query. 66. which keeps its Physical Structure hidden from user. By taking checkpoints. the delay in propagating local information might cause the deadlock detection algorithms to identify deadlocks that do not really exist. (M. it can be executed once for the parent query or it can be executed once for each row returned by the parent query. 63. Select * From CUST Where '10/03/1990' IN (Select ODATE From ORDER Where CUST. Such situations are called phantom deadlocks and they lead to unnecessary aborts. What are the different phases of transaction? Different phases are Ø Analysis phase Ø Redo Phase Ø Undo phase 64. The following example demonstrates a non-correlated subquery.

What are the primitive operations common to all record management systems? Addition. How do you communicate with an RDBMS? You communicate with an RDBMS using Structured Query Language (SQL) 78. and securing data.V.Tech) 68 .V. 73.SRI MITTAPALLI COLLEGE OF ENGINEERING 69. 77. Are the resulting relations of PRODUCT and JOIN operation the same? No. 70. Name the sub-systems of a RDBMS I/O. 76. An RDBMS maintains its own list of authorized users and their associated privileges. and manages space usage within its tablespace structures. Logging and Recovery. Distribution Control. and maps the actual physical storage location. Security.S. Storage Management. What are the unary operations in Relational Algebra? PROJECTION and SELECTION. Lock Management 75. its primary functions are storing. Memory Management. Which part of the RDBMS takes care of the data dictionary? How Data dictionary is a set of tables and database objects that is stored in a special area of the database and maintained exclusively by the kernel. Process Control. designed specifically for controlling data access. What is RDBMS KERNEL? Two important pieces of RDBMS architecture are the kernel. provides access to them. which consists of the system-level data structures used by the kernel to manage the database You might think of an RDBMS as an operating system (or set of subsystems). What is the job of the information stored in data-dictionary? The information in the data dictionary validates the existence of the objects. 74. manages memory caches and paging. JOIN: Concatenation of rows from one relation and related rows from another. (M. Language Processing. deletion and modification. PRODUCT: Concatenation of every row in one relation with every row in another. Not only RDBMS takes care of locating data it also determines an optimal access path to store or retrieve the data 76. dispatches and schedules user requests. Define SQL and state the differences between SQL and other conventional programming Languages SQL is a nonprocedural language that is designed specifically for data access operations on © Reserved B. and the data dictionary. controls locking for concurrent resource usage. which is the software. Name the buffer in which all the commands that are typed in are stored ‘Edit’ Buffer 71. 72. retrieving.Prasad MCA. Transaction Control.

and PMON (Process Monitor). also known as Oracle background processes. The combination of the SGA and the Oracle background processes is known as an Oracle instance 81. In terms of accessing and using the data in the tables and other objects. and the database administrator might have to recover some or all of the database using a backup. control files and log files. LGWR (Log Writer). How many of these files should a database have at least? Why? Database Files The database files hold the actual data and are typically the largest in size.V. What are the four Oracle system processes that must always be up and running for the database to be useable The four Oracle system processes that must always be up and running for the database to be useable include DBWR (Database Writer). 80. SMON (System Monitor).V. you cannot access the database. the tables (and other objects) for all the user accounts can go in one database file—but that's not an ideal situation because it does not make the database structure very flexible for controlling access to storage for different users. 79. provide functions for the user processes—functions that would otherwise be done by the user processes themselves Oracle database-wide system memory is known as the SGA. Name the three major set of files on disk that compose a database in Oracle There are three major sets of files on disk that compose a database. Depending on their sizes. The primary difference between SQL and other conventional programming languages is that SQL statements specify what data operations should be performed rather than how to perform them. 82. more than one files are used.SRI MITTAPALLI COLLEGE OF ENGINEERING normalized relational database structures. These are Ø Database files Ø Control files Ø Redo logs The most important of these are the database files where the actual data resides. or backing up and restoring just part of the database. All the files are binary. The control files and the redo logs support the functioning of the architecture itself.S. the number (or location) of the files is immaterial. and all the Oracle background processes and user processes can use them. What is an Oracle Instance? The Oracle system processes. open. You must have at least one database file but usually.Tech) 69 . Without these files. putting the database on different disk drives. the system global area or shared global area. All three sets of files must be present. What are database files. The database files are fixed in size and never grow bigger than the size at which they were created Control Files The control files and redo logs support the rest of the architecture. Any database must have at © Reserved B. (M.Prasad MCA. and available to Oracle for any data on the database to be useable. The data and control structures in the SGA are shareable. if there is one.

The redo log files are fixed in size and never grow dynamically from the size at which they were created. it never changes until the row is deleted or the table is dropped. This block header has a minimum size. but it should be done only when the database is first created. the changes recorded in the redo logs can be used to bring the database to a consistent state without losing any committed transactions. Regardless of the block size. What is Oracle Block? Can two Oracle Blocks have the same address? Oracle "formats" the database files into a number of Oracle blocks when they are first created—making it easier for the RDBMS software to manage the files and easier to read data into the memory areas. and the synchronization information to ensure that all three sets of files are always in step. The control file records the name of the database.Prasad MCA. but it can grow. Oracle takes up some space to manage the contents of the block. These are the journals for the database. The block size should be a multiple of the operating system block size. the date and time it was created. 85. If any type of failure occurs. the information is recorded in the control files. Ø Oracle database file number. Redo Logs Any database must have at least two redo logs. the entire block is not available for holding data. the location of the database and redo logs. the redo logs record all changes to the user objects or system objects. (M. which contains the block with the rows Ø Oracle block address. The trigger can e defined to execute once for © Reserved B. Every time you add a new database or redo log file to the database. In the case of non-data loss failure. Increasing the Oracle block size can improve performance. These Oracle blocks are the smallest unit of storage.SRI MITTAPALLI COLLEGE OF ENGINEERING least one control file. Two blocks can have the same block address if they are in different database files. Once assigned (when the row is first inserted into the database). Oracle can apply the information in the redo logs automatically without intervention from the DBA. which contains the row Ø The row within the block (because each block can hold many rows) The ROWID is used internally in indexes as a quick means of retrieving rows with a particular key value. Application developers also use it in SQL statements as a quick way to access a row once they know the ROWID 84.Tech) 70 . although you typically have more than one to guard against loss.V. 83. the combination of which uniquely identifies the physical storage location of the row. What is database Trigger? A database trigger is a PL/SQL block that can defined to automatically execute for insert. The ROWID consists of the following three components. update.S. and delete statements against a table.V. Each Oracle block is numbered sequentially for each database file starting at 1. What is ROWID? The ROWID is a unique database-wide physical address for every row on every table.

After the exception handler executes. the exception name is ot_failure. Along with the RDBMS software. Stored procedures are used to reduce network traffic. 86. The Import utility reads the file produced by an export. Within this exception is the RAISE statement that transfers control back to the ot_failure exception handler.SRI MITTAPALLI COLLEGE OF ENGINEERING the entire statement or once for every row that is inserted. A stored procedure can have a set of compound SQL statements. Errors cause the program to raise an exception with a transfer of control to the exception-handler block. or deleted. The exception handler must be defined within a subprogram specification. (M. RAISE ot_failure. The best you can do is recover the database to the time when the export was last performed. System-Defined Exceptions © Reserved B. User-Defined Exceptions PL/SQL enables the user to define exception handlers in the declarations area of subprogram specifications. A database trigger can call database procedures that are also written in PL/SQL. For any one table. These utilities are Export and Import. updated.Tech) 71 . In this case. This technique of raising the exception is used to invoke all user-defined exceptions. The following is an example of a subprogram exception: EXCEPTION when NO_DATA_FOUND then g_out_status_code := 'FAIL'. If there are no more executable statements in the block. Oracle provides two utilities that you can use to back up and restore the database. recreates the definitions of objects. all the changes made to the database cannot be recovered since the export was performed.Prasad MCA. and inserts the data If Export and Import are used as a means of backing up and recovering the database. there are twelve events for which you can define database triggers. Use of this mechanism enables execution to continue if the error is not severe enough to cause procedure termination. A stored procedure executes the SQL commands and returns the result to the client.V. 88. User accomplishes this by naming an exception as in the following example: ot_failure EXCEPTION. The Export utility dumps the definitions and data for the specified part of the database to an operating system binary file. Code associated with this handler is written in the EXCEPTION specification area as follows: EXCEPTION when OT_FAILURE then out_status_code := g_out_status_code. 87. control returns to the block in which the handler was defined. Name two utilities that Oracle provides. which are use for backup and recovery. Stored procedures are database objects that perform a user defined operation. out_msg := g_out_msg. What are stored-procedures? And what are the advantages of using them. How are exceptions handled in PL/SQL? Give some of the internal exceptions' name PL/SQL exception handling is a mechanism for dealing with run-time errors encountered during procedure execution.V.S. control returns to the caller.

Prefacing a procedure or function name with the package name fully qualifies any procedure or function reference. PL/SQL internal exceptions. The count and data types of formal parameters are also considered. PL/SQL also attempts to resolve any procedure or function calls in locally defined packages before looking at globally defined packages or internal functions. Exception Name Oracle Error CURSOR_ALREADY_OPEN ORA-06511 DUP_VAL_ON_INDEX ORA-00001 INVALID_CURSOR ORA-01001 INVALID_NUMBER ORA-01722 LOGIN_DENIED ORA-01017 NO_DATA_FOUND ORA-01403 NOT_LOGGED_ON ORA-01012 PROGRAM_ERROR ORA-06501 STORAGE_ERROR ORA-06500 TIMEOUT_ON_RESOURCE ORA-00051 TOO_MANY_ROWS ORA-01422 TRANSACTION_BACKED_OUT ORA-00061 VALUE_ERROR ORA-06502 ZERO_DIVIDE ORA-01476 In addition to this list of exceptions. there is a catch-all exception named OTHERS that traps all errors for which specific error handling has not been established.V. however. NO_DATA_FOUND is a system-defined exception. Table below gives a complete list of internal exceptions.S. PL/SQL does not look only at the referenced name.Prasad MCA.Tech) 72 . 90. Does PL/SQL support "overloading"? Explain The concept of overloading in PL/SQL relates to the idea that you can define procedures and functions with the same name. PL/SQL internal exceptions. (M. To further ensure calling the proper procedure. Spurious tuples may occur due to i.SRI MITTAPALLI COLLEGE OF ENGINEERING Exceptions internal to PL/SQL are raised automatically upon error. you can use the dot notation. Bad normalization © Reserved B. 89. Tables derived from the ERD a) Are totally unnormalised b) Are always in 1NF c) Can be further denormalised d) May have multi-valued attributes (b) Are always in 1NF 91. to resolve a procedure or function call.V.

In mapping of ERD to DFD a) entities in ERD should correspond to an existing entity/store in DFD b) entity in DFD is converted to attributes of an entity in ERD c) relations in ERD has 1 to 1 correspondence to processes in DFD d) relationships in ERD has 1 to 1 correspondence to flows in DFD (a) entities in ERD should correspond to an existing entity/store in DFD 94.SRI MITTAPALLI COLLEGE OF ENGINEERING ii. (M. Further B is not functionally dependent on key AC thus it is not in 2NF.Prasad MCA. Theta joins iii. Since ORDER BY clause cannot be used in UNIONS © Reserved B.S. Thus the given FDs is in 1NF.Tech) 73 . A dominant entity is the entity a) on the N side in a 1 : N relationship b) on the 1 side in a 1 : N relationship c) on either side in a 1 : 1 relationship d) nothing to do with 1 : 1 or 1 : N relationship (b) on the 1 side in a 1 : N relationship 95. C} hence AC is the primary key.the string in single quotes 'NORTH' and 'SOUTH' c) Error . this it is not in 3NF.V.ORDER BY clause (d) Error . CUSTOMER From CUST_DTLS Where REGION = 'E' Order By CUSTOMER The above is a) Not an error b) Error .the string should be in double quotes d) Error . Select 'NORTH'. where neither C is a Key nor B is a prime attribute. B. 93. Updating tables from join a) i & ii b) ii & iii c) i & iii d) ii & iii (a) i & iii because theta joins are joins made on keys that are not primary keys. A B C is a set of attributes. Since C B is a FD given.the ORDER BY clause. CUSTOMER From CUST_DTLS Where REGION = 'N' Order By CUSTOMER Union Select 'EAST'. 92. The functional dependency is as follows AB -> B AC -> C C -> B a) is in 1NF b) is in 2NF c) is in 3NF d) is in BCNF (a) is in 1NF since (AC)+ = { A.V.

These types of procedures are not available for reference from other Oracle tools. the only option available in the event of data file loss is restoring all the files from the latest backup.V. which manages the allocation of space on disk storage and data structure used to represent information stored on a disk. The language supports the use two types of cursors Ø Implicit Ø Explicit 103. 102. If a cold backup is performed. What is Authorization and Integrity manager? It is the program module. What is Transaction Manager? It is a program module. A good example of a stand-alone procedure is one written in a SQL*Forms application. What is File Manager? It is a program module. which ensures that database. This is a straight file copy.V. So different means of backing up database must be used — the hot backup.Tech) 74 . 99. All work performed on the database since the last backup is lost. 101. remains in a consistent state despite system failures and concurrent transaction execution proceeds without conflicting.S. 100. application programs and queries submitted to the system. redo logs.Prasad MCA. What is Storage Manager? It is a program module that provides the interface between the low-level data stored in database. 97. usually from the disk directly to tape. which slows execution. What is Buffer Manager? It is a program module. PL/SQL uses cursors for all database information accesses statements. What are cursors give different types of cursors. You must shut down the instance to guarantee a consistent copy. which is responsible for fetching data from disk storage into main memory and deciding what data to be cache in memory. 98. Another limitation of stand-alone procedures is that they are compiled at run time. (M. What are stand-alone procedures? Procedures that are not part of a package are known as stand-alone because they independently defined. What is cold backup and hot backup (in case of Oracle)? Ø Cold Backup: It is copying the three sets of files (database files. which tests for the satisfaction of integrity constraint and checks the authority of user to access data. The cold backup is not an available option.SRI MITTAPALLI COLLEGE OF ENGINEERING 96. Issue a SQL © Reserved B. and control file) when the instance is shut down. Ø Hot Backup: Some sites (such as worldwide airline reservations systems) cannot shut down the database while making a backup copy of the files.

Tech) 75 .Prasad MCA. If (K – A)+ = R then set K = (K – A)+ 106. WY Z} then WX Z. The database must be running in ARCHIVELOG mode for the hot backup option. What are Armstrong rules? How do we say that they are complete and/or sound The well-known inference rules for FDs Ø Reflexive rule : If Y is subset or equal to X then X Y. For each attribute A in K a. Ø Union or Additive rule: If {X Y. Of these the first three are known as Amstrong Rules. Ø Pseudo Transitive rule : If {X Y. X Z} then X YZ. They are called complete because using these three rules we can generate the rest all inference rules. They are sound because it is enough if a set of FDs satisfy these three. Ø Transitive rule: If {X Y. Algo. given set of FDs F 1. For finding the minimal key it is required to find the closure that is the set of all attributes that are dependent on any given set of attributes under the given set of functional dependency. Ø Augmentation rule: If X Y then XZ YZ. on a tablespace-by-tablespace basis. 104. the lost database files can be restored using the hot backup and the online and offline redo logs created since the backup was done. The users can continue to make full use of the files.II Determining minimal K for relation schema R. How can you find the minimal key of relational schema? Minimal key is one which can identify each tuple of the given relation schema uniquely. (M. Set K to R that is make K a set of all attributes in R 2. Repeat steps 2 and 3 until Old X+ = X+ Algo. including making changes to the data.V. given set of FDs F 1. What do you understand by dependency preservation? Given a relation R and a set of FDs F.S. Y Z} then X Z. The database is restored to the most consistent state without any loss of committed transactions. 105. dependency preservation states that the closure of the © Reserved B. Set X+ = X 2. he/she can use the operating system to copy those files to the desired backup destination. I Determining X+. closure for X. For each FD Y Z in F and if Y belongs to X+ then add Z to X+ 4. Set Old X+ = X+ 3.SRI MITTAPALLI COLLEGE OF ENGINEERING command to indicate to Oracle. Ø Decomposition rule : If X YZ then X Y.V. If a data loss failure does occur. that the files of the tablespace are to backed up. Once the user has indicated that he/she wants to back up the tablespace files. Compute (K – A)+ with respect to F b.

(M. Retroactive and Simultaneous Update. Simulatneous Update: The updates that are applied to database at the same time when it becomes effective in real world . Retroactive Update: The updates that are applied to database after it becomes effective in real world .e. ((PR1(F)) U … U (PRn(F)))+ = F+ if decomposition is not dependency preserving.Prasad MCA. What is meant by Proactive. Proactive Update: The updates that are applied to database before it becomes effective in real world ..SRI MITTAPALLI COLLEGE OF ENGINEERING union of the projection of F on each decomposed relation Ri is equal to the closure of F.S. 107. The disadvantage in this type of join is that there © Reserved B. 108.Tech) 76 .V. i. then some dependency is lost in the decomposition. What are the different types of JOIN operations? Equi Join: This is the most common type of join which involves only equality comparisions.V.

You're Reading a Free Preview

/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->