Rdbms Lab
Rdbms Lab
Rdbms Lab
AIM
To execute and verify the SQL commands for Views.
OBJECTIVE:
• Views Helps to encapsulate complex query and make it reusable.
• Provides user security on each view - it depends on your data policy security.
• Using view to convert units - if you have a financial data in US currency, you can
create view to convert them into Euro for viewing in Euro currency.
PROCEDURE
STEP 1: Start
STEP 2: Create the table with its essential attributes.
STEP 3: Insert attribute values into the table.
STEP 4: Create the view from the above created table.
STEP 5: Execute different Commands and extract information from the View.
STEP 6: Stop
.SQL COMMANDS
1. COMMAND NAME: CREATE VIEW
COMMAND DESCRIPTION: CREATE VIEW command is used to define a view.
2. COMMAND NAME: INSERT IN VIEW
COMMAND DESCRIPTION: INSERT command is used to insert a new row into the view.
3. COMMAND NAME: DELETE IN VIEW
COMMAND DESCRIPTION: DELETE command is used to delete a row from the view.
4. COMMAND NAME: UPDATE OF VIEW
COMMAND DESCRIPTION: UPDATE command is used to change a value in a tuple
without changing all values in the tuple.
5. COMMAND NAME: DROP OF VIEW
COMMAND DESCRIPTION: DROP command is used to drop the view table
CREATION OF TABLE
--------------------------------
SQL> CREATE TABLE EMPLOYEE (
EMPLOYEE_NAMEVARCHAR2(10),
EMPLOYEE_NONUMBER(8),
DEPT_NAME VARCHAR2(10),
DEPT_NO NUMBER (5),DATE_OF_JOIN DATE);
Table created.
TABLE DESCRIPTION
-------------------------------
SQL> DESC EMPLOYEE;
NAME NULL? TYPE
------------------------------- -------- ------------------------
EMPLOYEE_NAME VARCHAR2(10)
EMPLOYEE_NO NUMBER(8)
DEPT_NAME VARCHAR2(10)
DEPT_NO NUMBER(5)
DATE_OF_JOIN DATE
SUNTAX FOR CREATION OF VIEW
--------------------------------------------------
SQL> CREATE <VIEW> <VIEW NAME> AS SELECT
<COLUMN_NAME_1>, <COLUMN_NAME_2> FROM <TABLE NAME>;
CREATION OF VIEW
------------------------------
SQL> CREATE VIEW EMPVIEW AS SELECT
EMPLOYEE_NAME,EMPLOYEE_NO,DEPT_NAME,DEPT_NO,DATE_OF_JOIN FROM
EMPLOYEE;
VIEW CREATED.
DESCRIPTION OF VIEW
--------------------------------
SQL> DESC EMPVIEW;
NAME NULL? TYPE
----------------------------------------- -------- ----------------------------
EMPLOYEE_NAME VARCHAR2(10)
EMPLOYEE_NO NUMBER(8)
DEPT_NAME VARCHAR2(10)
DEPT_NO NUMBER(5)
DISPLAY VIEW:
----------------------
SQL> SELECT * FROM EMPVIEW;
EMPLOYEE_N EMPLOYEE_NO DEPT_NAME DEPT_NO
---------- ----------- ---------- ----------
RAVI 124 ECE 89
VIJAY 345 CSE 21
RAJ 98 IT 22
GIRI 100 CSE 67
VIEW DROPED
CREATE A VIEW WITH SELECTED FIELDS:
SYNTAX:
SQL>CREATE [OR REPLACE] VIEW <VIEW NAME>AS SELECT <COLUMN
NAME1>…..FROM <TABLE ANME>;
EXAMPLE-2:
SQL> CREATE OR REPLACE VIEW EMPL_VIEW1 AS SELECT EMPNO, ENAME,
SALARY FROM EMPL;
SQL> SELECT * FROM EMPL_VIEW1;
EXAMPLE-3:
SQL> CREATE OR REPLACE VIEW EMPL_VIEW2 AS SELECT * FROM EMPL WHERE
DEPTNO=10;
SQL> SELECT * FROM EMPL_VIEW2;
Note:
Replace is the keyboard to avoid the error “ora_0095:name is already used by an existing
abject”.
CHANGING THE COLUMN(S) NAME M THE VIEW DURING AS SELECT
STATEMENT:
TYPE-1:
SQL> CREATE OR REPLACE VIEW EMP_TOTSAL(EID,NAME,SAL) AS SELECT
EMPNO,ENAME,SALARY FROM EMPL;
View created.
EMPNO ENAME SALARY
---------- -------------------- ---------- ----------
7369 SMITH 1000
7499 MARK 1050
7565 WILL 1500
7678 JOHN 1800
7578 TOM 1500
7548 TURNER 1500
6 rows selected.
View created.
EMPNO ENAME SALARY MGRNO DEPTNO
---------- -------------------- ---------- ---------- ----------------------------
7578 TOM 1500 7298 10
7548 TURNER 1500 7298 10
View created.
SQL> SELECT * FROM EMP_TOTSAL;
TYPE-2:
SQL> CREATE OR REPLACE VIEW EMP_TOTSAL AS SELECT EMPNO "EID",ENAME
"NAME",SALARY "SAL" FROM EMPL;
SQL> SELECT * FROM EMP_TOTSAL;
EXAMPLE FOR JOIN VIEW:
TYPE-3:
SQL> CREATE OR REPLACE VIEW DEPT_EMP AS SELECT A.EMPNO "EID",A.ENAME
"EMPNAME",A.DEPTNO "DNO",B.DNAM
E "D_NAME",B.LOC "D_LOC" FROM EMPL A,DEPMT B WHERE
A.DEPTNO=B.DEPTNO;
SQL> SELECT * FROM DEPT_EMP;
EID NAME SAL
---------- -------------------- ---------- ----------
7369 SMITH 1000
7499 MARK 1050
7565 WILL 1500
7678 JOHN 1800
7578 TOM 1500
7548 TURNER 1500
6 rows selected.
View created.
EID NAME SAL
---------- -------------------- ---------- ----------
7369 SMITH 1000
7499 MARK 1050
7565 WILL 1500
7678 JOHN 1800
7578 TOM 1500
7548 TURNER 1500
6 rows selected.
View created.
EID EMPNAME DNO D_NAME D_LOC
---------- -------------------- ---------- ---------- ------------------------
7578 TOM 10 ACCOUNT NEW YORK
7548 TURNER 10 ACCOUNT NEW YORK
7369 SMITH 20 SALES CHICAGO
7678 JOHN 20 SALES CHICAGO
7499 MARK 30 RESEARCH ZURICH
7565 WILL 30 RESEARCH ZURICH
VIEW READ ONLY AND CHECK OPTION:
READ ONLY CLAUSE:
You can create a view with read only option which enable other to only query .no dml
operation can be performed to this type of a view.
EXAMPLE-4:
SQL>CREATE OR REPLACE VIEW EMP_NO_DML AS SELECT * FROM EMPL WITH
READ ONLY;
WITH CHECK OPTION CLAUSE
EXAMPLE-4:
SQL> CREATE OR REPLACE VIEW EMP_CK_OPTION AS SELECT
EMPNO,ENAME,SALARY,DEPTNO FROM EMPL WHERE DEPTNO
=10 WITH CHECK OPTION;
SQL> SELECT * FROM EMP_CK_OPTION;
JOIN VIEW:
EXAMPLE-5:
SQL> CREATE OR REPLACE VIEW DEPT_EMP_VIEW AS SELECT A.EMPNO,
A.ENAME, A.DEPTNO, B.DNAME, B.LOC FROM EMPL
A,DEPMT B WHERE A.DEPTNO=B.DEPTNO;
SQL> SELECT * FROM DEPT_EMP_VIEW;
View created.
EMPNO ENAME SALARY DEPTNO
---------- -------------------- ---------- ----------
7578 TOM 1500 10
7548 TURNER 1500 10
View created.
EMPNO ENAME DEPTNO DNAME LOC
------------------------------ -------------------- ---------- --------------------
7578 TOM 10 ACCOUNT NEW YORK
7548 TURNER 10 ACCOUNT NEW YORK
7369 SMITH 20 SALES CHICAGO
7678 JOHN 20 SALES CHICAGO
7499 MARK 30 RESEARCH ZURICH
7565 WILL 30 RESEARCH ZURICH
6 rows selected.
FORCE VIEW
EXAMPLE-6:
SQL> CREATE OR REPLACE FORCE VIEW MYVIEW AS SELECT * FROM XYZ;
SQL> SELECT * FROM MYVIEW;
SQL> CREATE TABLE XYZ AS SELECT EMPNO,ENAME,SALARY,DEPTNO FROM
EMPL;
SQL> SELECT * FROM XYZ;
SQL> CREATE OR REPLACE FORCE VIEW MYVIEW AS SELECT * FROM XYZ;
SQL> SELECT * FROM MYVIEW;
Warning: View created with compilation errors.
SELECT * FROM MYVIEW
*
ERROR at line 1:
ORA-04063: view "4039.MYVIEW" has errors
Table created.
EMPNO ENAME SALARY DEPTNO
---------- -------------------- ---------- ---------- -----------------
7369 SMITH 1000 20
7499 MARK 1050 30
7565 WILL 1500 30
7678 JOHN 1800 20
7578 TOM 1500 10
7548 TURNER 1500 10
6 rows selected.
View created.
INDEXES:
AIM : Implement Indexes: An index is an ordered list of the contents of a column, (or a group of
columns) of a table.
Index: Syntax: Create Index On (ColumnName);
Example:
SQL>Create Index idx_client_no On Client_master (Client_no) ;
Dropping Indexes:
Syntax: Drop Index <Index Name>;
Example:
SQL>Drop Index idx_client_no;