Dbms Lab Manual
Dbms Lab Manual
MANUAL
COURSE Title: Database Systems
Course Code: CS-103
Credit Hours: 4(3-3)
1
Table of Contents
1. Create table
Alter table
Drop Table
2. Study & Implementation of different types of constraints. 11
Including constraints
Primary Key
Foreign Key
Not Null
Unique
Check
Default
Dropping constraints
Enabling and Disabling constraints
2
IN
LIKE
Implementation of single row function with suitable examples 25
Number function
8. Character Function
Conversion Function
Date Function
3
Study & Implementation of Sub queries 38
12. Single Row Sub queries
Multi Row Sub queries
Study & Implementation of simple and complex views 40
13. Creating and altering views
Using view to retrieve, insert, delete and update data
Dropping view
44
Study & Implementation of Database Backup & Recovery commands.
15.
Study & Implementation of Rollback, Commit, Savepoint.
4
Lab: 1
Objective:
To understand the different issues involved in the design and implementation of a
database system
To understand and use data definition language to write query for a database
Theory:
Oracle has many tools such as SQL * PLUS, Oracle Forms, Oracle Report Writer, Oracle
Graphics etc.
SQL * PLUS: The SQL * PLUS tool is made up of two distinct parts. These are
Interactive SQL: Interactive SQL is designed for create, access and
manipulate data structures like tables and indexes.
PL/SQL: PL/SQL can be used to developed programs for different
applications.
Oracle Forms: This tool allows you to create a data entry screen along with the
suitable menu objects. Thus it is the oracle forms tool that handles data gathering and
data validation in a commercial application.
Oracle Graphics: Some of the data can be better represented in the form of pictures.
The oracle graphics tool allows programmers to prepare graphs using data from oracle
structures like tables, views etc.
5
SQL (Structured Query Language):
Structured Query Language is a database computer language designed for
managing data in relational database management systems (RDBMS), and originally based
upon Relational Algebra. Its scope includes data query and update, schema creation and
modification, and data access control.
SQL was one of the first languages for Edgar F. Codd's relational model and became the
most widely used language for relational databases.
IBM developed SQL in mid of 1970’s.
Oracle incorporated in the year 1979.
SQL used by IBM/DB2 and DS Database Systems.
SQL adopted as standard language for RDBS by ASNI in 1989.
DATA TYPES:
1. CHAR (Size): This data type is used to store character strings values of fixed length.
The size in brackets determines the number of characters the cell can hold. The
maximum number of character is 255 characters.
2. VARCHAR (Size) / VARCHAR2 (Size): This data type is used to store variable length
alphanumeric data. The maximum character can hold is 2000 character.
3. NUMBER (P, S): The NUMBER data type is used to store number (fixed or floating
point). Number of virtually any magnitude may be stored up to 38 digits of precision.
Number as large as 9.99 * 10 124. The precision (p) determines the number of places to
the right of the decimal. If scale is omitted then the default is zero. If precision is
omitted, values are stored with their original precision up to the maximum of 38 digits.
4. DATE: This data type is used to represent date and time. The standard format is DD-
MM-YY as in 17-SEP-2009. To enter dates other than the standard format, use the
appropriate functions. Date time stores date in the 24-Hours format. By default the time
6
in a date field is 12:00:00 am, if no time portion is specified. The default date for a date
field is the first day the current month.
5. LONG: This data type is used to store variable length character strings containing up to
2GB. Long data can be used to store arrays of binary data in ASCII format. LONG
values cannot be indexed, and the normal character functions such as SUBSTR cannot
be applied.
6. RAW: The RAW data type is used to store binary data, such as digitized picture or
image. Data loaded into columns of these data types are stored without any further
conversion. RAW data type can have a maximum length of 255 bytes. LONG RAW data
type can contain up to 2GB.
Clauses, which are in some cases optional, constituent components of statements and
queries.
Expressions, which can produce either scalar values or tables consisting of columns and
rows of data.
Predicates which specify conditions that can be evaluated to SQL three-valued logic
(3VL) Boolean truth values and which are used to limit the effects of statements and
Statements which may have a persistent effect on schemas and data, or which may
SQL statements also include the semicolon (";") statement terminator. Though not
7
Insignificant white space is generally ignored in SQL statements and queries, making it
1. CREATE:
(a)CREATE TABLE: This is used to create a new relation (table)
Example:
SQL> CREATE TABLE Student (sno NUMBER (3), sname CHAR (10), class CHAR (5));
2. ALTER:
(a) ALTER TABLE ...ADD...: This is used to add some extra fields into existing
relation.
8
Syntax: ALTER TABLE relation_name ADD (new field_1 data_type(size), new field_2
data_type(size),..);
Example: SQL>ALTER TABLE std ADD (Address CHAR(10));
(b) ALTER TABLE...MODIFY...: This is used to change the width as well as data
type of fields of existing relations.
3. DROP TABLE: This is used to delete the structure of a relation. It permanently deletes
the records in the table.
Syntax: DROP TABLE relation_name;
Example: SQL>DROP TABLE std;
9
LAB TASK:
10
LAB 2
Objective:
To practice and implement constraints
Theory:
CONSTRAINTS:
Constraints are used to specify rules for the data in a table. If there is any violation between
the constraint and the data action, the action is aborted by the constraint. It can be specified
when the table is created (using CREATE TABLE statement) or after the table is created
(using ALTER TABLE statement).
1. NOT NULL: When a column is defined as NOTNULL, then that column becomes a
mandatory column. It implies that a value must be entered into the column if the record is to
be accepted for storage in the table.
Syntax:
CREATE TABLE Table_Name (column_name data_type (size) NOT NULL, );
Example:
CREATE TABLE student (sno NUMBER(3)NOT NULL, name CHAR(10));
2. UNIQUE: The purpose of a unique key is to ensure that information in the column(s) is
unique i.e. a value entered in column(s) defined in the unique constraint must not be repeated
across the column(s). A table may have many unique keys.
Syntax:
CREATE TABLE Table_Name(column_name data_type(size) UNIQUE, ….);
Example:
CREATE TABLE student (sno NUMBER(3) UNIQUE, name CHAR(10));
11
3. CHECK: Specifies a condition that each row in the table must satisfy. To satisfy the
constraint, each row in the table must make the condition either TRUE or unknown (due to a
null).
Syntax:
CREATE TABLE Table_Name(column_name data_type(size) CHECK(logical
expression), ….);
Example:
CREATE TABLE student (sno NUMBER (3), name CHAR(10),class
CHAR(5),CHECK(class IN(‘CSE’,’CAD’,’VLSI’));
5. FOREIGN KEY: It is a table level constraint. We cannot add this at column level. To
reference any primary key column from other table this constraint can be used. The table in
which the foreign key is defined is called a detail table. The table that defines the primary
key and is referenced by the foreign key is called the master table.
Syntax: CREATE TABLE Table_Name(column_name data_type(size)
FOREIGN KEY(column_name) REFERENCES table_name);
12
Example:
CREATE TABLE subject (scode NUMBER (3) PRIMARY KEY, subname
CHAR(10),fcode NUMBER(3), FOREIGN KEY(fcode) REFERENCE faculty );
(or)
6. DEFAULT : The DEFAULT constraint is used to insert a default value into a column. The
default value will be added to all new records, if no other value is specified.
Syntax:
CREATE TABLE
Table_Name(col_name1,col_name2,col_name3 DEFAULT
‘<value>’);
Example:
CREATE TABLE student (sno NUMBER(3) UNIQUE, name CHAR(10),address
VARCHAR(20) DEFAULT ‘Aurangabad’);
13
LAB TASK:
14
LAB 3
Objective :
To understand and use data manipulation language to query, update, and manage a
database
Theory :
15
Syntax: INSERT INTO relation_name_1 SELECT Field_1,field_2,field_n
FROM relation_name_2 WHERE field_x=data;
Example: SQL>INSERT INTO std SELECT sno,sname FROM student
WHERE name = ‘Ramu‘;
3. DELETE-FROM: This is used to delete all the records of a relation but it will retain the
structure of that relation.
a) DELETE-FROM: This is used to delete all the records of relation.
Syntax: SQL>DELETE FROM relation_name;
Example: SQL>DELETE FROM std;
b) DELETE -FROM-WHERE: This is used to delete a selected record from a relation.
Syntax: SQL>DELETE FROM relation_name WHERE condition;
Example: SQL>DELETE FROM student WHERE sno = 2;
4. TRUNCATE: This command will remove the data permanently. But structure will not be
removed.
16
Difference between Truncate & Delete:-
• By using truncate command data will be removed permanently & will not get back
where as by using delete command data will be removed temporally & get back by
using roll back command.
• By using delete command data will be removed based on the condition where as by
using truncate command there is no condition.
• Truncate is a DDL command & delete is a DML command.
LAB TASK:
17
LAB 4
Objective:
To understand the basic retrieval statements of sql
10 ACCOUNTING
20 RESEARCH
30 SALES
3. SELECT - FROM -WHERE: This query is used to display a selected set of fields
for a selected set of records of a relation.
Syntax: SELECT a set of fields FROM relation_name WHERE condition;
Example: SQL> select * FROM dept WHERE deptno<=20;
DEPTNO DNAME LOC
------ ----------- ------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
18
LAB TASK
19
LAB 5
Objective:
To understand the basic retrieval statements of sql
Theory
Defining Null Values
A null is a value that is unavailable, unassigned, unknown, or inapplicable. A null is not the same as
zero or a blank space.
Arithmetic expressions containing a null value evaluate to null.
Example:
Select ename, 12*sal+comm from emp WHERE ename='KING';
ENAME 12*SAL+COMM
---------- -----------
KING
Defining a Column Alias
Renames a column heading. It is useful with calculations. It immediately follows column name;
optional AS keyword between column name and alias. It requires double quotation marks if it
contains spaces or special characters or is case sensitive.
Example
SELECT ename AS name, sal salary FROM emp;
Concatenation Operator
It concatenates columns or character strings to other columns. It is represented by two vertical bars
(||). Creates a resultant column that is a character expression
Example:
SELECT ename||job AS "Employees" FROM emp;
SELECT ename ||' '||'is a'||' '||job AS "Employee Details" FROM emp;
Duplicate Rows:
The default display of queries is all rows, including duplicate rows. Distinct keyword is to eliminate
20
the duplicate words.
Example:
SELECT DISTINCT deptno FROM emp;
LAB TASK
1) Write a query to list all unique department IDs from the employees table.
2) Write a query to display all employees who do not have a manager
3) Write a query to display employee IDs and their manager IDs, replacing null manager IDs with 0.
4) Write a query to show the employee_id as "ID" and hire_date as "Hiring Date".
5) Display the department_name as "Department" and location_id as "Location" in the result set.
6) Write a query to display the full name of employees by concatenating their first and last names with a
space in between.
21
LAB 6
Objective:
To learn different types of operator.
Theory:
ARIHMETIC OPERATORS:
(%):Modulus - Divides left hand operand by right hand operand and returns remainder.
LOGICAL OPERATORS:
AND : The AND operator allows the existence of multiple conditions in an SQL statement's
WHERE clause.
OR: The OR operator is used to combine multiple conditions in an SQL statement's WHERE
clause.
22
NOT: The NOT operator reverses the meaning of the logical operator with which it is used.
Eg: NOT EXISTS, NOT BETWEEN, NOT IN, etc. This is a negate operator.
COMPARISION OPERATORS:
(=):Checks if the values of two operands are equal or not, if yes then condition becomes true.
(!=):Checks if the values of two operands are equal or not, if values are not equal then
condition becomes true.
(< >):Checks if the values of two operands are equal or not, if values are not equal then
condition becomes true.
(>):Checks if the value of left operand is greater than the value of right operand, if yes then
condition becomes true
(<):Checks if the value of left operand is less than the value of right operand, if yes then
condition becomes true.
(>=):Checks if the value of left operand is greater than or equal to the value of right operand,
if yes then condition becomes true.
(<=):Checks if the value of left operand is less than or equal to the value of right operand, if
yes then condition becomes true.
LAB TASK:
1. Display all the dept numbers available with the dept and emp tables avoiding duplicates.
2. Display all the dept numbers available with the dept and emp tables.
3. Display all the dept numbers available in emp and not in dept tables and vice versa.
23
LAB 7
Title: Implementation of different types of operators in SQL.
Special Operator
Objective:
To learn different types of special operators.
Theory:
SPECIAL OPERATOR:
BETWEEN: The BETWEEN operator is used to search for values that are within a set of
values, given the minimum value and the maximum value.
IS NULL: The NULL operator is used to compare a value with a NULL attribute value.
ALL: The ALL operator is used to compare a value to all values in another value set
ANY: The ANY operator is used to compare a value to any applicable value in the list
according to the condition.
LIKE: The LIKE operator is used to compare a value to similar values using wildcard
[Link] allows to use percent sign(%) and underscore ( _ ) to match a given string pattern.
IN: The IN operator is used to compare a value to a list of literal values that have been
specified.
EXIST: The EXISTS operator is used to search for the presence of a row in a specified table
that meets certain criteria.
LAB TASK
1) Write a query to find all employees whose salaries are between 50,000 and 100,000.
2) Write a query to display all employees who do not have a manager.
3) Write a query to list all email addresses ending with ‘@[Link]’
4) Write a query to find all employees who work in the departments with IDs 10, 20, and 30.
5) Find employees who earn more than any employee in department 10.
6) Find all employees whose salary is greater than the highest salary of employees.
24
LAB 8
Title: Implementation of different types of functions with suitable examples.
i. Number Function
ii. Character Function
iii. Conversion Function
iv. Date Function
Theory
NUMBER FUNCTION:
CHARACTER FUNCTION:
CONVERSION FUNCTIONS:
To_char: TO_CHAR (number) converts n to a value of VARCHAR2 data type, using the
optional number format fmt. The value n can be of type NUMBER, BINARY_FLOAT, or
25
BINARY_DOUBLE.
SQL>select to_char(65,'RN')from
dual; LXV
DUAL; TO_DATE
15-JAN-89
STRING FUNCTIONS:
Concat: CONCAT returns char1 concatenated with char2. Both char1 and char2 can be any
of the datatypes
SQL>SELECT CONCAT(‘ORACLE’,’CORPORATION’)FROM DUAL;
ORACLECORPORATION
Lpad: LPAD returns expr1, left-padded to length n characters with the sequence of
characters in expr2.
SQL>SELECT LPAD(‘ORACLE’,15,’*’)FROM DUAL;
*********ORACLE
Rpad: RPAD returns expr1, right-padded to length n characters with expr2, replicated as
many times as necessary.
SQL>SELECT RPAD (‘ORACLE’,15,’*’)FROM DUAL;
ORACLE*********
26
Rtrim: Returns a character string after truncating all trailing blanks
SQL>SELECT RTRIM(‘SSMITHSS’,’S’)FROM DUAL;
SSMITH
Upper: Returns a character expression with lowercase character data converted to uppercase
SQL>SELECT UPPER(‘dbms’)FROM DUAL;
DBMS
Length: Returns the number of characters, rather than the number of bytes, of the given
string expression, excluding trailing blanks.
SQL>SELECT LENGTH(‘DATABASE’)FROM DUAL;
8
Substr: Returns part of a character, binary, text, or image expression.
SQL>SELECT SUBSTR(‘ABCDEFGHIJ’3,4)FROM DUAL;
CDEF
Instr: The INSTR functions search string for substring. The function returns an integer
indicating the position of the character in string that is the first character of this occurrence.
SQL>SELECT INSTR('CORPORATE FLOOR','OR',3,2)FROM DUAL;
14
DATE FUNCTIONS:
Sysdate:
SQL>SELECT SYSDATE FROM
DUAL; 29-DEC-08
next_day:
SQL>SELECT NEXT_DAY(SYSDATE,’WED’)FROM
DUAL; 05-JAN-09
add_months:
SQL>SELECT ADD_MONTHS(SYSDATE,2)FROM
DUAL; 28-FEB-09
27
last_day:
SQL>SELECT LAST_DAY(SYSDATE)FROM
DUAL; 31-DEC-08
months_between:
SQL>SELECT MONTHS_BETWEEN(SYSDATE,HIREDATE)FROM EMP;
4
Least:
SQL>SELECT LEAST('10-JAN-07','12-OCT-07')FROM
DUAL; 10-JAN-07
Greatest:
SQL>SELECT GREATEST('10-JAN-07','12-OCT-07')FROM DUAL;
10-JAN-07
Trunc:
SQL>SELECT TRUNC(SYSDATE,'DAY')FROM
DUAL; 28-DEC-08
Round:
SQL>SELECT ROUND(SYSDATE,'DAY')FROM
DUAL; 28-DEC-08
to_char:
SQL> select to_char(sysdate, "dd\mm\yy") from
dual; 24-mar-05.
to_date:
SQL> select to date (sysdate, "dd\mm\yy") from dual;
24-mar-o5.
LAB TASK:
2. List the E_no, E_name, Salary of all employees working for MANAGER.
3. Display all the details of the employee whose salary is more than the Sal of any IT PROFF..
4. List the employees in the ascending order of Designations of those joined after 1981.
28
5. List the employees along with their Experience and Daily Salary.
8. List the employees who are working for the Deptno 10 or20.
10. Dislay the name as well as the first five characters of name(s) starting with ‘H’
11. List all the emps except ‘PRESIDENT’ & ‘MGR” in asc order of Salaries.
29
LAB 9
Title: Implementation of different aggregate functions with suitable examples.
Theory:
Aggregative operators: In addition to simply retrieving data, we often want to perform some
computation or summarization. SQL allows the use of arithmetic expressions. We now
consider a powerful class of constructs for computing aggregate values such as MIN and
SUM.
1. Count: COUNT following by a column name returns the count of tuple in that column. If
DISTINCT keyword is used then it will return only the count of unique tuple in the column.
Otherwise, it will return count of all the tuples (including duplicates) count (*) indicates all
the tuples of the column.
Syntax: COUNT (Column name)
Example: SELECT COUNT (Sal) FROM emp;
2. SUM: SUM followed by a column name returns the sum of all the values in that column.
Syntax: SUM (Column name)
Example: SELECT SUM (Sal) From emp;
3. AVG: AVG followed by a column name returns the average value of that column values.
Syntax: AVG (n1, n2...)
Example: Select AVG (10, 15, 30) FROM DUAL;
4. MAX: MAX followed by a column name returns the maximum value of that column.
Syntax: MAX (Column name)
Example: SELECT MAX (Sal) FROM emp;
SQL> select deptno, max(sal) from emp group by deptno;
10 5000
20 3000
30 2850
30
SQL> select deptno, max (sal) from emp group by deptno having
30 2850
5. MIN: MIN followed by column name returns the minimum value of that column.
Syntax: MIN (Column name)
Example: SELECT MIN (Sal) FROM emp;
10 1300
LAB TASK
1. Write a SQL query to calculate the total number of orders in the orders table.
2. Find all product categories in the products table that have an average price greater than $50.
3. Determine the maximum, minimum, and average salary for each department in the employees table.
4. Find the total number of products and the total sales for each category in the sales table.
5. List all departments in the employees table where the total salary is above $500,000.
31
LAB 10
Objective :
To implement different types of joins
Theory :
The SQL Joins clause is used to combine records from two or more tables in a
database. A JOIN is a means for combining fields from two tables by using values common
to [Link] join is actually performed by the ‘where’ clause which combines specified rows
of tables.
Syntax:
SELECT column 1, column 2, column
3... FROM table_name1, table_name2
WHERE table_name1.column name = table_name2.columnname;
Types of Joins :
1. Simple Join
2. Self Join
3. Outer Join
Simple Join:
It is the most common type of join. It retrieves the rows from 2 tables having a
common column and is further classified into
Equi-join :
A join, which is based on equalities, is called equi-join.
Example:
Select * from item, cust where [Link]=[Link];
In the above statement, item-id = cust-id performs the join statement. It retrieves rows
from both the tables provided they both have the same id as specified by the where
clause. Since the where clause uses the comparison operator (=) to perform a join, it is
said to be
32
equijoin. It combines the matched rows of tables. It can be used as follows:
Non Equi-join:
It specifies the relationship between columns belonging to different tables by
making use of relational operators other than’=’.
Example:
Select * from item, cust where
[Link]<[Link]; Table Aliases
Table aliases are used to make multiple table queries shorted and more readable. We give
an alias name to the table in the ‘from’ clause and use it instead of the name throughout
the query.
Self join:
Joining of a table to itself is known as self-join. It joins one row in a table to another.
It can compare each row of the table to itself and also with other rows of the same table.
Example:
select * from emp x ,emp y where [Link] >= (select avg(salary) from [Link]
where x. deptno =[Link]);
Outer Join:
It extends the result of a simple join. An outer join returns all the rows returned by simple
join as well as those rows from one table that do not match any row from the table. The
symbol(+) represents outer join.
33
LAB TASK
Consider the following schema:
Sailors (sid, sname, rating,
age) Boats (bid, bname, color)
Reserves (sid, bid, day(date))
1. Find all information of sailors who have reserved boat number 101.
2. Find the name of boat reserved by Bob.
3. Find the names of sailors who have reserved a red boat, and list in the order of age.
4. Find the names of sailors who have reserved at least one boat.
5. Find the ids and names of sailors who have reserved two different boats on the same
day.
6. Find the ids of sailors who have reserved a red boat or a green boat.
7. Find the name and the age of the youngest sailor.
8. Count the number of different sailor names.
9. Find the average age of sailors for each rating level.
10. Find the average age of sailors for each rating level that has at least two sailors.
34
LAB 11
Objective:
To learn the concept of group functions
Theory:
● GROUP BY: This query is used to group to all the records in a relation together for each
and every value of a specific key(s) and then display them for a selected set of fields the
relation.
GROUP BY-HAVING : The HAVING clause was added to SQL because the WHERE
keyword could not be used with aggregate functions. The HAVING clause must follow the
GROUP BY clause in a query and must also precede the ORDER BY clause if used.
35
Example : SELECT [Link], COUNT([Link]) AS NumberOfOrders
FROM (Orders
INNER JOIN Employees
ON [Link]=[Link]) GROUP BY LastName
HAVING COUNT ([Link]) > 10;
JOIN using GROUP BY: This query is used to display a set of fields from two relations by
matching a common field in them and also group the corresponding records for each and
every value of a specified key(s) while displaying.
● ORDER BY: This query is used to display a selected set of fields from a relation in an
ordered manner base on some field.
Example: SQL> SELECT empno, ename, job FROM emp ORDER BY job;
JOIN using ORDER BY: This query is used to display a set of fields from two relations by
matching a common field in them in an ordered manner based on some fields.
Syntax: SELECT <set of fields (from both relations)> FROM relation_1, relation_2
WHERE relation_1.field_x = relation_2.field_y ORDER BY field_z;
Example: SQL> SELECT empno,ename,job,dname FROM emp,dept
WHERE [Link] = 20 ORDER BY job;
36
● INDEXING: An index is an ordered set of pointers to the data in a table. It is based on
the data values in one or more columns of the table. SQL Base stores indexes separately
from tables.
An index provides two benefits:
It improves performance because it makes data access faster.
It ensures uniqueness. A table with a unique index cannot have two rows
with the same values in the column or columns that form the index key.
Syntax:
CREATE INDEX <index_name> on <table_name> (attrib1,attrib 2….attrib n);
Example:
CREATE INDEX id1 on emp(empno,dept_no);
LAB TASK
37
LAB 12
Theory:
SUBQUERIES: The query within another is known as a sub query. A statement
containing sub query is called parent statement. The rows returned by sub query are
used by the parent statement or in other words A subquery is a SELECT statement that is
embedded in a clause of another SELECT statement
You can place the subquery in a number of SQL clauses:
WHERE clause
HAVING clause
FROM clause
OPERATORS( [Link],ALL,<,>,>=,<= etc..)
Types
1. Sub queries that return several values
Sub queries can also return more than one value. Such results should be made use
along with the operators in and any.
2. Multiple queries
Here more than one sub query is used. These multiple sub queries are combined by
means of ‘and’ & ‘or’ keywords.
3. Correlated sub query
A sub query is evaluated once for the entire parent statement whereas a correlated
Sub query is evaluated once per row processed by the parent statement.
LAB TASK
1. Find all information of sailors who have reserved boat number 101.
2. Find the name of boat reserved by Bob.
3. Find the names of sailors who have reserved a red boat, and list in the order of age.
4. Find the names of sailors who have reserved at least one boat.
5. Find the ids and names of sailors who have reserved two different boats on the same
day.
6. Find the ids of sailors who have reserved a red boat or a green boat.
7. Find the name and the age of the youngest sailor.
8. Count the number of different sailor names.
9. Find the average age of sailors for each rating level.
10. Find the average age of sailors for each rating level that has at least two sailors.
39
LAB 13
Title : Study & Implementation of views
Objective:
To understand the implementation of views
VIEW: In SQL, a view is a virtual table based on the result-set of an SQL statement.
A view contains rows and columns, just like a real table. The fields in a view are
fields from one or more real tables in the database.
You can add SQL functions, WHERE, and JOIN statements to a view and present the data as
if the data were coming from one single table.
A view is a virtual table, which consists of a set of columns from one or more tables. It is
similar to a table but it does not store in the database. View is a query stored as an object.
Example:
40
DROPPING A VIEW: A view can deleted with the DROP VIEW command.
LAB TASK
1)Create a view named ActiveEmployees that selects EmployeeID, FirstName, LastName, and
IsActive from the Employees table where IsActive is true.
3) Create a view named EmployeeDetails that joins the Employees and Departments tables and
selects EmployeeID, FirstName, LastName, and DepartmentName.
5) Create a view named DepartmentEmployeeCount that counts the number of employees in each
department
41
LAB 14
Title : Study & Implementation of
Sequence
Index
Synonym
Objective:
To learn the concepts of sequence, index and synonym.
Theory:
Example:
CREATE SEQUENCE dept_deptno
INCREMENT BY 1
START WITH 91
MAXVALUE 100
NOCACHE
NOCYCLE;
Syntax:
CREATE INDEX <index_name> on <table_name> (attrib1,attrib 2….attrib n);
Example:
CREATE INDEX id1 on emp(empno,dept_no);
Example:
CREATE INDEX emp_ename_idx
ON emp(ename);
LAB TASK
43
LAB 15
Title :
Study and Implementation of Database Backup & Recovery Commands.
Study and Implementation of Rollback, Commit, Save point.
Objective:
To understand the concept of administrative commands
Theory:
A transaction is a logical unit of work. All changes made to the database can be
referred to as a transaction. Transaction changes can be made permanent to the database only
if they are committed a transaction begins with an executable SQL statement & ends
explicitly with either rollback or commit statement.
1. COMMIT: This command is used to end a transaction only with the help of the commit
command transaction changes can be made permanent to the database.
2. SAVE POINT: Save points are like marks to divide a very lengthy transaction to smaller
once. They are used to identify a point in a transaction to which we can latter role back. Thus,
save point is used in conjunction with role back.
3. ROLLBACK: A role back command is used to undo the current transactions. We can role
back the entire transaction so that all changes made by SQL statements are undo (or) role
44
back a transaction to a save point so that the SQL statements after the save point are role
back.
LAB TASK
45
LAB 16
Objective:
To understand the concept of administrative commands
Theory:
CREATE USER:
The DBA creates user by executing CREATE USER statement.
The user is someone who connects to the database if enough privilege is granted.
Syntax:
SQL> CREATE USER < username> -- (name of user to be created )
IDENTIFIED BY <password> -- (specifies that the user must
login with this password)
SQL> user created
Eg: create user James identified by bob;
(The user does not have privilege at this time, it has to be [Link] privileges determine
what user can do at database level.)
PRIVILEGES:
A privilege is a right to execute an SQL statement or to access another user's object.
In Oracle, there are two types of privileges
System Privileges
Object Privileges
System Privileges : are those through which the user can manage the performance
of database actions. It is normally granted by DBA to users.
Eg: Create Session,Create Table,Create user etc..
Object Privileges : allow access to objects or privileges on object, i.e. tables,
table columns. tables,views etc..It includes alter,delete,insert,select update etc.
46
(After creating the user, DBA grant specific system privileges to user)
GRANT:
The DBA uses the GRANT statement to allocate system privileges to other user.
Syntax:
SQL> GRANT privilege [privilege…. … ]
TO USER ;
SQL> Grant succeeded
Eg: Grant create session, create table, create view to James;
Object privileges vary from object to [Link] owner has all privilege or specific privileges
on object.
SQL> GRANT object_priv
[(column)] ON object
TO user;
SQL>GRANT select, insert ON emp TO James;
SQL>GRANT select ,update
(e_name,e_address)
ON emp TO James;
CHANGE PASSWORD:
The DBA creates an account and initializes a password for every [Link] can change
password by using ALTER USER statement.
Syntax:
Alter USER <some user name>
IDENTIFIED BY<New
password>
Eg: ALTER USER James
IDENTIFIED BY
sam
REVOKE:
REVOKE statement is used to remove privileges granted to other [Link] privileges you
specify are revoked from the users.
47
Syntax:
REVOKE [privilege.. …]
ON object
FROM user
Eg:
● REVOKE create session,create table from James;
● REVOKE select
,insert ON emp
FROM James
ROLE:
A role is a named group of related privileges that can be granted to [Link] other words, role
is a predefined collection of previleges that are grouped together,thus privileges are easier
to assign user.
SQL> Create role custom;
SQL> Grant create table, create view TO custom;
SQL> Grant select, insert ON emp TO custom;
LAB TASK
1. Create user and implement the following commands on relation (Emp and Dept).
2. Develop a query to grant all privileges of employees table into departments table.
3. Develop a query to grant some privileges of employees table into departments table.
4. Develop a query to revoke all privileges of employees table from departments table.
5. Develop a query to revoke some privileges of employees table from departments table.
48