+ All Categories
Home > Documents > CS2258-DBMS-MANUAL

CS2258-DBMS-MANUAL

Date post: 23-Nov-2014
Category:
Upload: raj-bharath-raju
View: 192 times
Download: 1 times
Share this document with a friend
Popular Tags:
70
1.DATA DEFINITION, TABLE CREATION, CONSTRAINTS AIM: CREATE objects like CREATE TABLE, CREATE FUNCTION, CREATE SYNONYM, CREATE VIEW. Etc. ALTER Objects like ALTER TABLE, ALTER USER, ALTER TABLESPACE, and ALTER DATABASE. Etc. DROP Objects like DROP TABLE, DROP USER, DROP TABLESPACE, and DROP FUNCTION. Etc. TRUNCATE (delete all rows) a table. Create: To create tables, views, synonyms, sequences, functions, procedures, packages etc. To create tables: - Purpose: This query is used to create a table. Syntax: Create table <table_name>(“column1” “DataType for column1”,”column2” “DataType for Column2”,..); Example: create table emp (empno number(5) , name varchar2(20), sal number(10,2), 1
Transcript
Page 1: CS2258-DBMS-MANUAL

1.DATA DEFINITION, TABLE CREATION, CONSTRAINTS

AIM:

CREATE objects like CREATE TABLE, CREATE FUNCTION, CREATE SYNONYM, CREATE VIEW. Etc.

ALTER   Objects like ALTER TABLE, ALTER USER, ALTER TABLESPACE, and ALTER DATABASE. Etc.

DROP Objects like DROP TABLE, DROP USER, DROP TABLESPACE, and DROP FUNCTION. Etc.

TRUNCATE (delete all rows) a table.

 Create:

To create tables, views, synonyms, sequences, functions, procedures, packages etc.

To create tables: -

Purpose: This query is used to create a table.

Syntax:

Create table <table_name>(“column1” “DataType for column1”,”column2” “DataType for Column2”,..);

Example:create table emp (empno number(5) ,

                   name varchar2(20),                   sal number(10,2),                   job varchar2(20),                   comm number(10,2));Output:-

Table Created.

1

Page 2: CS2258-DBMS-MANUAL

To create view: -

Purpose: Views can be considered as virtual tables. A table has a set of definition, and it physically stores the data. A view also has a set of definitions, which is build on top of table(s) or other view(s),and it does not physically store the data.

Syntax:

Create view <view name> AS <SQL Statement>

Example:

CREATE VIEW V_emp As SELECT * FROM EMP;

Output: View created.

SQL> select * from V_emp;

EMPNO NAME SAL JOB COMM ---------------------------------------------------------------------------------- 11 xxx 15000 SE 2258965 22 yyy 20000 DE 2245689

To create Primary Key :-

Purpose: A primary key is used to identify each row in a table. When describe that table, it shows NOT NULL value in NULL column.

Syntax :

Create table <table_name>(“column1” “DataType for column1” ”PRIMARY KEY”,”column2” “DataType for Column2”,..);

Example:

create table emp (empno number(5) primary key,                   name varchar2(20),                    sal number(10,2),                    job varchar2(20),                    comm number(10,2));

Output: Desc emp;

2

Page 3: CS2258-DBMS-MANUAL

Name Null? Type

---------------------------------------------------------------

EMPNO NOT NULL NUMBER(5)

NAME VARCHAR2(20)

SAL NUMBER(10,2)

JOB VARCHAR2(20)

COMM NUMBER(10,2)

CREATE FOREIGN KEY: - Purpose:

A foreign key is a field (or fields) that points to the primary key of another table.

Syntax :

Create table <table_name>(“column1” “DataType for column1” REFERENCES <table_name>(primary_key_column), (“column2” “DataType for column2”,etc.,);

Example:

create table dept (deptno number(5) primary key,                   dept_name varchar2(20),

employeeno number(5) references emp(empno));

Output:

SQL> create table dept(deptno number(5) primary key,dept_name varchar2(20), employeeno number(5) references emp(empno));

Table created.

3

Page 4: CS2258-DBMS-MANUAL

SQL> desc dept;

Name Null? Type

----------------------------------------------------------------

DEPTNO NOT NULL NUMBER(5)

DEPT_NAME VARCHAR2(20)

EMPLOYEENO NUMBER(5)

CREATE DEFAULT : -

Purpose:

The DEFAULT constraint is used to insert a default value into a column.

Syntax :

Create table <table_name>(“column1” “Data Type for column1”, (“column2” “Data Type for column2”default(‘name’),etc.,);

Example:

create table dept_defalt (deptno number(5) primary key,                   dept_name varchar2(20) default(‘IT’));

Output:

SQL> insert into dept_defalt (deptno) values(11);

1 row created.

SQL> insert into dept_defalt (deptno) values(12);

1 row created.

SQL> insert into dept_defalt (deptno,dept_name) values(13,’MCA’);

1 row created.

4

Page 5: CS2258-DBMS-MANUAL

SQL> select * from dept_defalt;

DEPTNO DEPT_NAME

----------------------------------

11 IT12 IT

13 MCA

ALTER:-

Purpose:

Once a table is created in the database ,there are many occasions where one may wish to change the structure of the table. Typical cases include the following:

Add a column Modify the datatype for a column

ALTER Table – Add a column :

Purpose:

To add a new column to this table.

Syntax :

Alter table <table_name> add(“column1” “Data Type for column1”, (“column2” “Data Type for column2”,etc.,);

Example:

Alter table emp add(address varchar2(20));

Output:

SQL> Alter table emp add(address varchar2(20));

Table altered.

SQL> Desc emp;

5

Page 6: CS2258-DBMS-MANUAL

Name Null? Type

---------------------------------------------------------------

EMPNO NOT NULL NUMBER(5)

NAME VARCHAR2(20)

SAL NUMBER(10,2)

JOB VARCHAR2(20)

COMM NUMBER(10,2)

ADDRESS VARCHAR2(20)

DROP:

Purpose:

To delete a table ( the table structure, attributes and indexes will also be deleted).

Syntax :

Drop table <table_name>

Example:

Drop table dept_defalt;

Output:

SQL> drop table dept2;

Table dropped.

Result :

Thus the DDL program has been successfully executed and verified.

6

Page 7: CS2258-DBMS-MANUAL

2 . INSERT, SELECT COMMANDS, UPDATE & DELETE COMMANDS

AIM:

The Data Manipulation Language (DML) is used to retrieve, insert and modify database information.

a.INSERT : Purpose:

The INSERT command in SQL is used to add records to an existing table.Syntax:

Insert into <table name> values(value list);

Example:Insert into dept values(11,’IT’,1101);

Output:

SQL> insert into dept values(11,’IT’,1101);

1 row created.

SQL> insert into dept values(12,’IT’,1101);

1 row created.

b.SELECT :

Purpose:The SELECT allows database users to retrieve the specific information from the

table.

Syntax: To retrieve all attributes from the particular table.

select * from <table name>;

SQL> select * from dept;

DEPTNO DEPT_NAME EMPLOYEENO --------------------------------------------------------------

14 IT 1101

7

Page 8: CS2258-DBMS-MANUAL

15 IT 1102

To retrieve selected attributes from the particular table.

SQL> select deptno,deptname from dept;

DEPTNO DEPT_NAME

------------------------------------

16 IT17 IT

c.INSERT using Null Values :

It is used to inserting the null values by creating the table itself.

Syntax:

Insert into <table name> values(NULL,NULL);

Example:

SQL> insert into dept(deptno,dept_name,EmployeeNo) values(15,null,’1103');

Output:

1 row created.

SQL> select * from dept;

DEPTNO DEPT_NAME EMPLOYEENO

--------------------------------------------------------------

18 IT 110119 IT 1102

20 1103

d.UPDATE :

Purpose:

The update statement used to modify the data in a table.

8

Page 9: CS2258-DBMS-MANUAL

Syntax:

Update <table name> set <column name>=[expression,… [where <condition>]];

Example:

Update dept set dept_name=’CSE’ where deptno=’13’;

Output:

SQL> Update dept set dept_name=’CSE’ where deptno=’13’;

1 row updated.

SQL> select * from dept;

DEPTNO DEPT_NAME EMPLOYEENO

----------------------------------------------------------------

13 CSE 110114 IT 1102

15 1103

e.DELETE:

Purpose:

The DELETE command with a WHERE clause can be used to remove his record from the personal_info table.

Syntax:

Delete from <table name> [where <condition>]];

Example:

Delete from emp where deptno=’13’;

Output:

SQL> delete from emp where deptno=’13’;

9

Page 10: CS2258-DBMS-MANUAL

1 row deleted.

SQL> select * from dept;

DEPTNO DEPT_NAME EMPLOYEENO

----------------------------------------------------------------

14 IT 1102

15 1103

f. SELECT with Constraints:

Select using WHERE clause:Purpose:

To conditionally select data from a table, a where clause can be added to the SELECT statement.

Syntax:select <column name> from <table name> [ where <condition>];

Example:select name from dept where Dept_name=’IT’;

Output:SQL> select * from dept where Dept_name=’IT’;

DEPTNO DEPT_NAME EMPLOYEENO

----------------------------------------------------------------

14 IT 1102

15 CSE 1103

16 IT 1104

Select using Order by:

Purpose:

Order by used to select the statement in order of that particular column.

10

Page 11: CS2258-DBMS-MANUAL

Syntax:

Select <column name> from <table name> order by <column name>;

Example:

SQL> select * from dept order by deptno;

Output:

SQL> select deptno, dept_name from dept order by dept_name;

DEPTNO DEPT_NAME

-----------------------------------

15 CSE

14 IT

16 IT

Select using Order by Ascending :

SQL> select deptno, dept_name from dept order by dept_name asc;

DEPTNO DEPT_NAME

-----------------------------------

15 CSE

14 IT

16 IT

Select using Order by Descending:

SQL> select deptno, dept_name from dept order by dept_name desc;

DEPTNO DEPT_NAME

-----------------------------------

11

Page 12: CS2258-DBMS-MANUAL

14 IT

16 IT

15 CSE

Select using LIKE operator :

Purpose:

% (percentage) and _ (underscore) have a special meaning. These two wild card characters are used with LIKE operator.

% allows matching any string of any length (including zero length) _ allows matching a single character

start with search using an input/search string containing % or _. The expected output should return only those strings that actually contain these character(s) at the specified places and not make use of the “special meaning” attached to them.

Syntax:

Select * from <table name> where <column name> like ‘<char>%’

SQL> select * from dept where dept_name like ‘%s%’;

DEPTNO DEPT_NAME

-----------------------------------

15 CSE

Result:

Thus the DML program has been successfully executed and verified.

12

Page 13: CS2258-DBMS-MANUAL

3 . NESTED QUERIES & JOIN QUERIES

AIM:

To write nested queries and join queries operations in the tables.

Nested Query:

SQL nested query is SELECT Query that is nested inside a Select, Update, Insert or Delete query.

Syntax of Nested Query:

SELECT <column name> from <table name> where <condition> (any query for select/update/insert/delete);

Example of Nested Queries:

SQL> select * from itemfile where qty=(select qty from itemfile1 where max=40);

MAX QTY ITEMAMT ---------- ---------- ---------- 40 34 56

SQL> select * from itemfile where qty>all(select qty from itemfile1 where max=40);

MAX QTY ITEMAMT ---------- ---------- ---------- 50 90 70

SQL> select * from itemfile where qty=(select qty from itemfile1 where max=40) or itemamt in(select itemamt from itemfile);

MAX QTY ITEMAMT

13

Page 14: CS2258-DBMS-MANUAL

---------- ---------- ---------- 100 200 300 50 90 70 40 34 56

Join Query :

A join is a query that combines rows from two or more tables,

views, or materialized views.

Oracle performs a join whenever multiple tables appear in the

query's FROM clause.

The query's select list can select any columns from any of these tables.

If any two of these tables have a column name in common, you must qualify all references to these columns throughout the query with table names to avoid ambiguity.

Join Conditions :

Most join queries contain WHERE clause conditions that compare two columns, each from a different table.Such a condition is called a join condition.

To execute a join, Oracle combines pairs of rows, each containing one row from each table, for which the join condition evaluates to TRUE. The columns in the join conditions need not also appear in the select list.

Example of Join Queries:

SQL> select * from itemfile;Output:

MAX QTY ITEMAMT ---------- ---------- ---------- 100 200 300 50 90 70 40 34 56

SQL> select * from itemfile1;

Output:

MAX QTY ITEMAMT ---------- ---------- ----------

14

Page 15: CS2258-DBMS-MANUAL

300 200 300 300 200 300 40 34 56

Equi Join :

An equijoin is a join with a join condition containing an

equality operator ( = ). An equijoin combines rows that have

equivalent values for the specified columns.

SQL> select itemfile.qty,itemfile1.max from itemfile,itemfile1 where itemfile.max=itemfile1.max;

Output:

QTY MAX ---------- ---------- 34 40

Non-Equi join:

Non equi joins is used to return result from two or more tableswhere exact join is not possible.

SQL> select itemfile.qty,itemfile1.max from itemfile,itemfile1 where itemfile.max>itemfile1.max;

Output:

QTY MAX ---------- ---------- 90 300 34 300 90 300 34 300 90 40

Outer join:

An outer join extends the result of a simple join. An outer join returns all

rows that satisfy the join condition and also returns some or all of those rows from one table for which no rows from the other satisfy the join condition.

15

Page 16: CS2258-DBMS-MANUAL

To write a query that performs an outer join of tables A and B and returns all rows from A (a left outer join), use the ANSI LEFT[OUTER] JOIN syntax, or apply the outer join operator (+) to all columns of B in the join condition. For all rows in A that have no matching rows in B, Oracle returns null for any select list expressions containing columns of B.

To write a query that performs an outer join of tables A and B and returns all rows from B (a right outer join), use the ANSI RIGHT[OUTER] syntax, or apply the outer join operator (+) to all columns of A in the join condition. For all rows in B that have no matching rows in A, Oracle returns null for any select list expressions containing columns of A.

To write a query that performs an outer join and and returns all rows from A and B, extended with nulls if they do not satisfy the join condition (a full outer join), use the ANSI FULL [OUTER] JOIN syntax.

SQL> select itemfile.qty,itemfile1.max from itemfile,itemfile1 where itemfile.max=itemfile1.max(+);

Output:

QTY MAX---------- ----------20034 4090

Union:

SQL> select *from itemfile union select *from itemfile1;

Output:

MAX QTY ITEMAMT ---------- ---------- ---------- 100 200 300 300 200 300 40 34 56 50 90 70 Union All:SQL> select * from itemfile union all select * from itemfile1;

16

Page 17: CS2258-DBMS-MANUAL

Output:

MAX QTY ITEMAMT ---------- ---------- ---------- 100 200 300 50 90 70 40 34 56 300 200 300 300 200 300 40 34 56

6 rows selected.

Intersection:

SQL> select * from itemfile intersect select * from itemfile1;

Output:

MAX QTY ITEMAMT ---------- ---------- ---------- 40 34 56

Minus:

SQL> select * from itemfile minus select * from itemfile1;

Output:

MAX QTY ITEMAMT ---------- ---------- ---------- 100 200 300 50 90 70

Result:

Thus the Nested and Join Queries has been successfully executed and verified.

17

Page 18: CS2258-DBMS-MANUAL

4.VIEWS

AIM:

To create a view for whole table or partial data in that table.

Purpose:

Views can be considered as virtual tables. A table has a set of definition, and it

physically stores the data. A view also has a set of definitions, which is build on top of table(s)

or other view(s),and it does not physically store the data.

Syntax:

Create view <view name> AS <SQL Statement>

Example:

CREATE VIEW V_emp As SELECT * FROM EMP;

Output:

View created.

SQL> select * from V_emp;

EMPNO NAME SAL JOB COMM -------------------------------------------------------------------------- 11 xxx 15000 SE 2258965 22 yyy 20000 DE 2245689

Example:

CREATE VIEW V_ Singlecol As SELECT empno FROM EMP;

18

Page 19: CS2258-DBMS-MANUAL

Output:

View created.

SQL> select * from V_ Singlecol;

EMPNO ------------ 11 22

Example:

CREATE VIEW V_colEmp As SELECT empno,name,sal FROM EMP;

Output:View created.

SQL> select * from V_colEmp;

EMPNO NAME SAL -------------------------------------- 11 xxx 15000 22 yyy 20000

Result:

Thus the view creation program has been successfully executed and verified.

19

Page 20: CS2258-DBMS-MANUAL

5 . HIGH LEVEL PROGRAMMING LANGUAGE EXTENSIONS

(CONTROL STRUCTURES, PROCEDURES AND FUNCTIONS)

AIM :

To write programs a High Level Language extensions with stored procedures and

functions in PL/SQL statements.

Procedures:

The procedure is a program that performs an action and does not return a value (outside of IN OUT and OUT parameters).

Functions:

The function is a program that might perform an action and does return a value.

Named PL/SQL programs (procedures and functions) can take

parameters. Parameters are named variables that are available to a program and that modify program behavior and/or data. Parameters are optional on both procedures and functions.

Parameters are declared when a procedure or function are declared and are declared between an open and a close parenthesis (()).

When you create a procedure or function, you may define parameters. There are three types of parameters that can be declared:

1. IN - The parameter can be referenced by the procedure or function. The value of the parameter can not be overwritten by the procedure or function.

2. OUT - The parameter can not be referenced by the procedure or function, but the value of the parameter can be overwritten by the procedure or function.

3. IN OUT - The parameter can be referenced by the procedure or function and the value of the parameter can be overwritten by the procedure or function.

4.

Procedures VS Functions:

20

Page 21: CS2258-DBMS-MANUAL

Procedures are traditionally the workhorse of the coding world and functions are traditionally the smaller, more specific pieces of code. In general, if you need to update the chart of accounts, you would write a procedure. If you need to retrieve the organization code for a particular GL account, you would write a function.

A few more differences between a procedure and a function:

A function MUST return a value.

A procedure cannot return a value.

Procedures and functions can both return data in OUT and IN OUT

Parameters.

The return statement in a function returns control to the calling

program and returns the results of the function.

The return statement of a procedure returns control to the calling

program and cannot return a value.

Functions can be called from SQL, procedure cannot.

Functions are considered expressions, procedure are not.

Procedure/Stored Procedure Syntax:

CREATE OR REPLACE PROCEDURE

procedure_name[(parameter [,parameter]) ]

AS

//Variable declaration

BEGIN

//Executable Section

[EXCEPTION

    exception_section]

END; (or) END procedure_name;

/

Procedure/Stored Procedure Example:

SQL> set serveroutput on;

21

Page 22: CS2258-DBMS-MANUAL

SQL> create or replace procedure addacc(acc_id in

varchar2,name in varchar2,balance in number)

2 as

3 begin

4 insert into accoun111 values(acc_id,name,balance);

5 dbms_output.put_line('value added');

6 end addacc;

7 /

Output:

Procedure created.

SQL> exec addacc('a005','karti',6000);value added

PL/SQL procedure successfully completed.

SQL> select *from accoun111;

ACC_ID NAME BALANCE-------------------- -------------------- ---------a001 nipa 5000a002 rani 3000a003 priya 4000a005 karti 6000

2. Procedure to update the balance when greater than 2500

SQL> create or replace procedure updacc(accno varchar2)

2 as

3 bal number(20);

4 begin

5 select balance into bal from account111 where acc_id=accno;

6 if bal>=2500 then

7 update account111 set balance=balance-2000 where acc_id=accno;

8 dbms_output.put_line('balance updated');

9 else

10 dbms_output.put_line('Updated amount below account limit');

22

Page 23: CS2258-DBMS-MANUAL

11 end if;

12 exception when no_data_found then

13 dbms_output.put_line('No such data found');

14 end;

15 /

Output:

Procedure created.

SQL> select * from account111;

ACC_ID NAME BALANCE

---------- ---------- ---------

a0001 maha 3000

a0002 praveen 1000

a0003 anand 4000

SQL> exec updacc('a0003');

balance updated

PL/SQL procedure successfully completed.

SQL> select * from account111;

ACC_ID NAME BALANCE

---------- ---------- ---------

a0001 maha 3000

a0002 praveen 1000

a0003 anand 2000

Function Syntax :

CREATE OR REPLACE FUNCTION <function_name>

RETURN <variable_type>

IS | AS

<variable declarations>

23

Page 24: CS2258-DBMS-MANUAL

BEGIN

  <code_here>;

END <function_name>;

/

Sample table(account11) data:

SQL> select * from account11;

ACC_ID NAME BALANCE

---------- ---------- ---------

a0001 rani 100

a0002 radha 200

a0003 ravi 600

a0004 dhana 300

a0005 praveena 400

a0006 aaaa 100

a0007 bbbb 100

a0008 cccc 100

Function Example:

SQL> set serveroutput on;

SQL> create or replace function f1(id in varchar2)

RETURN varchar2

IS

2 cus_name account11.name%type;

3 begin

4 select name into cus_name from account11 where acc_id=id;

5 RETURN cus_name;

6 end;

7 /

24

Page 25: CS2258-DBMS-MANUAL

Output:

Function created.

SQL> declare

2 no account11.acc_id%type;

3 name account11.name%type;

4 begin

5 no:='&account_id';

6 name:=f1(no);

7 dbms_output.put_line('account number:'||no);

8 dbms_output.put_line('customer name:'||name);

9 exception when no_data_found then

10 dbms_output.put_line('no such account id exists');

11 end;

12 /

Output:

Enter value for account_id: a0001

old 5: no:='&account_id';

new 5: no:='a0001';

account number:a0001

customer name:rani

PL/SQL procedure successfully completed.

SQL> /

Enter value for account_id: a0009

old 5: no:='&account_id';

new 5: no:='a0009';

no such account id exists

PL/SQL procedure successfully completed.

25

Page 26: CS2258-DBMS-MANUAL

Result:

Thus the High Level Programming Language Extension has been successfully executed

and verified.

6. DESIGN AND IMPLEMENTATION OF PAYROLL PROCESSING SYSTEM

( Front End Tools , Forms & Menu Design )

AIM:

To develop an employee payroll system using Oracle as a back end (database) and Microsoft Visual Basic6.0 as a front end.

PROCEDURE:

1. Create a employee database with the following fields in oracle namely Empno,Empname,address,Basicpay and insert some record into the database.

2. Design the corresponding form with labels,text boxes and command buttons.

Form1 Employee Payroll

3. Create the back with the front end using DAO method by creating a DSN as

follows,

a.Select administrative tools option from control panel.

Then click on Data Source(ODBC),which displays a dialog box named

ODBC DATASOURCES ADMINISTRATOR in which click Add button.

b.In Create New Data Source dialog box,select “Microsoft ODBC for

ORACLE” and click finish button

.

c.Give a suitable data source name,user name and server name.

4. Perform the required operations like Insert,Delete,Searching,Modify and Exit.

26

Page 27: CS2258-DBMS-MANUAL

5. Calculate the net salary of the employee.

6. Execute the project.

TABLE DESIGN: Table Name :Employee

LOAN.Text=adodc1.Recordset.Fields(9)

ADV.Text= adodc1.Recordset.Fields(10)

TD.Text=adodc1.Recordset.Fields(11)

GP.Text=adodc1.Recordset.Fields(12)

NP.Text=adodc1.Recordset.Fields(13)

End Sub

PROGRAM TO VIEW:

Private sub view_Click()

Dim a As Integer

On Error Go To err

a=InputBox(“enter the empno”)

Adodc1.Recordset.MOVEFIRST

NAME TYPE

EMPNO NUMBER(6)EMPNAME VARCHAR2(30)DESIGNATION VARCHAR2(20)DA NUMBER(10)HRA NUMBER(10)ADDRESS VARCHAR2(20)TA NUMBER(10)PF NUMBER(10)BASICPAY NUMBER(8,2)

27

Page 28: CS2258-DBMS-MANUAL

While Not Adodc1. Recordset.EOF

If Adodc1.Recordset.Fields(0)=a Then

fillt 1

Exit Sub

End If

Adodc1.Recordset.MOVENEXT

Wend

err:

MsgBox(“record doesnot exist”)

End Sub

Private sub MOVENEXT_Click()Adodc1.Recordset.MOVENEXTEnd Sub

Private sub MOVEPREVIOUS_Click()Adodc1.Recordset.MOVEPREVIOUSEnd Sub

PROGRAM TO SAVE:

Private sub save_Click()Adodc1.Recordset.UpdateNAME1.Enabled=FalseNO.Enabled=FalseDESIG.Enabled=FalseB1.Enabled=FalseHRA.Enabled=FalseDA.Enabled=FalseOA.Enabled=FalseTA.Enabled=FalseLOAN.Enabled=FalseADV.Enabled=FalseTD.Enabled=FalseGP.Enabled=FalsePF.Enabled=FalseNP.Enabled=Falseadd.Enabled= Truedel.Enabled= TrueBASIC.Enabled= Trueedit.Enabled=TrueEnd Sub

Fill function

28

Page 29: CS2258-DBMS-MANUAL

Public sub fillt()NO.Text=adodc1.Recordset.Fields(0)NAME.Text= adodc1.Recordset.Fields(1)DESIG.Text=adodc1.Recordset.Fields(2)MONYH.Text=adodc1.Recordset.Fields(14)B1.Text=adodc1.Recordset.Fields(3)

DA.Text=adodc1.Recordset.Fields(4)HRA.Text= adodc1.Recordset.Fields(5)OA.Text=adodc1.Recordset.Fields(6)TA.Text=adodc1.Recordset.Fields(7)PF.Text=adodc1.Recordset.Fields(8)LOAN.Text=adodc1.Recordset.Fields(9)ADV.Text= adodc1.Recordset.Fields(10)

PROGRAM TO ADD:

Private sub add_Click()NAME1.Enabled= TrueNO.Enabled= TrueDESIG.Enabled= TrueB1.Enabled= TrueHRA.Enabled= TrueDA.Enabled= TrueOA.Enabled= TrueTA.Enabled= TrueLOAN.Enabled= TrueADV.Enabled= TrueTD.Enabled= TrueGP.Enabled= TruePF.Enabled= TrueNP.Enabled= Truesave. Enabled=TrueNO.SetFocusMsgBox”new record is added”add. Enabled=Falsedel.Enabled=FalseBASIC. Enabled=Falseedit. Enabled=FalseEnd Sub

PROGRAM TO CALCULATE ALLOWANCES:

29

Page 30: CS2258-DBMS-MANUAL

Private sub B1_LostFocus()If Val(B1.Text)<5000 ThenDA.Text=Val(B1)*(20/100)HRA.Text= Val(B1)*(15/100)OA.Text= Val(B1)*(10/100)TA.Text=Val(B1)+Val(HRA)+Val(OA)PF.Text=Val(B1)*(5/100)ElseDA.Text=Val(B1)*(25/100)HRA.Text= Val(B1)*(20/100)OA.Text= Val(B1)*(15/100)TA.Text=Val(DA)+Val(HRA)+Val(OA)PF.Text=Val(B1)*(5/100)End IfEnd Sub

Dim a As Integera=InputBox(“enter the empno”)Adodc1.Recordset.MOVEFIRSTWhile Not Adodc1.Recordset.EOFIf Adodc1.Recordset.Fields(0)=a ThenFilltExit SubEnd IfAdodc1.Recordset.MOVENEXTWendMsgBox”record modify successfully”add.Enabled=Falsedel.Enabled=FalseBASIC. Enabled=Falseedit. Enabled=FalseEnd Sub

Private Sub exit_Click()Unload MeEnd Sub

Private sub Form_Click()NAME1.Enabled= FalseNO.Enabled= FalseDESIG.Enabled= FalseB1.Enabled= FalseHRA.Enabled= FalseDA.Enabled= FalseOA.Enabled= FalseTA.Enabled= False

30

Page 31: CS2258-DBMS-MANUAL

LOAN.Enabled= FalseADV.Enabled= FalseTD.Enabled= FalseGP.Enabled= FalsePF.Enabled= FalseNP.Enabled= Falsesave. Enabled=TrueEnd Sub

Private sub MOVEFIRST_Click()Adodc1.Recordset.MOVEFIRSTEnd Sub

Private sub MOVELAST_Click()Adodc1.Recordset.MOVELASTEnd Sub

PROGRAM TO DELETE:

Private Sub del_Click()Form.Caption=”delete operation”Dim a As IntegerOn Error Go To erra=InputBox(“enter the empno”)Adodc1.Recordset.MOVEFIRSTWhile Not Adodc1.Recordset.EOFIf Adodc1.Recordset.Fields(0)=a ThenAdodc1.Recordset.DeleteExit SubEnd If

Adodc1.Recordset.MOVENEXTWendMsgBox”record deleted”err:MsgBox”record does not exists”End SubPrivate sub edit_Click()Form1.Caption=”modify operation”Adodc1.Recordset.UpdateNAME1.Enabled=TrueNO.Enabled= TrueDESIG.Enabled= TrueB1.Enabled= TrueHRA.Enabled= TrueDA.Enabled= TrueOA.Enabled= True

31

Page 32: CS2258-DBMS-MANUAL

TA.Enabled= TrueLOAN.Enabled= TrueADV.Enabled= TrueTD.Enabled= TrueGP.Enabled= TruePF.Enabled= TrueNP.Enabled= Truesave. Enabled=TrueNO.SetFocus

OUTPUT:

RESULT:

32

Page 33: CS2258-DBMS-MANUAL

Thus the employee payroll processing system has been successfully developed and verified.

7.TRIGGERS

AIM:

To write programs in High Level Language extension with triggers.

Parts of Data Base Trigger:

a. Triggering Eventb. Triggering constraint ( Optional )c. Triggering Action

Triggering Action:

Before Option : Fires the trigger only once,before executing the triggering statement.

After Option: Fires the trigger only once ,after the execution of the triggering statement.

Instead of Option: Fires the trigger only once, to do something else instead of performing the action that executed the trigger.

Syntax:

Create or replace trigger <trigger name>Before | AfterInsert | Delete | Update [of <column>]

ON <table name> } -> Triggering event [Referencing [old as <old>] [New as <new>]] } ->Trigger constraint Begin PL/SQL Block Trigger body ( Trigger Action) End;

33

Page 34: CS2258-DBMS-MANUAL

1 . Create trigger to display the message after the data insert / delete/ update operation

SQL> set serveroutput on;

SQL> create or replace trigger tro11

2 after update or insert or delete on acco111

3 for each row

4 begin

5 if updating then

6 dbms_output.put_line(‘Updating’);

7 elsif inserting then

8 dbms_output.put_line(‘Inserting’);

9 elsif deleting then

10 dbms_output.put_line(‘Deleting’);

11 end if;

12 end;

13 /

Output:

Trigger created.

SQL> insert into acco111 values(22,’john’,2300);Inserting

1 row created.

2 . Create trigger to display the message after the data insert / delete operation

SQL> set serveroutput on;

SQL> create or replace trigger mytrig11

2 before insert or delete or update on account11

3 for each row

4 begin

5 if to_char(sysdate,'dy')='sun'then

34

Page 35: CS2258-DBMS-MANUAL

6 dbms_output.put_line('today is holiday');

7 else

8 dbms_output.put_line('welcome back');

9 end if;

10 end;

11 /

Output:

Trigger created.

SQL> update account11 set balance=100 where balance=500;welcome back

1 row updated.

3. Trigger to create error message when balance becomes less than 2000

SQL> create or replace trigger t112 2 before update on account11 3 for each row 4 begin 5 if:new.balance<100 then 6 raise_application_error(-20001,'LOW BALANCE'); 7 end if; 8 end; 9 /

Output:

Trigger created.

SQL> update account11 set balance='90' where name='aaaa';update account11 set balance='90' where name='aaaa' *ERROR at line 1:ORA-20001: LOW BALANCEORA-06512: at "SCOTT.T112", line 3ORA-04088: error during execution of trigger 'SCOTT.T112'

4. Create trigger with referencing new as newrow values swapped in another table

SQL> create trigger trig4 after insert on t4 referencing new as newrow

35

Page 36: CS2258-DBMS-MANUAL

2 for each row when(newrow.a>10)

3 begin

4 insert into t5 values(:newrow.b,:newrow.a);

5 end trig4;

6 /

Output:

Trigger created.

SQL> insert into t4 values(2,4);

1 row created.

SQL> select * from t4;

A B---------- ---------2 4

SQL> insert into t4 values(12,16);

1 row created.

SQL> select * from t5;

C D---------- ---------16 12

SQL> select * from t4;

A B---------- ---------2 412 16

CREATE TRIGGER TO DELETE ACCOUNT DETAILS WHEN CUSTOMER GETS DELETED

36

Page 37: CS2258-DBMS-MANUAL

SQL> create table custdet(c_id varchar2(10) primary key,name varchar2(20),street_name varchar2(20),c

ity varchar2(20),ph_no number(12));

Table created.

SQL> select * from custdet;

C_ID NAME STREET_NAME CITY PH_NO---------------------------------- -------------------- -------------------- --------------------c001 dhana k.k.nagar ch-24 243563c002 praveen mgr nagar ch-43 236534c003 hema nehru street ch-93 295123

SQL> insert into acco111 values('a0002','c001',4000);

1 row created.

SQL> insert into acco111 values('a0003','c002',5000);

1 row created.

SQL> set serveroutput on;

SQL> create or replace trigger tig112

2 after delete on custdet

3 for each row

4 begin

5 delete from acco111 where acco111.c_id=:old.c_id;

6 end;

7 /

Output:

Trigger created.

SQL> delete from custdet where c_id='c002';

1 row deleted.

SQL> select * from custdet;

C_ID NAME STREET_NAME CITY PH_NO

37

Page 38: CS2258-DBMS-MANUAL

---------- -------------------- -------------------- -------------------- ---------c001 dhana k.k.nagar ch-24 243563c003 hema nehru street ch-93 295123

1 row deleted.

SQL> select * from acco111;

ACC_ID C_ID BALANCE---------- ---------- ---------a0002 c001 4000

6 . TRIGGER TO INSERT INTO SEPARATE TABLES;

SQL> create table acco_del111(acc_id varchar2(20),c_id varchar2(20),balance number(10),deldate date);

Table created.

SQL> create table acco_ins111(acc_id varchar2(20),c_id varchar2(20),balance number(10),insertdate date);

Table created.

Program:

SQL> set serveroutput on;

SQL> create or replace trigger tro11

2 after delete or insert on acco111

3 for each row

4 begin

5 if deleting then

6 insert into acco_del111(acc_id,c_id,balance,deldate)

values(:old.acc_id,:old.c_id,:old.balance,sysdate);

7 elsif inserting then

8 insert into acco_ins111(acc_id,c_id,balance,insertdate)

Values(:new.acc_id,:new.c_id,:new.balance,sysdate);

9 end if;

11 end;

12 /

38

Page 39: CS2258-DBMS-MANUAL

Output:

Trigger created.

SQL> select * from acco111;

ACC_ID C_ID BALANCE

---------- ---------- ---------

a0002 c001 4000

a0003 c002 4500

SQL> insert into acco111 values('a0004','c003',3000);

1 row created.

SQL> select * from acco_ins111;

ACC_ID C_ID BALANCE INSERTDAT

-------------------- -------------------- --------- ---------

a0004 c003 3000 09-MAR-10

SQL> delete from acco111 where acc_id='a0002';

1 row deleted.

SQL> select * from acco_del111;

ACC_ID C_ID BALANCE DELDATE

-------------------- -------------------- --------- ---------

a0002 c001 4000 09-MAR-10

39

Page 40: CS2258-DBMS-MANUAL

Result :

Thus the Triggers has been successfully executed and verified.

8. REPORTS

AIM:

To generate the REPORT using SQL commands.

Commands :

Remark :

Tells SQL plus that the cords to follow are to be treated as comments & not instructions.

SETHEADSEP :

The Heading separator identifies the single character that tells sql plus to split into one or more lines.

TTITLE :

Sets the top title for each page of a report.

BTITLE :

Sets the bottom title for each page of a report.

COLUMN :

Gives sql plus a variety of instructions on the heading format and treatment of a column.

BREAKON :

Tells the sql plus how the transactions for each kind of job are grouped

together under any field.

COMPUTESUM :

Makes sql plus ,calculate sub tools

SETLINESIZE :

Set the maximum number of lines per page.

SETNEWPAGE :

Set the number of blank lines between pages.

40

Page 41: CS2258-DBMS-MANUAL

SPOOL :

Moves a report you would normally displayed on the screen into a file.

PROGRAM:

SQL> desc aa1;

Name Null? Type ------------------------------- -------- ---- ACTION_DATE DATE NAME VARCHAR2(20) QUANTY NUMBER(10) STORENAME VARCHAR2(20) RATE NUMBER(10) AMOUNT NUMBER(10)

SQL> rem REPORT CREATED BY HARRY

rem description : report for news paper

set headsep|

ttitle report about the news papers in India

column name heading ‘What was sold’

column name format a18

column storename heading ‘to whom sold’ format a18 word_wrapped

column rate format 90.99

column action_da heading ‘date’

column quanty heading ‘quantity’ format 999

column amount1 format 9999.99

compute sum of amount1 on amount

break on storename skip 2

set linesize 82

set pagesize 60

set newpage 0

41

Page 42: CS2258-DBMS-MANUAL

Output:

SQL> select * from aa1;

Report about the news papers in India

ACTION_DA What was sold quantity to whom sold RATE AMOUNT-------------------------------------------------------------------------------------------------07-JAN-10 The Hindu 370 HifiStore 8.00 200

08-FEB-10 Economic Times 400 LogStores 6.00 600

08-MAR-10 GlobalNews 500 BloggStore 10.00 100

42

Page 43: CS2258-DBMS-MANUAL

RESULT :

Thus the report has been successfully created and verified.

9. MINI PROJECT(1)

DESIGN AND IMPLEMENTATION OF BANKING SYSTEM

AIM: To develop a banking system using Oracle as s back end(data base) and Microsoft Visual basic6.0 as a front end.

PROCEDURE :

1. Create a banking database with the following fields in oracle namely,acno,name,address,balance and some record into the database.

2. Design the corresponding form with labels,text boxes and command buttons.

Form1 customer details

Form2 withdraw

Form3 deposit

3. Create the back with the front end using DAO method by creating a dsn as follows

a.Select administrative tools option from control panel.

Then click on data source(ODBC),which displays a dialog box named

ODBCDATASOURCESADMINISTRATOR in which click Add button.

b.In Create New Data Source dialog box,select “Microsoft ODBC for

ORACLE” and click finish button

c.Give a suitable data source name,user name and server name.

4. Perform the required operations like Insert,Delete,Searching and Exit.

5. Issue the books according to the no.of copies available.

43

Page 44: CS2258-DBMS-MANUAL

5. Execute the project.

TABLE DESIGN:

Table Name :Banking

FORM 1:

Dim DB As DatabaseDim RS As recordset

Private Sub Form_Load() Set DB =OpenDatabase(“BANKDSN”,FALSE,FALSE,”ODBC;UID= ;PWD= ;”)Set RS =DB.OpenRecordset(“select * from Bank”)Text1.text=RS(0)Text2.text=RS(1)Text3.text=RS(2)Text4.text=RS(3)End Sub

Private Sub CLEAR_click()Text1.text=””Text2.text=””Text3.text=””Text4.text=””End Sub

Private sub DELETE_Click()RS.DELETE

NAME TYPE

ACNO NUMBER(6)NAME VARCHAR2(30)ADDRESS VARCHAR2(20)BALANCE NUMBER(8,2)

44

Page 45: CS2258-DBMS-MANUAL

MsgBox”the record is deleted”RS.MoveNextIfRS.EOF ThenMsgBox”no more records”ElseText1.text=RS(0)Text2.text=RS(1)Text3.text=RS(2)Text4.text=RS(3)End IfEnd Sub

Private Sub EXIT Click()EndEnd Sub

Private Sub FIRST_Click()RS .MoveFirstText1.Text=RS(0)Text2.Text=RS(1)Text3.Text=RS(2)Text4.Text=RS(3)End Sub

Private Sub INSERT_Click()RS.MoveLastRS.AddNewRS(0)=Text1.TextRS(1) =Text2.TextRS(2)=Text3.TextRS(3)=Text4.TextMsgBox”record is inserted”RS.UPDATEEnd Sub

Private Sub LAST_Click()RS. MoveLastText1.text=RS(0)Text2.text=RS(1)Text3.text=RS(2)Text4.text=RS(3)End Sub

Private Sub NEXT_Click()RS.Move NextIf RS.EOF ThenMsgBox”no more recfords”

45

Page 46: CS2258-DBMS-MANUAL

ElseText1.text=RS(0)Text2.text=RS(1)Text3.text=RS(2)Text4.text=RS(3)EndIfEnd SubPrivate Sub PREVIOUS_Click()RS.Move PreviousIf RS.EOF ThenMsgBox”no more recfords”ElseText1.text=RS(0)Text2.text=RS(1)Text3.text=RS(2)Text4.text=RS(3)EndIfEnd Sub

Private Sub UPDATE_Click()RS.EditRS(0)=Text1.TextRS(1) =Text2.TextRS(2)=Text3.TextRS(3)=Text4.TextRS.UPDATEMsgBox”record is inserted”End Sub

Private Sub FIND_Click()1=InputBox(“ENTER THE ACNO”,”FIND”)rs.FindFirst”[ACNO]=”&IIf rs.NoMatch ThenMsgBox”no such records”ElseText1.text=RS(0)Text2.text=RS(1)Text3.text=RS(2)Text4.text=RS(3)EndIfEnd Sub

Private Sub WITHDRAW_Click()Form2.ShowEnd Sub

Private Sub DEPOSIT_Click()

46

Page 47: CS2258-DBMS-MANUAL

Form3.ShowEnd Sub

FORM 2:

Private Sub HOMEPAGE_Click()Form1.ShowForm2.HideEnd Sub

Private Sub WITHDRAW_Click()Text2.Text=val(Form1.Text)-Text1.TextForm1.Text4=Text2.textEnd Sub

End

FORM 3:

Private Sub DEPOSIT_Click()Text2.Text=val(Form1.Text)+Text1.TextForm1.Text4=Text2.textEnd Sub

Private Sub HOMEPAGE_Click()Form1.ShowForm3.HideEnd Sub

47

Page 48: CS2258-DBMS-MANUAL

WITHDRAW FORM:

48

Page 49: CS2258-DBMS-MANUAL

DEPOSIT FORM:

49

Page 50: CS2258-DBMS-MANUAL

RESULT:

Thus the banking system has been successfully developed in Visual Basic.

10. MINI PROJECT (2)

DESIGN AND IMPLEMENTATION OF LIBRARY INFORMATION SYSTEM

AIM:

50

Page 51: CS2258-DBMS-MANUAL

To develop a library information system using Oracle as a back end (database)and Microsoft Visual Basic as a front end.

PROCEDURE:

1.Create a book and issue database with the following fields in Oracle namely Bid,Bname,Author,Price,noofcopiesavailable and Bid,Bname,Author,card number,stuname,dateofreturn respectively and insert some record into the database.

2.Design the corresponding form with labels,text boxes and command buttons.

Form1 bookdetailsForm2 issuedetails

3.Create the back with the front end using DAO method by creating a dsn as follows A . Select administrative tools option from control panel. Then click on data source(ODBC),which displays a dialog box named ODBC DATASOURCES ADMINISTRATOR in which click Add

button.

B . In Create New Data Source dialog box,select “Microsoft ODBC for ORACLE” and click finish button.

C . Give a suitable data source name,user name and server name.

4.Perform the required operations like Insert,Delete,Searching and Exit.

5.Issue the books according to the no.of copies available.

6.Execute the project.

TABLE DESIGN:

Table Name 1 : Books

51

Page 52: CS2258-DBMS-MANUAL

Table Name 2 : Issue

BOOK DETAILS FORM:

BID NUMBER(6)

BNAME VARCHAR2(30)AUTHOR VARCHAR2(20)CARDNUMBER VARCHAR2(8,2)STUNAME VARCHAR2(8,2)DATEOFRETURN NUMBER(6)

NAME TYPE

BID NIMBER(6)BNAME VARCHAR2(30)AUTHOR VARCHAR2(20)PRICE NUMBER(8,2)NO OF COPIES AVAILABLE NUMBER(3)

52

Page 53: CS2258-DBMS-MANUAL

ISSUE DETAILS FORM:

53

Page 54: CS2258-DBMS-MANUAL

FORM 1:

Dim DB As DatabaseDim RS As recordset

Private Sub Form_Load() Set DB =OpenDatabase(“libdsn”,false,false,”ODBC;uid= ;pwd= ;”)Set RS =DB.OpenRecordset(“select * from Book”)Text1.text=RS(0)Text2.text=RS(1)Text3.text=RS(2)Text4.text=RS(3)Text5.text=RS(4)End Sub

Private Sub CLEAR_click()Text1.text=””Text2.text=””Text3.text=””

54

Page 55: CS2258-DBMS-MANUAL

Text4.text=””Text5.text=””End Sub

Private sub DELETE_Click()RS.DELETEMsgBox”the record is deleted”RS.MoveNextIfRS.EOF ThenMsgBox”no more records”ElseText1.text=RS(0)Text2.text=RS(1)Text3.text=RS(2)Text4.text=RS(3)Text5.text=RS(4)End IfEnd Sub

Private Sub EXIT Click()EndEnd Sub

Private Sub INSERT_Click()RS .MOVELASTRS.AddNewRS(0)=Text1.TextRS(1) =Text2.TextRS(2)=Text3.TextRS(3)=Text4.TextRS(4)=Text5.TextRS.UPDATEEnd Sub

Private Sub MOVEFIRST_Click()RS.MOVEFIRSTText1.text=RS(0)Text2.text=RS(1)Text3.text=RS(2)Text4.text=RS(3)Text5.text=RS(4)End SubPrivate Sub SEARCH_Click()1=InputBox(“ENTER THE BID”,”FIND”)RS.FindFirst”[BID]-”&IIf RS.NoMatch ThenMsgBox”no such records”

55

Page 56: CS2258-DBMS-MANUAL

ElseRS.MOVEFIRSTText1.text=RS(0)Text2.text=RS(1)Text3.text=RS(2)Text4.text=RS(3)Text5.text=RS(4)End SubPrivate Sub ISSUE_Click()If Val(Text5.Text)>=1 ThenForm2.ShowElseMsgBox”NO BOOKS AVAILABLE”End IfEnd Sub

FORM2:Dim DB As DatabaseDim RS As recordset

Private Sub Form_Load() Set DB =OpenDatabase(“libdsn”,false,false,”ODBC;uid= ;pwd= ;”)Set RS =DB.OpenRecordset(“select * from Book”)Text1.Ttext=Form1.Text1Text2.Text=Form1.Text2Text3.Text=Form1.Text3End Sub

Private Sub ISSUE_Click()RS.AddNewRS(0)=Text1.TextRS(1) =Text2.TextRS(2)=Text3.TextRS(3)=Text4.TextRS(4)=Text5.TextRS(5)=Text6.TextRS.UPDATERS.MOVELASTForm1.Text5=val(Form1.Text5)-1End SubPrivate Sub MOVELAST_Click()RS.MOVELASTText1.text=RS(0)Text2.text=RS(1)Text3.text=RS(2)Text4.text=RS(3)Text5.text=RS(4)

56

Page 57: CS2258-DBMS-MANUAL

End Sub

Private sub NEXT_Click()RS.MoveNextIfRS.EOF ThenMsgBox”no more records”ElseText1.text=RS(0)Text2.text=RS(1)Text3.text=RS(2)Text4.text=RS(3)Text5.text=RS(4)End IfEnd Sub

Private sub PREVIOUS_Click()RS.MovePreviousIfRS.EOF ThenMsgBox”no more records”ElseText1.text=RS(0)Text2.text=RS(1)Text3.text=RS(2)Text4.text=RS(3)Text5.text=RS(4)End IfEnd Sub

Private Sub UPDATE_Click()RS.EditRS(0)=Text1.TextRS(1) =Text2.TextRS(2)=Text3.TextRS(3)=Text4.TextRS(4)=Text5.TextRS.UPDATEEnd Sub

Private Sub MAINMENU_Click()Form1.ShowForm2.HideEnd Sub

RESULT : Thus the Library Information System has been successfully developed in VB.

57


Recommended