DBMSHBM
DBMSHBM
DBMSHBM
LAB MANUAL
Submitted by :
Ms. Sonika Jalhotra
INDEX
1. Lab Prerequisute
3. Outcome
4. Program List
6. Value Addition
7. Appendix
LAB PRE-REQUISITE
The basic pre-requisite for Database Management System is the basic programming skills and
knowledge about relational database model.
Developing and managing efficient and effective database applications require understanding
the fundamentals of database management systems, techniques for the design of databases,
and principles of database administration.
LAB MANUAL OBJECTIVE
This manual clearly explains the concepts of D.B.M.S. and the principles deployed behind
databases.
The Objective in writing of this lab manual is to produce a general , comprehensive text that
treats all the essential core area of D.B.M.S.
The Goal is to describe the real world constraint and realities of Database Management
Systems.
I have done my best to hunt down and eradicate all errors in this manual.
Lab OUTCOME
After undergoing this laboratory module, the students should be able to:
Normalize a database
1. Implementation of cursors
2. Program for Student Grade Calculation
3. Database Design using E-R Model and Normalization.
4. Database Design and Implementation of Pay Roll Processing
5. Design and Implementation of Banking System.
…………………………………………………….
NAME & SIGNATURE OF CONCERNED FACULTY
BASIC CONCEPTS OF PROGRAMS
TYPES OF CONSTRAINTS:
1) Primary key : A PRIMARY KEY constraint is a unique identifier for a row within a
database table. Every table should have a primary key constraint to uniquely identify
each row and only one primary key constraint can be created for each table. The
primary key constraints are used to enforce entity integrity.
2) Foreign key/references : A FOREIGN KEY constraint prevents any actions that would
destroy link between tables with the corresponding data values. A foreign key in one table
points to a primary key in another table. Foreign keys prevent actions that would leave rows
with foreign key values when there are no primary keys with that value. The foreign key
constraints are used to enforce referential integrity.
3) Check : A CHECK constraint is used to limit the values that can be placed in a column.
The check constraints are used to enforce domain integrity.
4) Unique : A UNIQUE constraint enforces the uniqueness of the values in a set of columns,
so no duplicate values are entered. The unique key constraints are used to enforce entity
integrity as the primary key constraints.
5) Not null : A NOT NULL constraint enforces that the column will not accept null values.
The not null constraints are used to enforce domain integrity, as the check constraints.
SQL joins are used to query data from two or more tables, based on a relationship between
certain columns in these tables.
SQL COMMANDS
• 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.
SQL COMMANDS
UNION
It returns a union of two select statements. It is returning unique (distinct) values of them.
MINUS
MINUS (also known as EXCEPT) returns the difference between the first and second
SELECT statement. It is the one where we need to be careful which statement will be put
first, cause we will get only those results that are in the first SELECT statement and not in the
second.
INTERSECT
INTERSECT is opposite from MINUS as it returns us the results that are both to be found in
first and second SELECT statement.
An aggregate function is a function where the values of multiple rows are grouped together
as input on certain criteria to form a single value of more significant meaning or
measurement such as a set, a bag or a list.
Nested Query can have more than one level of nesting in one single query. A SQL nested
query is a SELECT query that is nested inside a SELECT, UPDATE, INSERT, or DELETE
SQL query.
SQL COMMANDS
declare
n number;
i number;
f number:=1;
begin
n:=&n;
for i in 1..n
loop
f:=f*i;
end loop;
dbms_output.put_line(n||'! = '||f);
end;
Output:
Enter value for n: 5
old 6: n:=&n;
new 6: n:=5;
5! = 120
PL/SQL procedure successfully completed.
11.Write a PL/SQL code block to implement Indexes.
, . . . ,column_nameN)
[COMPUTE STATISTICS];
A collection is an ordered group of elements having the same data type. Each element is
identified by a unique subscript that represents its position in the collection.
Nested table
An index-by table (also called an associative array) is a set of key-value pairs. Each key
is unique and is used to locate the corresponding value. The key can be either an integer
or a string.
Where,
The optional parameter list contains name, mode and types of the parameters. IN
represents that value will be passed from outside and OUT represents that this
parameter will be used to return a value outside of the procedure.
We can create trigger using the CREATE TRIGGER statement. If trigger activated,
implicitly fire DML statement and if trigger deactivated can't fire.
DECLARE
[declaration_section
variable declarations;
constant declarations;
]
BEGIN
[executable_section
PL/SQL execute/subprogram body
]
EXCEPTION
[exception_section
PL/SQL Exception block
]
END;
VALUE ADDITION
IMPLEMENTATION OF CURSORS
SQL> create table bill(name varchar2(10), address varchar2(20), city varchar2(20), unit
number(10));
Table created.
1 row created.
SQL> /
1 row created.
SQL> /
1 row created.
3 b bill %ROWTYPE;
4 begin
5 open c;
7 loop
8 fetch c into b;
10 exit;
11 else
12 if(b.unit<=100) then
4);
20 else
5);
22 end if;
23 end if;
24 end loop;
25 close c;
26 end;
27 /
Table created.
1 row created.
SQL> /
SQL> /
1 row created.
SQL> /
1 row created.
2 tot number;
3 average number;
5 s std %ROWTYPE;
6 begin
7 open c;
9 loop
10 fetch c into s;
11 tot:=s.mark1+s.mark2+s.mark3;
12 average:=floor(tot/3);
13 if(c % notfound)then
14 exit;
15 else
26 else
28 end if;
29 end if;
30 end loop;
31 close c;
32 end;
33 /
RESULT:
Thus the program to implement cursors was executed and output was verified successfully.
Database design using E-R model and Normalization
ER diagram:
Chen Notation
Chen Notation
Representing Relationships
1:1 Relationships. The key of one relation is stored in the second relation.
Look at example queries to determine which key is queried most often.
1:N Relationships.
Parent - Relation on the "1" side.
Child - Relation on the "Many"
side.
Solution: Introduce a third Intersection relation and copy keys from original two
relations.
Chen Notation
RESULT:
Thus the ER Database design using E-R model and Normalization was implemented
successfully.
___________________________________________________________________
STEPS:
1. Create a database for payroll processing which request the using SQL
2. Establish ODBC connection
3. In the administrator tools open data source ODBC
4. Click add button and select oracle in ORA home 90, click finish
5. A window will appear given the data source home as oracle and select TNS source name
as lion and give the used id as SWTT
6. ADODC CONTROL FOR SALARY FORM:-
7. The above procedure must be follow except the table , A select the table as salary
8. Write appropriate Program in form each from created in VB from each from created in
VB form project.
Table created.
3 declare
5 begin
10 end;
11 / Trigger created.
PROGRAM FOR FORM 1
2.Show End
Sub Private
Sub exit_Click()
Unload Me
Sub salary_Click()
Form3.Show
End Sub
Sub clear_Click()
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
Text6.Text = ""
End If
End
End Sub
Form1.Show
End Sub
Adodc1.Recordset.Update
End Sub
End Sub
Private Sub
clear_Click()
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
__________________________________________________________________________
1.Create the DB for banking system source request the using SQL
3.Click add button and select oracle in ORA home 90 click finished
4.A window will appear give the data source name as oracle and give the user id as scott
5.Now click the test connection a window will appear with server and user name give user as
scott and password tiger Click ok
To add ADODC project select component and check ms ADO data control click ok
Now the control is added in the tool book
7.ADODC CONTEOL FOR ACCOUNT FROM:- Click customs and property window and
window will appear and select ODBC data source name as oracle and click apply as the
some window.
Result:
APPENDIX
QUERY: 01 Write a query to create a table employee with empno, ename, designation, and
salary.
QUERY: 02 Write a query to display the column name and datatype of the table employee.
QUERY: 03 Write a Query to Alter the column EMPNO NUMBER (4) TO EMPNO
NUMBER(6).
SQL > ALTER <TABLE NAME> MODIFY <COLUMN NAME> <DATATYPE> (SIZE);
QUERY: 04 Write a Query to Alter the table employee with multiple columns (EMPNO,
ENAME.)
SQL > ALTER <TABLE NAME> MODIFY <COLUMN NAME1> <DATATYPE> (SIZE),
MODIFY <COLUMN NAME2> <DATATYPE> (SIZE)
………………………………………….;
SQL> ALTER TABLE <TABLE NAME> ADD (<COLUMN NAME> <DATA TYPE>
<SIZE>);
SQL> ALTER TABLE <TABLE NAME> ADD (<COLUMN NAME1> <DATA TYPE>
<SIZE>,(<COLUMN NAME2> <DATA TYPE> <SIZE>,
………………………………………………………………);
REMOVE / DROP
REMOVE
DELETE
UPDATE
INSERT
SELECT
SQL :> INSERT INTO <TABLE NAME> VALUES< ‘&column name’, ‘&column
name 2’,…..);
SQL> /
Enter value for empno: 103
Enter value for ename: PANNERSELVAM
Enter value for designatin: ASST. PROF
Enter value for salary: 20000
old 1: INSERT INTO EMP
VALUES(&EMPNO,'&ENAME','&DESIGNATIN','&SALARY')
new 1: INSERT INTO EMP VALUES(103,'PANNERSELVAM','ASST.
PROF','20000')
1 row created.
SQL> /
UPDATE
DELETE
SAVEPOINT:
ROLL BACK
COMMIT
QUERY: 03 Write a query to implement the Rollback.
SQL> COMMIT;
SQL> COMMIT;
Commit complete.
Constraints are part of the table definition that limits and restriction on the value entered into
its columns.
TYPES OF CONSTRAINTS:
1) Primary key
2) Foreign key/references
3) Check
4) Unique
5) Not null
6) Null
7) Default
QUERY 2. Write a query to create primary constraints with column level with naming
convention
QUERY 3. Write a query to create primary constraints with table level with naming
convention
SAL NUMBER(6),
DEPTNO NUMBER(6));
QUERY 5. Write a query to create foreign key constraints with column level
Parent Table:
QUERY 6. Write a query to create foreign key constraints with Table level
Parent Table:
Child Table:
QUERY 7. Write a query to create foreign key constraints with Table level with alter
command.
Parent Table:
Child Table:
DEPTNO NUMBER(2),
DESIGN VARCHAR2(10));
Check constraint
Query 10. Write a query to create Check constraints with table level using alter command.
Unique Constraint
Query 11. Write a query to create unique constraints with column level
Query 12. Write a query to create unique constraints with table level
Syntax for Table level constraints with Check Using Alter
SQL :> CREATE <OBJ.TYPE> <OBJ.NAME> (<COLUMN NAME.1> <DATATYPE>
(SIZE), (COLUMN NAME2 <DATATYPE> (SIZE)) ;
Not Null
Query 13. Write a query to create Not Null constraints with column level
Null
QUERY 14. Write a query to create Null constraints with column level
Syntax for Column level constraints with Null:
SQL joins are used to query data from two or more tables, based on a relationship between
certain columns in these tables.
INNER JOIN
LEFT JOIN
RIGHT JOIN
FULL JOIN
Table:1 - ORDERS
TABLE SECTION:
OUTPUT
SQL>SELECT column_name(s)
FROM table_name1
FULL JOIN table_name2
ON table_name1.column_name=table_name2.column_name
INNER JOIN
SQL>SELECT column_name(s)
FROM table_name1
INNER JOIN table_name2
ON table_name1.column_name=table_name2.column_name
SQL COMMANDS
CREATE VIEW
INSERT IN VIEW
DELETE IN VIEW
UPDATE OF VIEW
DROP OF VIEW
CREATION OF TABLE
DESCRIPTION OF VIEW
DISPLAY VIEW:
DELETION OF VIEW:
UPDATE STATEMENT:
7. Write SQL queries to SELECT data using SET UNION ,INTERSECTION and
MINUS operations.
Nested Query can have more than one level of nesting in one single query. A SQL nested
query is a SELECT query that is nested inside a SELECT, UPDATE, INSERT, or DELETE
SQL query.
SQL COMMANDS:
SELECT
WHERE
HAVING
MIN(SALARY)
SELECT "COLUMN_NAME1"
FROM "TABLE_NAME1"
WHERE "COLUMN_NAME2" [COMPARISON OPERATOR]
(SELECT "COLUMN_NAME3"
FROM "TABLE_NAME2"
WHERE [CONDITION])
ENAME
----------
MAHESH
MANOJ
KARTHIK
MANI
VIKI
MOHAN
NAVEEN
PRASAD
AGNESH
Output:
Enter value for n: 5
old 6: n:=&n;
new 6: n:=5;
5! = 120
PL/SQL procedure successfully completed.
3 ORDER BY vendor_id;
1 row selected.
Index created.
Begin
i:=1;
tot:=0;
while(i<=n)
loop
j:=1;
c:=0;
while(j<=i)
loop
if(mod(I,j)=0) then
c:=c+1;
end if;
j:=j+1;
end loop;
if(c=2) then
dbms_output.put_line(i);
tot:=tot+1;
end if;
i:=i+1;
end loop;
end;
Sql>procedure created.
declare
t number;
begin
prime_proc(10,t);
end;
sql>set serveroutput on
OUTPUT
sql>/
Begin
2 For I in 1.. 10 loop
3 If mod(i,2) <> 0 then
4 Dbms_output.put_line(' I am an odd number :'||i);
5 else
6 Dbms_output.put_line(' I am an even number :'||i);
7 End if;
8 End loop;
9* end;
SQL> /
I am an odd number :1
I am an even number :2
I am an odd number :3
I am an even number :4
I am an odd number :5
I am an even number :6
I am an odd number :7
I am an even number :8
I am an odd number :9
I am an even number :10