LAB MANUAL
SUB NAME: DATABASE DESIGN
MANAGEMENT SYSTEMS
LAB SUB CODE: AD3381
LIST OF EXPERIMENTS
1. Database Development Life cycle: Problem definition and Requirement analysis
Scope and Constraints
2. Database design using Conceptual modeling (ER-EER) – top-down approach
Mapping conceptual to relational database and validate using Normalization
3. Implement the database using SQL Data definition with constraints, Views
4. Query the database using SQL Manipulation
5. Querying/Managing the database using SQL Programming - Stored
Procedures/Functions - Constraints and security using Triggers
6. Database design using Normalization – bottom-up approach
7. Develop database applications using IDE/RAD tools (Eg.,
NetBeans,VisualStudio)
8. Database design using EER-to-ODB mapping / UML class diagrams
9. Object features of SQL-UDTs and sub-types, Tables using UDTs, Inheritance,
Method definition
10. Querying the Object-relational database using Objet Query language
DDMS MANUAL
EX: NO: 1
Database Development Life cycle: Problem definition and Requirement analysis Scope and
Constraints
AIM:
To execute and verify the Data Definition Language commands and constraints
DDL (DATA DEFINITION LANGUAGE)
❖ CREATE
❖ ALTER
❖ DROP
❖ TRUNCATE
❖ COMMENT
❖ RENAME
PROCEDURE
STEP 1: Start
STEP 2: Create the table with its essential attributes.
STEP 3: Execute different Commands and extract information from the table.
STEP 4: Stop
SQL COMMANDS
1. COMMAND NAME: CREATE
COMMAND DESCRIPTION: CREATE command is used to create objects
in the database.
2. COMMAND NAME: DROP
COMMAND DESCRIPTION: DROP command is used to delete the object
from the database.
3. COMMAND NAME: TRUNCATE
COMMAND DESCRIPTION: TRUNCATE command is used to remove
all the records from the table
4. COMMAND NAME: ALTER
COMMAND DESCRIPTION: ALTER command is used to alter the structure of
database
5. COMMAND NAME: RENAME
COMMAND DESCRIPTION: RENAME command is used to rename the objects.
QUERY: 01
Q1. Write a query to create a table employee with empno, ename, designation, and
salary.
Syntax for creating a table:
SQL: CREATE <OBJ.TYPE> <OBJ.NAME> (COLUMN NAME.1
<DATATYPE> (SIZE), COLUMN NAME.1 <DATATYPE> (SIZE)
……………………………);
QUERY: 01
SQL>CREATE TABLE EMP (EMPNO NUMBER (4),
ENAME VARCHAR2 (10),
DESIGNATIN VARCHAR2 (10),
SALARY NUMBER (8,2));
Table created.
QUERY: 02
Q2. Write a query to display the column name and datatype of the table employee.
Syntax for describe the table:
SQL: DESC <TABLE NAME>;
SQL> DESC EMP;
Name Null? Type
----------------------------------------- --------
------------- EMPNO NUMBER(4)
ENAME VARCHAR2(10)
DESIGNATIN VARCHAR2(10)
SALARY NUMBER(8,2)
QUERY: 03
Q3. Write a query for create a from an existing table with all the fields
Syntax For Create A from An Existing Table With All Fields
SQL> CREATE TABLE <TRAGET TABLE NAME> SELECT * FROM
<SOURCE TABLE NAME>;
QUERY: 03
SQL> CREATE TABLE EMP1 AS SELECT * FROM EMP;
Table created.
SQL> DESC EMP1
Name Null? Type
----------------------------------------- -------- ------------------
EMPNO NUMBER(4)
ENAME VARCHAR2(10)
DESIGNATIN VARCHAR2(10)
SALARY NUMBER(8,2)
QUERY: 04
Q4. Write a query for create a from an existing table with selected fields
Syntax For Create A from An Existing Table With Selected Fields
SQL> CREATE TABLE <TRAGET TABLE NAME> SELECT EMPNO, ENAME
FROM <SOURCE TABLE NAME>;
QUERY: 04
SQL> CREATE TABLE EMP2 AS SELECT EMPNO, ENAME FROM EMP;
Table created.
SQL> DESC EMP2
Name Null? Type
----------------------------------------- --------
---------------------- EMPNO NUMBER (4)
ENAME VARCHAR2 (10)
QUERY: 05
Q5. Write a query for create a new table from an existing table without any record:
Syntax for create a new table from an existing table without any record:
SQL> CREATE TABLE <TRAGET TABLE NAME> AS SELECT * FROM
<SOURCE TABLE NAME> WHERE <FALSE CONDITION>;
QUERY: 05
SQL> CREATE TABLE EMP3 AS SELECT * FROM EMP WHERE
1>2;
Table created.
SQL> DESC EMP3;
Name Null? Type
----------------------------------------- --------
------------------------ EMPNO NUMBER(4)
ENAME VARCHAR2(10)
DESIGNATIN VARCHAR2(10)
SALARY NUMBER(8,2);
ALTER & MODIFICATION ON TABLE
QUERY: 06
Q6. Write a Query to Alter the column EMPNO NUMBER (4) TO EMPNO NUMBER
(6).
Syntax for Alter & Modify on a Single Column:
SQL > ALTER <TABLE NAME> MODIFY <COLUMN NAME> <DATATYPE>
(SIZE);
QUERY: 06
SQL>ALTER TABLE EMP MODIFY EMPNO NUMBER (6);
Table altered.
SQL> DESC EMP;
Name Null? Type
----------------------------------------- --------
---------------------------- EMPNO NUMBER(6)
ENAME VARCHAR2(10)
DESIGNATIN VARCHAR2(10)
SALARY NUMBER(8,2)
QUERY: 07
Q7. Write a Query to Alter the table employee with multiple columns (EMPNO,
ENAME.)
Syntax for alter table with multiple column:
SQL > ALTER <TABLE NAME> MODIFY <COLUMN NAME1> <DATATYPE>
(SIZE), MODIFY <COLUMN NAME2> <DATATYPE> (SIZE)
………………………………………….;
QUERY: 07
SQL>ALTER TABLE EMP MODIFY (EMPNO NUMBER (7), ENAME
VARCHAR2(12));
Table altered.
SQL> DESC EMP;
Name Null? Type
----------------------------------------- --------
---------------------------- EMPNO NUMBER(7)
ENAME VARCHAR2(12)
DESIGNATIN VARCHAR2(10)
SALARY NUMBER(8,2);
QUERY: 08
Q8. Write a query to add a new column in to employee
Syntax for add a new column:
SQL> ALTER TABLE <TABLE NAME> ADD (<COLUMN NAME> <DATA
TYPE> <SIZE>);
QUERY: 08
SQL> ALTER TABLE EMP ADD QUALIFICATION VARCHAR2(6);
Table altered.
SQL> DESC EMP;
Name Null? Type
----------------------------------------- --------
---------------------------- EMPNO NUMBER(7)
ENAME VARCHAR2(12)
DESIGNATIN VARCHAR2(10)
SALARY NUMBER(8,2)
QUALIFICATION VARCHAR2(6)
QUERY: 09
Q9. Write a query to add multiple columns in to employee
Syntax for add a new column:
SQL> ALTER TABLE <TABLE NAME> ADD (<COLUMN NAME1> <DATA
TYPE> <SIZE>,(<COLUMN NAME2> <DATA TYPE> <SIZE>,
………………………………………………………………);
QUERY: 09
SQL>ALTER TABLE EMP ADD (DOB DATE, DOJ DATE);
Table altered.
SQL> DESC EMP;
Name Null? Type
----------------------------------------- --------
---------------------------- EMPNO NUMBER(7)
ENAME VARCHAR2(12)
DESIGNATIN VARCHAR2(10)
SALARY NUMBER(8,2)
QUALIFICATION VARCHAR2(6)
DOB DATE
DOJ DATE
REMOVE / DROP
QUERY: 10
Q10. Write a query to drop a column from an existing table employee
Syntax for add a new column:
SQL> ALTER TABLE <TABLE NAME> DROP COLUMN <COLUMN NAME>;
QUERY: 10
SQL> ALTER TABLE EMP DROP COLUMN DOJ;
Table altered.
SQL> DESC EMP;
Name Null? Type
----------------------------------------- -------- -------------
EMPNO NUMBER(7)
ENAME VARCHAR2(12)
DESIGNATIN VARCHAR2(10)
SALARY NUMBER(8,2)
QUALIFICATION VARCHAR2(6)
DOB DATE
QUERY: 11
Q10. Write a query to drop multiple columns from employee
Syntax for add a new column:
SQL> ALTER TABLE <TABLE NAME> DROP <COLUMN
NAME1>,<COLUMN NAME2>,…...........................................;
QUERY: 11
SQL> ALTER TABLE EMP DROP (DOB, QUALIFICATION);
Table altered.
SQL> DESC EMP;
Name Null? Type
----------------------------------------- --------
-------------- EMPNO NUMBER(7)
ENAME VARCHAR2(12)
DESIGNATIN VARCHAR2(10)
SALARY NUMBER(8,2)
REMOVE
QUERY: 12
Q10. Write a query to rename table emp to employee
Syntax for add a new column:
SQL> ALTER TABLE RENAME <OLD NAME> TO <NEW NAME>
QUERY: 12
SQL> ALTER TABLE EMP RENAME EMP TO EMPLOYEE;
SQL> DESC EMPLOYEE;
Name Null? Type
----------------------------------------- --------
-------------- EMPNO NUMBER(7)
ENAME VARCHAR2(12)
DESIGNATIN VARCHAR2(10)
SALARY NUMBER(8,2)
CONSTRAINTS
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
CONSTRAINTS CAN BE CREATED IN THREE WAYS:
1) Column level constraints
2) Table level constraints
3) Using DDL statements-alter table command
OPERATION ON CONSTRAINT:
i) ENABLE
ii) DISABLE
iii) DROP
Column level constraints Using Primary key
Q13. Write a query to create primary constraints with column level
Primary key
Syntax for Column level constraints Using Primary key:
SQL:>CREATE <OBJ.TYPE> <OBJ.NAME> (COLUMN NAME.1 <DATATYPE>
(SIZE)<TYPE OF CONSTRAINTS> , COLUMN NAME.1 <DATATYPE> (SIZE)
……………………………);
QUERY:13
SQL>CREATE TABLE EMPLOYEE(EMPNO NUMBER(4) PRIMARY
KEY,
ENAME VARCHAR2(10),
JOB VARCHAR2(6),
SAL NUMBER(5),
DEPTNO NUMBER(7));
Column level constraints Using Primary key with naming convention
Q14. Write a query to create primary constraints with column level with naming
convention
Syntax for Column level constraints Using Primary key:
SQL: >CREATE <OBJ.TYPE> <OBJ.NAME> (COLUMN NAME.1 <DATATYPE>
(SIZE)CONSTRAINTS <NAME OF THE CONSTRAINTS> <TYPE OF THE
CONSTRAINTS> , COLUMN NAME.1 <DATATYPE> (SIZE)
……………………………);
QUERY:14
SQL>CREATE TABLE EMPLOYEE(EMPNO NUMBER(4)
CONSTRAINT EMP_EMPNO_PK PRIMARY KEY,
ENAME VARCHAR2(10),
JOB VARCHAR2(6),
SAL NUMBER(5),
DEPTNO NUMBER(7));
Table Level Primary Key Constraints
Q15. Write a query to create primary constraints with table level with naming convention
Syntax for Table level constraints Using Primary key:
SQL: >CREATE <OBJ.TYPE> <OBJ.NAME> (COLUMN NAME.1 <DATATYPE>
(SIZE) , COLUMN NAME.1 <DATATYPE> (SIZE), CONSTRAINTS <NAME OF
THE CONSTRAINTS> <TYPE OF THE CONSTRAINTS>);
QUERY: 15
SQL>CREATE TABLE EMPLOYEE (EMPNO NUMBER(6),
ENAME VARCHAR2(20),
JOB VARCHAR2(6),
SAL NUMBER(7),
DEPTNO NUMBER(5),
CONSTRAINT EMP_EMPNO_PK PRIMARY
KEY(EMPNO));
Table level constraint with alter command (primary key):
Q16. Write a query to create primary constraints with alter command
Syntax for Column level constraints Using Primary key:
SQL:>CREATE <OBJ.TYPE> <OBJ.NAME> (COLUMN NAME.1 <DATATYPE>
(SIZE), COLUMN NAME.1 <DATATYPE> (SIZE) );
SQL> ALTER TABLE <TABLE NAME> ADD CONSTRAINTS <NAME OF THE
CONSTRAINTS> <TYPE OF THE CONSTRAINTS> <COLUMN NAME>);
QUERY: 16
SQL>CREATE TABLE EMPLOYEE(EMPNO NUMBER(5),
ENAME VARCHAR2(6),
JOB VARCHAR2(6),
SAL NUMBER(6),
DEPTNO NUMBER(6));
SQL>ALTER TABLE EMP3 ADD CONSTRAINT EMP3_EMPNO_PK PRIMARY
KEY (EMPNO);
Reference /foreign key constraint
Column level foreign key constraint:
Q.17. Write a query to create foreign key constraints with column level
Parent Table:
Syntax for Column level constraints Using Primary key:
SQL:>CREATE <OBJ.TYPE> <OBJ.NAME> (COLUMN NAME.1 <DATATYPE>
(SIZE)<TYPE OF CONSTRAINTS> , COLUMN NAME.1 <DATATYPE> (SIZE)
……………………………);
Child Table:
Syntax for Column level constraints Using foreign key:
SQL:>CREATE <OBJ.TYPE> <OBJ.NAME> (COLUMN NAME.1 <DATATYPE>
(SIZE), COLUMN NAME2 <DATATYPE> (SIZE) REFERENCES <TABLE NAME>
(COLUMN NAME>.............................................);
QUERY: 17
SQL>CREATE TABLE DEPT(DEPTNO NUMBER(2) PRIMARY
KEY,
DNAME VARCHAR2(20),
LOCATION VARCHAR2(15));
SQL>CREATE TABLE EMP4
(EMPNO NUMBER(3),
DEPTNO NUMBER(2) REFERENCES DEPT(DEPTNO),
DESIGN VARCHAR2(10));
Column level foreign key constraint with naming conversions:
Parent Table:
Syntax for Column level constraints Using Primary key:
Q.18. Write a query to create foreign key constraints with column level
SQL:>CREATE <OBJ.TYPE> <OBJ.NAME> (COLUMN NAME.1 <DATATYPE>
(SIZE)<TYPE OF CONSTRAINTS> , COLUMN NAME.1 <DATATYPE> (SIZE)
……………………………);
Child Table:
Syntax for Column level constraints using foreign key:
SQL:>CREATE <OBJ.TYPE> <OBJ.NAME> (COLUMN NAME.1 <DATATYPE>
(SIZE) , COLUMN NAME2 <DATATYPE> (SIZE) CONSTRAINT <CONST.
NAME> REFERENCES <TABLE NAME> (COLUMN NAME>
……………………………);
QUERY:18
SQL>CREATE TABLE DEPT(DEPTNO NUMBER(2) PRIMARY
KEY,
DNAME VARCHAR2(20),
LOCATION VARCHAR2(15));
SQL>CREATE TABLE EMP4A
(EMPNO NUMBER(3),
DEPTNO NUMBER(2)CONSTRAINT EMP4A_DEPTNO_FK
REFERENCES DEPT(DEPTNO),
DESIGN VARCHAR2(10));
Table Level Foreign Key Constraints
Q.19. Write a query to create foreign key constraints with Table level
Parent Table:
SQL:>CREATE <OBJ.TYPE> <OBJ.NAME> (COLUMN NAME.1 <DATATYPE>
(SIZE)<TYPE OF CONSTRAINTS> , COLUMN NAME.1 <DATATYPE> (SIZE)
……………………………);
Child Table:
Syntax for Table level constraints using foreign key:
SQL:>CREATE <OBJ.TYPE> <OBJ.NAME> (COLUMN NAME.1 <DATATYPE>
(SIZE), COLUMN NAME2 <DATATYPE> (SIZE), CONSTRAINT <CONST.
NAME> REFERENCES <TABLE NAME> (COLUMN NAME> );
QUERY: 19
SQL>CREATE TABLE DEPT
(DEPTNO NUMBER(2) PRIMARY KEY,
DNAME VARCHAR2(20),
LOCATION VARCHAR2(15));
SQL>CREATE TABLE EMP5
(EMPNO NUMBER(3),
DEPTNO NUMBER(2),
DESIGN VARCHAR2(10)CONSTRAINT ENP2_DEPTNO_FK FOREIGN
KEY(DEPT NO)REFERENCESDEPT(DEPTNO));
Table Level Foreign Key Constraints with Alter command
Q.20. Write a query to create foreign key constraints with Table level with alter
command.
Parent Table:
SQL:>CREATE <OBJ.TYPE> <OBJ.NAME> (COLUMN NAME.1 <DATATYPE>
(SIZE)<TYPE OF CONSTRAINTS> , COLUMN NAME.1 <DATATYPE> (SIZE)
……………………………);
Child Table:
Syntax for Table level constraints using foreign key:
SQL:>CREATE <OBJ.TYPE> <OBJ.NAME> (COLUMN NAME.1 <DATATYPE>
(SIZE) , COLUMN NAME2 <DATATYPE> (SIZE));
SQL> ALTER TABLE <TABLE NAME> ADD CONSTRAINT <CONST. NAME>
REFERENCES <TABLE NAME> (COLUMN NAME>);
QUERY:20
SQL>CREATE TABLE DEPT
(DEPTNO NUMBER(2) PRIMARY KEY,
DNAME VARCHAR2(20),
LOCATION VARCHAR2(15));
SQL>CREATE TABLE EMP5
(EMPNO NUMBER(3),
DEPTNO NUMBER(2),
DESIGN VARCHAR2(10));
SQL>ALTER TABLE EMP6 ADD CONSTRAINT EMP6_DEPTNO_FK FOREIGN
KEY(DEPTNO)REFERENCES DEPT(DEPTNO);
Check constraint
Column Level Check Constraint
Q.21. Write a query to create Check constraints with column level
Syntax for clumn level constraints using Check:
SQL:>CREATE <OBJ.TYPE> <OBJ.NAME> (COLUMN NAME.1 <DATATYPE>
(SIZE) CONSTRAINT <CONSTRAINTS NAME> <TYPE OF CONSTRAINTS>
(CONSTRAITNS CRITERIA) , COLUMN NAME2 <DATATYPE> (SIZE));
QUERY:21
SQL>CREATE TABLE EMP7(EMPNO NUMBER(3),
ENAME VARCHAR2(20),
DESIGN VARCHAR2(15),
SAL NUMBER(5)CONSTRAINT EMP7_SAL_CK CHECK(SAL>500 AND
SAL<10001),
DEPTNO NUMBER(2));
Table Level Check Constraint:
Q.22. Write a query to create Check constraints with table level
Syntax for Table level constraints using Check:
SQL:>CREATE <OBJ.TYPE> <OBJ.NAME> (COLUMN NAME.1 <DATATYPE>
(SIZE), (COLUMN NAME2 <DATATYPE> (SIZE), CONSTRAINT
<CONSTRAINTS NAME> <TYPE OF CONSTRAINTS> (CONSTRAITNS
CRITERIA)) ;
QUERY:22
SQL>CREATE TABLE EMP8(EMPNO NUMBER(3),
ENAME VARCHAR2(20),
DESIGN VARCHAR2(15),
SAL NUMBER(5),DEPTNO NUMBER(2),
CONSTRAINTS EMP8_SAL_CK CHECK(SAL>500 AND
SAL<10001));
Check Constraint with Alter Command
Q.23. Write a query to create Check constraints with table level using alter command.
Syntax for Table level constraints using Check:
SQL:>CREATE <OBJ.TYPE> <OBJ.NAME> (COLUMN NAME.1 <DATATYPE>
(SIZE), (COLUMN NAME2 <DATATYPE> (SIZE), CONSTRAINT
<CONSTRAINTS NAME> <TYPE OF CONSTRAINTS> (CONSTRAITNS
CRITERIA)) ;
QUERY:23
SQL>CREATE TABLE EMP9(EMPNO NUMBER,
ENAME VARCHAR2(20),
DESIGN VARCHAR2(15),
SAL NUMBER(5));
SQL>ALTER TABLE EMP9 ADD CONSTRAINTS EMP9_SAL_CK
CHECK(SAL>500 AND SAL<10001);
Unique Constraint
Column Level
Constraint
Q.24. Write a query to create unique constraints with column level
Syntax for Column level constraints with Unique:
SQL :> CREATE <OBJ.TYPE> <OBJ.NAME> (<COLUMN NAME.1>
<DATATYPE> (SIZE) CONSTRAINT <NAME OF CONSTRAINTS>
<CONSTRAINT TYPE>, (COLUMN NAME2 <DATATYPE> (SIZE)) ;
QUERY:24
SQL>CREATE TABLE EMP10(EMPNO NUMBER(3),
ENAME VARCHAR2(20),
DESGIN VARCHAR2(15)CONSTRAINT EMP10_DESIGN_UK UNIQUE,
SAL NUMBER(5));
Table Level Constraint
Q.25. Write a query to create unique constraints with table level
Syntax for Table level constraints with Unique:
SQL :> CREATE <OBJ.TYPE> <OBJ.NAME> (<COLUMN NAME.1>
<DATATYPE> (SIZE), (COLUMN NAME2 <DATATYPE> (SIZE), CONSTRAINT
<NAME OF CONSTRAINTS> <CONSTRAINT TYPE>(COLUMN NAME);) ;
QUERY:25
SQL>CREATE TABLE EMP11(EMPNO NUMBER(3),
ENAME VARCHAR2(20),
DESIGN VARCHAR2(15),
SAL NUMBER(5),CONSTRAINT EMP11_DESIGN_UK UNIGUE(DESIGN));
Table Level Constraint Alter Command
Q.26. 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)) ;
SQL> ALTER TABLE ADD <CONSTRAINTS> <CONSTRAINTS NAME>
<CONSTRAINTS TYPE>(COLUMN NAME);
QUERY:26
SQL>CREATE TABLE EMP12
(EMPNO NUMBER(3),
ENAME VARCHAR2(20),
DESIGN VARCHAR2(15),
SAL NUMBER(5));
SQL>ALTER TABLE EMP12 ADD CONSTRAINT EMP12_DESIGN_UK
UNIQUE(DESING);
Not Null
Column Level Constraint
Q.27. Write a query to create Not Null constraints with column level
Syntax for Column level constraints with Not Null:
SQL :> CREATE <OBJ.TYPE> <OBJ.NAME> (<COLUMN NAME.1>
<DATATYPE> (SIZE) CONSTRAINT <NAME OF CONSTRAINTS>
<CONSTRAINT TYPE>, (COLUMN NAME2 <DATATYPE> (SIZE)) ;
QUERY: 27
SQL>CREATE TABLE EMP13
(EMPNO NUMBER(4),
ENAME VARCHAR2(20) CONSTRAINT EMP13_ENAME_NN NOT NULL,
DESIGN VARCHAR2(20),
SAL NUMBER(3));
Null
Column Level Constraint
Q.28. Write a query to create Null constraints with column level
Syntax for Column level constraints with Null:
SQL :> CREATE <OBJ.TYPE> <OBJ.NAME> (<COLUMN NAME.1>
<DATATYPE> (SIZE) CONSTRAINT <NAME OF CONSTRAINTS>
<CONSTRAINT TYPE>, (COLUMN NAME2 <DATATYPE> (SIZE)) ;
QUERY:28
SQL>CREATE TABLE EMP13
(EMPNO NUMBER(4),
ENAME VARCHAR2(20) CONSTRAINT EMP13_ENAME_NN NULL,
DESIGN VARCHAR2(20),
SAL NUMBER(3));
Constraint Disable \ Enable
Constraint
Disable
Q.29. Write a query to disable the constraints
Syntax for disabling a single constraint in a table:
SQL>ALTER TABLE <TABLE-NAME> DISABLE CONSTRAINT <CONSTRAINT-
NAME>
Constraint Enable
QUERY:29
SQL>ALTER TABLE EMP13 DISABLE CONSTRAINT EMP13_ENAME_NN
NULL;
Q.30. Write a query to enable the constraints
Syntax for disabling a single constraint in a table:
SQL>ALTER TABLE <TABLE-NAME> DISABLE CONSTRAINT <CONSTRAINT-
NAME>
QUERY:30
SQL>ALTER TABLE EMP13 ENABLE CONSTRAINT EMP13_ENAME_NN
NULL;
EX: NO: 2
Database design using Conceptual modeling (ER-EER) – top-down approach Mapping
conceptual to relational database and validate using Normalization
AIM:
To execute and verify the DML and TCL Language commands
DML (DATA MANIPULATION LANGUAGE)
❖ SELECT
❖ INSERT
❖ DELETE
❖ UPDATE
TCL (TRANSACTION CONTROL LANGUAGE)
❖ COMMIT
❖ ROLL BACK
❖ SAVE POINT
PROCEDURE
STEP 1: Start
STEP 2: Create the table with its essential attributes.
STEP 3: Insert the record into table
STEP 4: Update the existing records into the table
STEP 5: Delete the records in to the table
STEP 6: use save point if any changes occur in any portion of the record to undo its
original state.
STEP 7: use rollback for completely undo the records
STEP 6: use commit for permanently save the records.
SQL COMMANDS
1. COMMAND NAME: INSERT
COMMAND DESCRIPTION: INSERT command is used to Insert objects
in the database.
2. COMMAND NAME: SELECT
COMMAND DESCRIPTION: SELECT command is used to SELECT the object from
the database.
3. COMMAND NAME: UPDATE
COMMAND DESCRIPTION: UPDATE command is used to UPDATE
the records from the table
4. COMMAND NAME: DELETE
COMMAND DESCRIPTION: DELETE command is used to DELETE the
Records form the table
5. COMMAND NAME: COMMIT
COMMAND DESCRIPTION: COMMIT command is used to save the
Records.
6. COMMAND NAME: ROLLBACK
COMMAND DESCRIPTION: ROLL BACK command is used to undo the
Records.
6. COMMAND NAME: SAVE POINT
COMMAND DESCRIPTION: SAVE POINT command is used to undo the
Records in a particular transaction.
INSERT
QUERY: 01
Q1. Write a query to insert the records in to employee.
Syntax for Insert Records in to a table:
SQL :> INSERT INTO <TABLE NAME> VALUES< VAL1, ‘VAL2’,…..);
QUERY: 01
INSERT A RECORD FROM AN EXISTING TABLE:
SQL>INSERT INTO EMP VALUES(101,'NAGARAJAN','LECTURER',15000);
1 row created.
SELECT
QUERY: 02
Q3. Write a query to display the records from employee.
Syntax for select Records from the table:
SQL> SELECT * FROM <TABLE NAME>;
QUERY: 02
DISPLAY THE EMP TABLE:
SQL> SELECT * FROM EMP;
EMPNO ENAME DESIGNATIN SALARY
101 NAGARAJAN LECTURER 15000
INSERT A RECORD USING SUBSITUTION METHOD
QUERY: 03
Q3. Write a query to insert the records in to employee using substitution method.
Syntax for Insert Records into the table:
SQL :> INSERT INTO <TABLE NAME> VALUES< ‘&column name’, ‘&column
name 2’,…..);
QUERY: 03
SQL> INSERT INTO EMP
VALUES(&EMPNO,'&ENAME','&DESIGNATIN','&SALARY');
Enter value for empno: 102
Enter value for ename: SARAVANAN
Enter value for designatin: LECTURER
Enter value for salary: 15000
old 1: INSERT INTO EMP
VALUES(&EMPNO,'&ENAME','&DESIGNATIN','&SALARY')
new 1: INSERT INTO EMP VALUES(102,'SARAVANAN','LECTURER','15000')
1 row created.
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> /
Enter value for empno: 104
Enter value for ename: CHINNI
Enter value for designatin: HOD, PROF
Enter value for salary: 45000
old 1: INSERT INTO EMP
VALUES(&EMPNO,'&ENAME','&DESIGNATIN','&SALARY')
new 1: INSERT INTO EMP VALUES(104,'CHINNI','HOD, PROF','45000')
1 row created.
SQL> SELECT * FROM EMP;
EMPNO ENAME DESIGNATIN SALARY
101 NAGARAJAN LECTURER 15000
102 SARAVANAN LECTURER 15000
103 PANNERSELVAM ASST. PROF 20000
104 CHINNI HOD, PROF 45000
UPDATE
QUERY: 04
Q1. Write a query to update the records from employee.
Syntax for update Records from the table:
SQL> UPDATE <<TABLE NAME> SET <COLUMNANE>=<VALUE> WHERE
<COLUMN NAME=<VALUE>;
QUERY: 04
SQL> UPDATE EMP SET SALARY=16000 WHERE EMPNO=101;
1 row updated.
SQL> SELECT * FROM EMP;
EMPNO ENAME DESIGNATIN SALARY
101 NAGARAJAN LECTURER 16000
102 SARAVANAN LECTURER 15000
103 PANNERSELVAM ASST. PROF 20000
104 CHINNI HOD, PROF 45000
UPDATE MULTIPLE COLUMNS
QUERY: 05
Q5. Write a query to update multiple records from employee.
Syntax for update multiple Records from the table:
SQL> UPDATE <<TABLE NAME> SET <COLUMNANE>=<VALUE> WHERE
<COLUMN NAME=<VALUE>;
QUERY: 05
SQL>UPDATE EMP SET SALARY = 16000, DESIGNATIN='ASST. PROF' WHERE
EMPNO=102;
1 row updated.
SQL> SELECT * FROM EMP;
EMPNO ENAME DESIGNATIN SALARY
101 NAGARAJAN LECTURER 16000
102 SARAVANAN ASST. PROF 16000
103 PANNERSELVAM ASST. PROF 20000
104 CHINNI HOD, PROF 45000
DELETE
QUERY: 06
Q5. Write a query to delete records from employee.
Syntax for delete Records from the table:
SQL> DELETE <TABLE NAME> WHERE <COLUMN NAME>=<VALUE>;
QUERY: 06
SQL> DELETE EMP WHERE EMPNO=103;
1 row deleted.
SQL> SELECT * FROM EMP;
EMPNO ENAME DESIGNATIN SALARY
101 NAGARAJAN LECTURER 16000
102 SARAVANAN ASST. PROF 16000
104 CHINNI HOD, PROF 45000
TCL(TRNSACTION CONTROL LANGUAGE)
SAVEPOINT:
QUERY: 07
Q5. Write a query to implement the save point.
Syntax for save point:
SQL> SAVEPOINT <SAVE POINT NAME>;
QUERY: 07
SQL> SAVEPOINT S1;
Savepoint created.
SQL> SELECT * FROM EMP;
EMPNO ENAME DESIGNATIN SALARY
-
101 NAGARAJAN LECTURER 16000
102 SARAVANAN ASST. PROF 16000
104 CHINNI HOD, PROF 45000
SQL> INSERT INTO EMP VALUES(105,'PARTHASAR','STUDENT',100);
1 row created.
SQL> SELECT * FROM EMP;
EMPNO ENAME DESIGNATIN SALARY
105 PARTHASAR STUDENT 100
101 NAGARAJAN LECTURER 16000
102 SARAVANAN ASST. PROF 16000
104 CHINNI HOD, PROF 45000
ROLL BACK
QUERY: 08
Q5. Write a query to implement the Rollback.
Syntax for save point:
SQL> ROLL BACK <SAVE POINT NAME>;
QUERY: 08
SQL> ROLL BACK S1;
Rollback complete.
SQL> SELECT * FROM EMP;
EMPNO ENAME DESIGNATIN SALARY
101 NAGARAJAN LECTURER 16000
102 SARAVANAN ASST. PROF 16000
103 PANNERSELVAM ASST. PROF 20000
104 CHINNI HOD, PROF 45000
COMMIT
QUERY: 09
Q5. Write a query to implement the Rollback.
Syntax for commit:
SQL> COMMIT;
QUERY: 09
SQL> COMMIT;
Commit complete.
DCL (DATA CONTROL LANGUAGE)
CREATING A USER
SQL>CONNECT SYSTEM/MANAGER;
SQL>CREATE USER "USERNAME" IDENTIFIED BY "PASSWORD"
SQL>GRANT DBA TO "USERNAME"
SQL>CONNECT "USERNAME"/"PASSWORD";
EXAMPLE
CREATING A USER
SQL>CONNECT SYSTEM/MANAGER;
SQL>CREATE USER CSE2 IDENTIFIED BY CSECSE;
SQL>GRANT DBA TO CSE2;
SQL>CONNECT CSE2/CSECSE;
SQL>REVOKE DBA FROM CSE2;
DRL-DATA RETRIEVAL IMPLEMENTING ON SELECT
COMMANDS
SQL> select * from emp;
EMPNO ENAME JOB MGR HIREDATE SAL DEPTNO
7369 SMITH CLERK 7902 17-DEC-80 800 2000
7499 ALLEN SALESMAN 7698 20-FEB-81 1600 3000
7521 WARD SALESMAN 7698 22-FEB-81 1250 5000
7566 JONES MANAGER 7839 02-APR-81 2975 2000
4 rows selected.
SQL> select empno,ename,sal from emp;
EMPNO ENAME SAL
7369 SMITH 800
7499 ALLEN 1600
7521 WARD 1250
7566 JONES 2975
SQL>select ename,job,sal,deptno from emp where sal not between 1500 and 5000;
ENAME JOB SAL DEPTNO
SMITH CLERK 800 20
WARD SALESMAN 1250 30
MARTIN SALESMAN 1250 30
ADAMS CLERK 1100 20
JAMES CLERK 950 30
MILLER CLERK 1300 10
6 rows selected.
SQL> select empno,ename,sal from emp where sal in (800,5000);
EMPNO ENAME SAL
7369 SMITH 800
7839 KING 5000
SQL> select empno,ename,sal from emp where comm is null;
EMPNO ENAME SAL
7369 SMITH 800
7566 JONES 2975
7698 BLAKE 2850
7782 CLARK 2450
7788 SCOTT 3000
7839 KING 5000
7876 ADAMS 1100
7900 JAMES 950
7902 FORD 3000
7934 MILLER 1300
10 rows selected.
SQL> select empno,ename,sal from emp where comm is not null;
EMPNO ENAME SAL
7499 ALLEN 1600
7521 WARD 1250
7654 MARTIN 1250
7844 TURNER 1500
SQL> select empno,ename,job,sal from emp where ename like'S%';
EMPNO ENAME JOB SAL
7369 SMITH CLERK 800
7788 SCOTT ANALYST 3000
SQL> select empno,ename,job,sal from emp where job not like'S%';
EMPNO ENAME JOB SAL
7369 SMITH CLERK 800
7566 JONES MANAGER 2975
7698 BLAKE MANAGER 2850
7782 CLARK MANAGER 2450
7788 SCOTT ANALYST 3000
SQL> select ename,job,sal from emp where sal>2500;
ENAME JOB SAL
JONES MANAGER 2975
BLAKE MANAGER 2850
SCOTT ANALYST 3000
KING PRESIDENT 5000
FORD ANALYST 3000
SQL> select ename,job,sal from emp where sal<2500;
ENAME JOB SAL
SMITH CLERK 800
ALLEN SALESMAN 1600
WARD SALESMAN 1250
MARTIN SALESMAN 1250
CLARK MANAGER 2450
TURNER SALESMAN 1500
ADAMS CLERK 1100
JAMES CLERK 950
MILLER CLERK 1300
9 rows selected.
SQL> select empno,ename,job,sal from emp order by sal;
EMPNO ENAME JOB SAL
7369 SMITH CLERK 800
7900 JAMES CLERK 950
7876 ADAMS CLERK 1100
7521 WARD SALESMAN 1250
7654 MARTIN SALESMAN 1250
7934 MILLER CLERK 1300
7844 TURNER SALESMAN 1500
7499 ALLEN SALESMAN 1600
7782 CLARK MANAGER 2450
7698 BLAKE MANAGER 2850
7566 JONES MANAGER 2975
EMPNO ENAME JOB SAL
7788 SCOTT ANALYST 3000
7902 FORD ANALYST 3000
7839 KING PRESIDENT 5000
14 rows selected.
SQL> select empno,ename,job,sal from emp order by sal desc;
EMPNO ENAME JOB SAL
7839 KING PRESIDENT 5000
7788 SCOTT ANALYST 3000
7902 FORD ANALYST 3000
7566 JONES MANAGER 2975
7698 BLAKE MANAGER 2850
7782 CLARK MANAGER 2450
7499 ALLEN SALESMAN 1600
7844 TURNER SALESMAN 1500
7934 MILLER CLERK 1300
7521 WARD SALESMAN 1250
7654 MARTIN SALESMAN 1250
EMPNO ENAME JOB SAL
7876 ADAMS CLERK 1100
7900 JAMES CLERK 950
7369 SMITH CLERK 800
14 rows selected.
EX: NO: 3 Implement the database using SQL Data definition with
constraints, Views
AIM
To execute and verify the SQL commands for Nested Queries.
OBJECTIVE:
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.
PROCEDURE
STEP 1: Start
STEP 2: Create two different tables with its essential attributes.
STEP 3: Insert attribute values into the table.
STEP 4: Create the Nested query from the above created table.
STEP 5: Execute Command and extract information from the tables.
STEP 6: Stop
SQL COMMANDS
1. COMMAND NAME: SELECT
COMMAND DESCRIPTION: SELECT command is used to select records from the table.
2. COMMAND NAME: WHERE
COMMAND DESCRIPTION: WHERE command is used to identify particular elements.
3. COMMAND NAME: HAVING
COMMAND DESCRIPTION: HAVING command is used to identify particular elements.
4. COMMAND NAME: MIN (SAL)
COMMAND DESCRIPTION: MIN (SAL) command is used to find minimum salary.
Table -1
SYNTAX FOR CREATING A TABLE:
SQL: CREATE <OBJ.TYPE> <OBJ.NAME> (COLUMN NAME.1 <DATATYPE>
(SIZE), COLUMN NAME.1 <DATATYPE> (SIZE)............................................);
SQL> CREATE TABLE EMP2(EMPNO NUMBER(5),
ENAME VARCHAR2(20),
JOB VARCHAR2(20),
SAL NUMBER(6),
MGRNO NUMBER(4),
DEPTNO NUMBER(3));
SYNTAX FOR INSERT RECORDS IN TO A TABLE:
SQL :> INSERT INTO <TABLE NAME> VALUES< VAL1, ‘VAL2’,…..);
INSERTION
SQL> INSERT INTO EMP2 VALUES(1001,'MAHESH','PROGRAMMER',15000,1560,200);
1 ROW CREATED.
SQL> INSERT INTO EMP2 VALUES(1002,'MANOJ','TESTER',12000,1560,200);
1 ROW CREATED.
SQL> INSERT INTO EMP2 VALUES(1003,'KARTHIK','PROGRAMMER',13000,1400,201);
1 ROW CREATED.
SQL> INSERT INTO EMP2 VALUES(1004,'NARESH','CLERK',1400,1400,201);
1 ROW CREATED.
SQL> INSERT INTO EMP2 VALUES(1005,'MANI','TESTER',13000,1400,200);
1 ROW CREATED.
SQL> INSERT INTO EMP2 VALUES(1006,'VIKI','DESIGNER',12500,1560,201);
1 ROW CREATED.
SQL> INSERT INTO EMP2 VALUES(1007,'MOHAN','DESIGNER',14000,1560,201);
1 ROW CREATED.
SQL> INSERT INTO EMP2 VALUES(1008,'NAVEEN','CREATION',20000,1400,201);
1 ROW CREATED.
SQL> INSERT INTO EMP2 VALUES(1009,'PRASAD','DIR',20000,1560,202);
1 ROW CREATED.
SQL> INSERT INTO EMP2 VALUES(1010,'AGNESH','DIR',15000,1400,200);
1 ROW CREATED.
SYNTAX FOR SELECT RECORDS FROM THE TABLE:
SQL> SELECT * FROM <TABLE NAME>;
SQL> SELECT *FROM EMP2;
EMPNO ENAME JOB SAL MGRNO DPTNO
1001 MAHESH PROGRAMMER 15000 1560 200
1002 MANOJ TESTER 12000 1560 200
1003 KARTHIK PROGRAMMER 13000 1400 201
1004 NARESH CLERK 1400 1400 201
1005 MANI TESTER 13000 1400 200
1006 VIKI DESIGNER 12500 1560 201
1007 MOHAN DESIGNER 14000 1560 201
1008 NAVEEN CREATION 20000 1400 201
1009 PRASAD DIR 20000 1560 202
1010 AGNESH DIR 15000 1400 200
TABLE- 2
SYNTAX FOR CREATING A TABLE:
SQL: CREATE <OBJ.TYPE> <OBJ.NAME> (COLUMN NAME.1 <DATATYPE>
(SIZE), COLUMN NAME.1 <DATATYPE> (SIZE)............................................);
SQL> CREATE TABLE DEPT2(DEPTNO NUMBER(3),
DEPTNAME VARCHAR2(10),
LOCATION VARCHAR2(15));
Table created.
SYNTAX FOR INSERT RECORDS IN TO A TABLE:
SQL :> INSERT INTO <TABLE NAME> VALUES< VAL1, ‘VAL2’,…..);
INSERTION
SQL> INSERT INTO DEPT2 VALUES(107,'DEVELOP','ADYAR');
1 ROW CREATED.
SQL> INSERT INTO DEPT2 VALUES(201,'DEBUG','UK');
1 ROW CREATED.
SQL> INSERT INTO DEPT2 VALUES(200,'TEST','US');
SQL> INSERT INTO DEPT2 VALUES(201,'TEST','USSR');
1 ROW CREATED.
SQL> INSERT INTO DEPT2 VALUES(108,'DEBUG','ADYAR');
1 ROW CREATED.
SQL> INSERT INTO DEPT2 VALUES(109,'BUILD','POTHERI');
1 ROW CREATED.
SYNTAX FOR SELECT RECORDS FROM THE TABLE:
SQL> SELECT * FROM <TABLE NAME>;
SQL> SELECT *FROM DEPT2;
DEPTNO DEPTNAME LOCATION
107 DEVELOP ADYAR
201 DEBUG UK
200 TEST US
201 TEST USSR
108 DEBUG ADYAR
109 BUILD POTHERI
6 rows selected.
GENERAL SYNTAX FOR NESTED QUERY:
SELECT "COLUMN_NAME1"
FROM "TABLE_NAME1"
WHERE "COLUMN_NAME2" [COMPARISON OPERATOR]
(SELECT "COLUMN_NAME3"
FROM "TABLE_NAME2"
WHERE [CONDITION])
SYNTAX NESTED QUERY STATEMENT:
SQL> SELECT <COLUMN_NAME> FROM FRORM <TABLE _1> WHERE
<COLUMN_NAME> <RELATIONAL _OPERATION> ‘VALUE’
(SELECT (AGGRECATE FUNCTION) FROM <TABLE_1> WHERE <COLUMN
NAME> = ‘VALUE’
(SELECT <COLUMN_NAME> FROM <TABLE_2> WHERE <COLUMN_NAME=
‘VALUE’));
NESTED QUERY STATEMENT:
SQL> SELECT ENAME FROM EMP2 WHERE SAL>
(SELECT MIN(SAL) FROM EMP2 WHERE DPTNO=
(SELECT DEPTNO FROM DEPT2 WHERE LOCATION='UK'));
Nested Query Output:
ENAME
MAHESH
MANOJ
KARTHIK
MANI
VIKI
MOHAN
NAVEEN
PRASAD
AGNESH
EX: NO: 4 Query the database using SQL Manipulation
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
COMMANDS EXECUTION
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
INSERTION INTO VIEW
INSERT STATEMENT:
SYNTAX:
SQL> INSERT INTO <VIEW_NAME> (COLUMN NAME1,………)
VALUES(VALUE1,….);
SQL> INSERT INTO EMPVIEW VALUES ('SRI', 120,'CSE', 67,'16-NOV-1981');
1 ROW CREATED.
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
SRI 120 CSE 67
SQL> SELECT * FROM EMPLOYEE;
EMPLOYEE_N EMPLOYEE_NO DEPT_NAME DEPT_NO DATE_OF_J
RAVI 124 ECE 89 15-JUN-05
VIJAY 345 CSE 21 21-JUN-06
RAJ 98 IT 22 30-SEP-06
GIRI 100 CSE 67 14-NOV-81
SRI 120 CSE 67 16-NOV-81
DELETION OF VIEW:
DELETE STATEMENT:
SYNTAX:
SQL> DELETE <VIEW_NMAE>WHERE <COLUMN NMAE> =’VALUE’;
SQL> DELETE FROM EMPVIEW WHERE EMPLOYEE_NAME='SRI';
1 ROW DELETED.
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
UPDATE STATEMENT:
SYNTAX:
AQL>UPDATE <VIEW_NAME> SET< COLUMN NAME> = <COLUMN NAME>
+<VIEW> WHERE <COLUMNNAME>=VALUE;
SQL> UPDATE EMPKAVIVIEW SET EMPLOYEE_NAME='KAVI' WHERE
EMPLOYEE_NAME='RAVI';
1 ROW UPDATED.
SQL> SELECT * FROM EMPKAVIVIEW;
EMPLOYEE_N EMPLOYEE_NO DEPT_NAME DEPT_NO
KAVI 124 ECE 89
VIJAY 345 CSE 21
RAJ 98 IT 22
GIRI 100 CSE 67
DROP A VIEW:
SYNTAX:
SQL> DROP VIEW <VIEW_NAME>
EXAMPLE
SQL>DROP VIEW EMPVIEW;
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.
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
COMPILING A VIEW
SYNTAX:
ALTER VIEW <VIEW_NAME> COMPILE;
EXAMPLE:
SQL> ALTER VIEW MYVIEW COMPILE;
RESULT: Thus the SQL commands for View has been verified and executed successfully.
EX: NO: 5 Querying/Managing the database using SQL Programming - Stored
Procedures/Functions - Constraints and security using Triggers
AIM
To write a PL/SQL block using different control (if, if else, for loop, while loop,…)
statements.
OBJECTIVE:
PL/SQL Control Structure provides conditional tests, loops, flow control and branches that
let to produce well-structured programs.
Addition of Two Numbers:
1. Write a PL/SQL Program for Addition of Two Numbers
PROCEDURE
STEP 1: Start
STEP 2: Initialize the necessary variables.
STEP 3: Develop the set of statements with the essential operational parameters.
STEP 4: Specify the Individual operation to be carried out.
STEP 5: Execute the statements.
STEP 6: Stop.
PL/ SQL General Syntax
SQL> DECLARE
<VARIABLE DECLARATION>;
BEGIN
<EXECUTABLE STATEMENT >;
END;
PL/SQL CODING FOR ADDITION OF TWO NUMBERS
SQL> declare
a number;
b number;
c number;
begin
a:=&a;
b:=&b;
c:=a+b;
dbms_output.put_line('sum of'||a||'and'||b||'is'||c);
end;
/
INPUT:
Enter value for a: 23
old 6: a:=&a;
new 6: a:=23;
Enter value for b: 12
old 7: b:=&b;
new 7: b:=12;
OUTPUT:
sum of23and12is35
PL/SQL procedure successfully completed.
PL/ SQL Program for IF Condition:
2. Write a PL/SQL Program using if condition
PROCEDURE
STEP 1: Start
STEP 2: Initialize the necessary variables.
STEP 3: invoke the if condition.
STEP 4: Execute the statements.
STEP 5: Stop.
PL/ SQL GENERAL SYNTAX FOR IF CONDITION:
SQL> DECLARE
<VARIABLE DECLARATION>;
BEGIN
IF(CONDITION)THEN
<EXECUTABLE STATEMENT >;
END;
Coding for If Statement:
DECLARE
b number;
c number;
BEGIN
B:=10;
C:=20;
if(C>B) THEN
dbms_output.put_line('C is maximum');
end if;
end;
/
OUTPUT:
C is maximum
PL/SQL procedure successfully completed.
PL/ SQL GENERAL SYNTAX FOR IF AND ELSECONDITION:
SQL> DECLARE
<VARIABLE DECLARATION>;
BEGIN
IF (TEST CONDITION) THEN
<STATEMENTS>;
ELSE
<STATEMENTS>;
ENDIF;
END;
******************Less then or Greater Using IF ELSE **********************
SQL> declare
n number;
begin
dbms_output. put_line('enter a number');
n:=&number;
if n<5 then
dbms_output.put_line('entered number is less than 5');
else
dbms_output.put_line('entered number is greater than 5');
end if;
end;
/
Input
Enter value for number: 2
old 5: n:=&number;
new 5: n:=2;
Output:
entered number is less than 5
PL/SQL procedure successfully completed.
PL/ SQL GENERAL SYNTAX FOR NESTED IF:
SQL> DECLARE
<VARIABLE DECLARATION>;
BEGIN
IF (TEST CONDITION) THEN
<STATEMENTS>;
ELSEIF (TEST CONDITION) THEN
<STATEMENTS>;
ELSE
<STATEMENTS>;
ENDIF;
END;
********** GREATEST OF THREE NUMBERS USING IF ELSEIF************
SQL> declare
a number;
b number;
c number;
d number;
begin
a:=&a;
b:=&b;
c:=&b;
if(a>b)and(a>c) then
dbms_output.put_line('A is maximum');
elsif(b>a)and(b>c)then
dbms_output.put_line('B is maximum');
else
dbms_output.put_line('C is maximum');
end if;
end;
/
INPUT:
Enter value for a: 21
old 7: a:=&a;
new 7: a:=21;
Enter value for b: 12
old 8: b:=&b;
new 8: b:=12;
Enter value for b: 45
old 9: c:=&b;
new 9: c:=45;
OUTPUT:
C is maximum
PL/SQL procedure successfully completed.
PL/ SQL GENERAL SYNTAX FOR LOOPING STATEMENT:
SQL> DECLARE
<VARIABLE DECLARATION>;
BEGIN
LOOP
<STATEMENT>;
END LOOP;
<EXECUTAVLE STATEMENT>;
END;
***********SUMMATION OF ODD NUMBERS USING FOR LOOP***********
SQL> declare
n number;
sum1 number default 0;
endvalue number;
begin
endvalue:=&endvalue;
n:=1;
for n in 1..endvalue
loop
if mod(n,2)=1
then
sum1:=sum1+n;
end if;
end loop;
dbms_output.put_line('sum ='||sum1);
end;
/
INPUT:
Enter value for endvalue: 4
old 6: endvalue:=&endvalue;
new 6: endvalue:=4;
OUTPUT:
sum =4
PL/SQL procedure successfully completed.
PL/ SQL GENERAL SYNTAX FOR LOOPING STATEMENT:
SQL> DECLARE
<VARIABLE DECLARATION>;
BEGIN
WHILE <condition>
LOOP
<STATEMENT>;
END LOOP;
<EXECUTAVLE STATEMENT>;
END;
*********SUMMATION OF ODD NUMBERS USING WHILE LOOP**********
SQL> declare
n number;
sum1 number default 0;
endvalue number;
begin
endvalue:=&endvalue;
n:=1;
while(n<endvalue)
loop
sum1:=sum1+n;
n:=n+2;
end loop;
dbms_output.put_line('sum of odd no. bt 1 and' ||endvalue||'is'||sum1);
end;
/
INPUT:
Enter value for endvalue: 4
old 6: endvalue:=&endvalue;
new 6: endvalue:=4;
OUTPUT:
sum of odd no. bt 1 and4is4
PL/SQL procedure successfully completed.
RESULT:
Thus the PL/SQL block for different controls are verified and executed.
EX:NO:6 Database design using Normalization – bottom-up approach
AIM
To design a form using different tools in Visual Basic.
PROCEDURE
STEP 1: Start
STEP 2: Create the form with essential controls in tool box.
STEP 3: Write the code for doing the appropriate functions.
STEP 4: Save the forms and project.
STEP 5: Execute the form .
STEP 6: Stop
CODING:
Private Sub Calendar1_Click()
Text3.Text = Calendar1.Value
End Sub
Private Sub Combo1_Change()
Combo1.AddItem "BSC"
Combo1.AddItem "MSC"
Combo1.AddItem "BE"
Combo1.AddItem "ME"
End Sub
Private Sub Command1_Click()
List1.AddItem Text1.Text
List1.AddItem Text2.Text
If Option1.Value = True Then
gender = "male"
End If
If Option2.Value = True Then
gender = "female"
End If
List1.AddItem gender
List1.AddItem Text3.Text
If Check1.Value = 1 And Check2.Value = 1 Then
area = "software Engineering & Networks"
End If
If Check1.Value = 0 And Check2.Value = 1 Then
area = " Networks"
End If
List1.AddItem area
List1.AddItem Text4.Text
End Sub
Private Sub Command2_Click()
End
End Sub
Private Sub Command3_Click()
If List1.ListIndex <> 0 Then
List1.RemoveItem (0)
End If
End Sub
Private Sub Form_Load()
Label10.Caption = Date$
MsgBox "Welcome to Registration"
End Sub
Private Sub Option1_Click()
If (Option1.Value = True) Then
MsgBox ("You have selected Male")
ElseIf (Option2.Value = True) Then
MsgBox ("You have selected Female")
End If
End Sub
Private Sub Option2_Click()
If (Option1.Value = True) Then
MsgBox ("You have selected Male")
ElseIf (Option2.Value = True) Then
MsgBox ("You have selected Female")
End If
End Sub
REGISTRATION FORM:
RESULT: Thus the program has been loaded and executed successfully.
EX: NO:7 Develop database applications using IDE/RAD tools (Eg.,
NetBeans,VisualStudio)
AIM
To design a Single Document Interface and Multiple Document Interface forms using
Visual Basic.
PROCEDURE
STEP 1: Start
STEP 2: Create the form with essential controls in tool box.
STEP 3: Write the code for doing the appropriate functions.
STEP 4: Save the forms and project.
STEP 5: Execute the form.
STEP 6: Stop
EXECUTION
Code for Dialog Menu:
Private Sub OKButton_Click()
If (Option1.Value = True) Then
SDI.Show
Unload Me
Else
MDIForm1.Show
Unload Me
End If
End Sub
Code for MDI Menu:
Private Sub ADD_Click()
MDIADD.Show
End Sub
Private Sub DIV_Click()
MDIDIV.Show
End Sub
Private Sub EXIT_Click()
End
End Sub
Private Sub MUL_Click()
MDIMUL.Show
End Sub
Private Sub SUB_Click()
MDISUB.Show
End Sub
Code for MDI ADD:
Private Sub Command1_Click()
Dim a As Integer
a = Val(Text1.Text) + Val(Text2.Text)
MsgBox ("Addition of Two numbers is" + Str(a))
End Sub
Private Sub Command5_Click()
MDIForm1.Show
End Sub
Code for MDI DIV:
Private Sub Command1_Click()
Dim a As Integer
a = Val(Text1.Text) / Val(Text2.Text)
MsgBox ("Addition of Two numbers is" + Str(a))
End Sub
Private Sub Command5_Click()
MDIForm1.Show
End Sub
Code for MDI MUL:
Private Sub Command1_Click()
Dim a As Integer
a = Val(Text1.Text) * Val(Text2.Text)
MsgBox ("Addition of Two numbers is" + Str(a))
End Sub
Private Sub Command5_Click()
MDIForm1.Show
End Sub
Code for MDI SUB:
Private Sub Command1_Click()
Dim a As Integer
a = Val(Text1.Text) - Val(Text2.Text)
MsgBox ("Addition of Two numbers is" + Str(a))
End Sub
Private Sub Command5_Click()
MDIForm1.Show
End Sub
Code for SDI MENU:
Private Sub Command1_Click()
SDIADD.Show
End Sub
Private Sub Command2_Click()
SDIMUL.Show
End Sub
Private Sub Command3_Click()
SDIDIV.Show
End Sub
Private Sub Command4_Click()
SDISUB.Show
End Sub
Private Sub Command5_Click()
Dialog.Show
Unload Me
End Sub
Code for SDI ADD:
Private Sub Command1_Click()
Dim a As Integer
a = Val(Text1.Text) + Val(Text2.Text)
MsgBox ("Addition of Two numbers is" + Str(a))
Unload Me
End Sub
Private Sub Command5_Click()
SDI.Show
Unload Me
End Sub
Code for SDI DIV:
Private Sub Command2_Click()
a = Val(Text1.Text) / Val(Text2.Text)
MsgBox ("Addition of Two numbers is" + Str(a))
Unload Me
End Sub
Private Sub Command5_Click()
SDI.Show
Unload Me
End Sub
Code for SDI MUL:
Private Sub Command2_Click()
a = Val(Text1.Text) * Val(Text2.Text)
MsgBox ("Addition of Two numbers is" + Str(a))
Unload Me
End Sub
Private Sub Command5_Click()
SDI.Show
Unload Me
End Sub
Code for SDI SUB:
Private Sub Command2_Click()
a = Val(Text1.Text) - Val(Text2.Text)
MsgBox ("Addition of Two numbers is" + Str(a))
Unload Me
End Sub
Private Sub Command5_Click()
SDI.Show
Unload Me
End Sub
Output:
SDI MDI MENU:
SDI MENU:
SDI ADDITION:
SDI DIVISION
SDI MULTIPLICATION
SDI SUBRACTION
MDI MENU:
MDI ADD:
MDI MUL:
MDI DIV
MDI SUB
RESULT: Thus the program has been loaded and executed successfully.
EX: NO: 8 Database design using EER-to-ODB mapping / UML class
diagrams
AIM
To develop and execute a Trigger for Before and After update, Delete, Insert operations on a
table.
PROCEDURE
STEP 1: Start
STEP 2: Initialize the trigger with specific table id.
STEP 3:Specify the operations (update, delete, insert) for which the trigger has to be
executed.
STEP 4: Execute the Trigger procedure for both Before and After sequences
STEP 5: Carryout the operation on the table to check for Trigger execution.
STEP 6: Stop
EXECUTION
1. Create a Trigger to pop-up the DML operations
SQL> create table empa(id number(3),name varchar2(10),income number(4),expence
number(3),savings number(3));
Table created.
SQL> insert into empa values(2,'kumar',2500,150,650);
1 row created.
SQL> insert into empa values(3,'venky',5000,900,950);
1 row created.
SQL> insert into empa values(4,'anish',9999,999,999);
1 row created.
SQL> select * from empa;
ID NAME INCOME EXPENCE SAVINGS
2 kumar 2500 150 650
3 venky 5000 900 950
4 anish 9999 999 999
TYPE 1- TRIGGER AFTER UPDATE
SQL> CREATE OR REPLACE TRIGGER VIJAY
AFTER UPDATE OR INSERT OR DELETE ON EMP
FOR EACH ROW
BEGIN
IF UPDATING THEN
DBMS_OUTPUT.PUT_LINE('TABLE IS UPDATED');
ELSIF INSERTING THEN
DBMS_OUTPUT.PUT_LINE('TABLE IS INSERTED');
ELSIF DELETING THEN
DBMS_OUTPUT.PUT_LINE('TABLE IS DELETED');
END IF;
END;
/
Trigger created.
SQL> update emp set income =900 where empname='kumar';
TABLE IS UPDATED
1 row updated.
SQL> insert into emp values ( 4,'Chandru',700,250,80);
TABLE IS INSERTED
1 row created.
SQL> DELETE FROM EMP WHERE EMPID = 4;
TABLE IS DELETED
1 row deleted.
SQL> select * from emp;
EMPID EMPNAME INCOME EXPENSE SAVINGS
2 vivek 830 150 100
3 kumar 5000 550 50
9 vasanth 987 6554 644
TYPE 2 - TRIGGER BEFORE UPDATE
SQL> CREATE OR REPLACE TRIGGER VASANTH
BEFORE UPDATE OR INSERT OR DELETE ON EMPLOYEE
FOR EACH ROW
BEGIN
IF UPDATING THEN
DBMS_OUTPUT.PUT_LINE('TABLE IS UPDATED');
ELSIF INSERTING THEN
DBMS_OUTPUT.PUT_LINE('TABLE IS INSERTED');
ELSIF DELETING THEN
DBMS_OUTPUT.PUT_LINE('TABLE IS DELETED');
END IF;
END;
/
Trigger created.
SQL> INSERT INTO EMP VALUES (4,'SANKAR',700,98,564);
TABLE IS INSERTED
1 row created.
SQL> UPDATE EMP SET EMPID = 5 WHERE EMPNAME = 'SANKAR';
TABLE IS UPDATED
1 row updated.
SQL> DELETE EMP WHERE EMPNAME='SANKAR';
TABLE IS DELETED
1 row deleted.
2. Create a Trigger to check the age valid or not Using Message Alert
SQL> CREATE TABLE TRIG(NAME CHAR(10),AGE NUMBER(3));
SQL> DESC TRIG;
Table created.
Name Null? Type
NAME CHAR(10)
AGE NUMBER(3)
PROGRAM:
SQL> SET SERVEROUTPUT ON;
SQL> CREATE TRIGGER TRIGNEW
AFTER INSERT OR UPDATE OF AGE ON TRIG
FOR EACH ROW
BEGIN
IF(:NEW.AGE<0) THEN
DBMS_OUTPUT.PUT_LINE('INVALID AGE');
ELSE
DBMS_OUTPUT.PUT_LINE('VALID AGE');
END IF;
END;
/
Trigger created.
SQL> insert into trig values('abc',15);
Valid age
1 row created.
SQL> insert into trig values('xyz',-12);
Invalid age
1 row created.
NAME AGE
abc 15
xyz -12
3. Create a Trigger to check the age valid and Raise appropriate error code and
error message.
SQL> create table data(name char(10),age number(3));
Table created.
SQL> desc data;
Name Null? Type
NAME CHAR(10)
AGE NUMBER(3)
SQL> CREATE TRIGGER DATACHECK
AFTER INSERT OR UPDATE OF AGE ON DATA
FOR EACH ROW
BEGIN
IF(:NEW.AGE<0) THEN
RAISE_APPLICATION_ERROR(-20000,'NO NEGATIVE AGE ALLOWED');
END IF;
END;
/
Trigger created.
SQL> INSERT INTO DATA VALUES('ABC',10);
1 ROW CREATED.
SQL> INSERT INTO DATA VALUES ('DEF',-15)
* ERROR
at line 1:
ORA-20000: No negative age allowed
ORA-06512: at "4039.DATACHECK", line 3
ORA-04088: error during execution of trigger '4039.DATACHECK'
NAME AGE
abc 10
4. Create a Trigger for EMP table it will update another table SALARY while
inserting values.
SQL> CREATE TABLE SRM_EMP2(INAME VARCHAR2(10),
IID NUMBER(5),
SALARY NUMBER(10));
Table created.
SQL> CREATE TABLE SRM_SAL2(INAME VARCHAR2(10),
TOTALEMP NUMBER(5),
TOTALSAL NUMBER(10));
Table created.
SQL> CREATE OR REPLACE TRIGGER EMPTRIGR22 AFTER INSERT ON SRM_EMP2
FOR EACH ROW
DECLARE
A VARCHAR2(10);
BEGIN
A:=:NEW.INAME;
UPDATE SRM_SAL2 SET
TOTALSAL=TOTALSAL+:NEW.SALARY,TOTALEMP=TOTALEMP+1 WHERE
INAME=A;
END;
/
Trigger created.
SQL> INSERT INTO SRM_SAL2 VALUES('VEC',0,0);
1 row created.
SQL> INSERT INTO SRM_SAL2 VALUES('SRM',0,0);
1 row created.
SQL> INSERT INTO SRM_EMP2 VALUES('VEC',100,1000);
1 row created.
SQL> SELECT * FROM SRM_SAL2;
INAME TOTALEMP TOTALSAL
VEC 1 1000
SRM 0 0
SQL> INSERT INTO SRM_EMP2 VALUES('SRM',200,3000);
1 row created.
SQL> SELECT * FROM SRM_SAL2;
INAME TOTALEMP TOTALSAL
VEC 1 1000
SRM 1 3000
SQL> INSERT INTO SRM_EMP2 VALUES('VEC',100,5000);
1 row created.
SQL> SELECT * FROM SRM_SAL2;
INAME TOTALEMP TOTALSAL
VEC 2 6000
SRM 1 3000
SQL> INSERT INTO SRM_EMP2 VALUES('VEC',100,2000);
1 row created.
SQL> SELECT * FROM SRM_SAL2;
INAME TOTALEMP TOTALSAL
VEC 3 8000
SRM 1 3000
SQL> INSERT INTO SRM_EMP2 VALUES('SRM',200,8000);
1 row created.
SQL> SELECT * FROM SRM_SAL2;
INAME TOTALEMP TOTALSAL
VEC 3 8000
SRM 2 11000
RESULT: Thus the Trigger procedure has been executed successfully for both before
and after sequences.
EX:NO:9 Object features of SQL-UDTs and sub-types, Tables using UDTs,
Inheritance, Method definition
AIM
To design a Note Pad Application menu using Visual Basic.
PROCEDURE
STEP 1: Start
STEP 2: Create the form with essential controls and insert the menu using menu editor.
STEP 3: Write the code for doing the appropriate functions.
STEP 4: Save the forms and project.
STEP 5: Execute the form.
STEP 6: Stop
EXECUTION
Coding:
Private Sub ab_Click()
RichTextBox1.SelFontName = "Arial Black"
End Sub
Private Sub al_Click()
End Sub
Private Sub bold_Click()
RichTextBox1.SelBold = True
End Sub
Private Sub cb_Click()
RichTextBox1.SelColor = vbblue
End Sub
Private Sub cl_Click()
RichTextBox1.SelColor = vbred
End Sub
Private Sub copy_Click()
'Clipboard.SetText "richtextbox1.seltext", 1
'MsgBox Clipboard.GetText
Clipboard.SetText RichTextBox1.SelText, 1
RichTextBox1.SelText = Clipboard.GetText
MsgBox Clipboard.GetText
End Sub
Private Sub eighteen_Click()
RichTextBox1.SelFontSize = 18
End Sub
Private Sub exit_Click()
End
End Sub
Private Sub fcg_Click()
RichTextBox1.SelColor = vbgreen
End Sub
Private Sub fourteen_Click()
RichTextBox1.SelFontSize = 14
End Sub
Private Sub helpp_Click()
ans = MsgBox("visual basic sample notepad......!", vbYes + vbinforamtion, "Help")
If ans = vbYes Then
Unload Me
End If
End Sub
Private Sub italic_Click()
RichTextBox1.SelItalic = True
End Sub
Private Sub MC_Click()
RichTextBox1.SelFontName = "Monotype Corsiva"
End Sub
Private Sub new_Click()
RichTextBox1 = ""
End Sub
Private Sub open_Click()
RichTextBox1.LoadFile ("C:\Notepad\Document.rtf")
End Sub
Private Sub paste_Click()
RichTextBox1.SelText = Clipboard.GetText
End Sub
Private Sub save_Click()
RichTextBox1.SaveFile ("C:\Notepad\Document.rtf")
End Sub
Private Sub sixteen_Click()
RichTextBox1.SelFontSize = 16
End Sub
Private Sub Th_Click()
RichTextBox1.SelFontName = "Tahoma"
End Sub
Private Sub tn_Click()
RichTextBox1.SelFontName = "Times New Roman"
End Sub
Private Sub twele_Click()
RichTextBox1.SelFontSize = 12
End Sub
Private Sub underline_Click()
RichTextBox1.SelUnderline = True
End Sub
Private Sub vbblue_Click()
RichTextBox1.SelColor = vbblue
End Sub
Private Sub vbgreen_Click()
RichTextBox1.SelColor = vbgreen
End Sub
Private Sub vbred_Click()
RichTextBox1.SelColor = vbred
End Sub
Output:
File Menu:
Fig.1. File Menu
Edit Menu
Fig.2. Edit Menu
Format Menu:
Fig.3. Format Menu
RESULT: Thus the program has been loaded and executed successfully.
EX: NO: 10 Querying the Object-relational database using Objet Query
language
AIM
To design a report design using Visual Basic.
PROCEDURE
STEP 1: Start
STEP 2: Create the form with essential controls and insert the menu using menu editor.
STEP 3: Write the code for doing the appropriate functions.
STEP 4: Save the forms and project.
STEP 5: Execute the form and generate report
STEP 6: Stop
EXECUTION
Code for progress bar:
Private Sub Form_KeyPress(KeyAscii As Integer)
Unload Me
End Sub
Private Sub Frame1_Click()
Unload Me
frmLogin.Show
End Sub
Private Sub Timer1_Timer()
On Error Resume Next
ProgressBar1.Value = ProgressBar1.Value + 1
If ProgressBar1.Value = 100 Then
login.Show
Unload Me
End If
End Sub
Private Sub Timer2_Timer()
On Error Resume Next
ProgressBar2.Value = ProgressBar2.Value + 1
If ProgressBar2.Value = 100 Then
MsgBox ("welcome")
login.Show
Unload Me
End If
End Sub
Code for login form:
Private Sub Command1_Click()
If (LCase(Text1.Text)) = "nagraaj" And (LCase(Text2.Text)) = "nagraaj" Then
Unload Me
Stock.Show
Else
MsgBox "Please Enter Correct Username and Password"
End If
End Sub
Private Sub Command2_Click()
End
End Sub
Private Sub Text2_KeyPress(KeyAscii As Integer)
If (LCase(Text1.Text)) = "nagraaj" And (LCase(Text2.Text)) = "nagraaj" Then
frmDataEnv.Show
Unload Me
End If
End Sub
Stock Form:
Private Sub cmadd_Click(Index As Integer)
Adodc1.Recordset.AddNew
a = InputBox("ENTER THE PRODUCT CODE")
Text1.Text = a
B = InputBox("ENTER THE PRODUCT NAME")
Text2.Text = B
C = InputBox("ENTER THE MAKE")
Text3.Text = C
D = InputBox("ENTER SUPPLIER")
Text4.Text = D
e = InputBox("ENTER THE QUANTITY")
Text5.Text = e
F = InputBox("ENTER THE PURCHASE DATE")
Text6.Text = F
G = InputBox("ENTER THE PRICE")
Text7.Text = G
H = InputBox("ENTER THE VAT %")
Text8.Text = H
Text8.Text = Val(Text7.Text) / 14
Text9.SetFocus
Text9.Text = Val(Text7.Text) + Val(Text8.Text)
'Adodc1.Recordset.Save
'MsgBox ("UPDATED")
End Sub
Private Sub cmddelete_Click(Index As Integer)
Dim s As String
a = InputBox("Enter The product name")
a = Trim(a)
s = "product_TNAME='" & a '" "
Adodc1.Recordset.Delete
MsgBox ("deleted")
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
Text6.Text = ""
Text7.Text = ""
Text8.Text = ""
Text9.Text = ""
End Sub
Private Sub cmdmovl_Click(Index As Integer)
Adodc1.Recordset.MoveNext
End Sub
Private Sub cmdmovn_Click(Index As Integer)
'dodc1.Recordset.MoveNext
If (Adodc1.Recordset.EOF) = True Then
Adodc1.Recordset.MoveNext
Else
Adodc1.Recordset.MovePrevious
MsgBox ("THIS IS YOUR LAST RECORD")
End If
End Sub
Private Sub cmdmovp_Click(Index As Integer)
'dodc1.Recordset.MovePrevious
If Adodc1.Recordset.BOF = True Then
Adodc1.Recordset.MoveFirst
Else '
Adodc1.Recordset.MoveNext
MsgBox ("THISIS YOUR FIRST RECORD")
End If
End Sub
Private Sub cmdsearch_Click(Index As Integer)
Dim a As String
a = InputBox("Enter Item Code")
s = "Item_code = '" + a + "'"
Adodc1.Recordset.MoveFirst
Adodc1.Recordset.Find s
If Adodc1.Recordset.EOF Then
MsgBox ("INVALID RECORD")
End If
End Sub
Private Sub cmdupadte_Click(Index As Integer)
Adodc1.Recordset.Update
MsgBox ("UPDATED")
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
Text6.Text = ""
Text7.Text = ""
Text8.Text = ""
Text9.Text = ""
End Sub
Private Sub commov_Click(Index As Integer)
Adodc1.Recordset.MoveFirst
End Sub
Private Sub Command1_Click()
Dim a As String
a = InputBox("Enter Item Code")
s = "Item_code = '" + a + "'"
Adodc1.Recordset.MoveFirst
Adodc1.Recordset.Find s
'Adodc1.Recordset ("select * from t1 where [ITEM_CODE] = " & Text1.Text(0) & "")
DataReport1.Show
If Adodc1.Recordset.EOF Then
MsgBox ("INVALID RECORD")
End If
End Sub
Private Sub Command2_Click()
Adodc1.Recordset.Update
MsgBox ("UPDATED SUCCESSFULY")
End Sub
Private Sub Command3_Click()
Dim s As String
a = InputBox("Enter The student name")
a = Trim(a)
s = "STUDENTNAME='" & a '" "
Adodc1.Recordset.Delete
MsgBox ("deleted")
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
Text6.Text = ""
Text7.Text = ""
Text8.Text = ""
Text9.Text = ""
End Sub
Private Sub Command5_Click()
DataReport1.Show
End Sub
Private Sub EXIT_Click()
End
End Sub
Private Sub Image2_Click()
'Adodc1.Recordset (" * from t1 where [ITEM_CODE] = " & Text1.Text(0) & "")
DataReport1.Show
End Sub
Private Sub MSHFlexGrid1_Click()
'Adodc2.Refresh
End Sub
Private Sub VIEW_Click()
DataReport1.Show
End Sub
Output:
Progress Bar
Login
Stock Form:
Report Design:
RESULT: Thus the program has been loaded and executed successfully.
.