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.
.