SlideShare a Scribd company logo
1 of 29
IITT COLLEGE OF ENGINEERING




              DBMS

          PRACTICAL FILE




 SUBMITTED TO          SUBMITTED BY
Ms. MEENAKSHI SHARMA DUSHMANTA NATH
(CSE-DEPARTMENT)                   IT-5TH SEM
                                   81301113016




                   ***** 1 *****
INDEX

SR                EXPERIMENT               DATE   SIGNATURE
NO.


01    INTRODUCTION TO ORACLE


02    DATA TYPES OF SQL


03    SQL COMMANDS


04    ENHANCING PERFORMANCE


05    GRANTING AND REVOKING
      PERMISSIONS




06    JOINS



07    CONSTRAINTS



08    FUNCTIONS




                           ***** 2 *****
INTRODUCTION TO ORACLE


CLIENT SERVER COMPUTING ARCHITECTURE
                                It consists of two or more computers designated as client machine running
an application program which communicates with remote computer designated as server machine which
serves request from client machine. In basic model of client server computing, RDBMS resides on
server machine. The application program which resides on client machine interfaces with client software
called middleware that are responsible for communicating request & results between their application
programs and RDBMS.



                                        CLIENTS


             CLIENTS               LAN / WAN              CLIENTS


                                                           RDBMS
                                                           SERVER




                          DATA
                                              PRINTERS
                        STORAGE




CLIENT
        The Client is the front END application of a database which interacts
with the server. The Client has more responsibility for accessing the data, it concentrates on the requests.
The processing and presentation is managed by the server.


SERVER
        The Server executes the Oracle software and these with the function required for simultaneous
and shared data excess. The server receives and processes the SQl and PL/SQL declaration and that
originates in the client application.




                                              ***** 3 *****
There are two types of Client Server Model are
    Two tier Client Server Model

    Three tier client Server Model

  Two tier Client Server Model: It improves the scalability by allowing upto 100’s of user and is very
    flexible for data sharing. Client requests services whereas the server it provides its services. There is
    one limitation of this tier i.e. the design of this architecture scales up. There are three components of
    client of this tier:
      User System interface
      Processing Management
      Database Management


 Three Tier Client Server Model: When the less software is on the client, there is less worry about
   security. Since the importance software is on a server and in a
   more controlled environment. The support and installation cost of maintaining the software on a
   single server is much less than trying to maintain the same software on 100’s of PC’s.


ADVANTAGES OF CLIENT SERVER MODEL
  It allows the user to work in extensible form.
  It can work on any type of operating system eg. UNIX, LINUX, Win 98.
  It provides the facility to establish the link between remote databases.
  It provides the facility of fast accessing of information and processing of data.
  Better application performance and network usage i.e. it reduces the network time.
  It is multiplatform and centralized.
  Distributed computing as the servers act as a focal point for data management.
  Provides flexibility and full utilization of all resources.
  The same database is shared by different clients.


DISADVANTAGES OF CLIENT SERVER MODEL
  Bottleneck: If a significant portion of application layer is moved to a server, the server may
     become a bottle neck in the processing and distribution of data to the client
  Server limited resources will be in over higher demanding by the increasing no. of resource
     consumers.
  Security features: It has to take care of the security of the database from unauthorized access.


                                             ***** 4 *****
ORACLE
       Oracle is one of the powerful RDBMS product that provide efficient solutions for database
applications. Oracle is the product of Oracle Corporation which was founded by LAWRENCE
ELLISION in 1977. The first commercial product of oracle was delivered in 1970. The first version of
oracle 2.0 was written in assembly language. Nowadays commonly used versions of oracle are
ORACLE 8, 8i & 9i Oracle 8 and onwards provide tremendous increase in performance, features and
functionality.


FEATURES OF ORACLE
  Client/Server Architecture
  Large database and Space Management
  Concurrent Processing
  High transaction processing performance
  High Availability
  Many concurrent database users
  Controlled availability
  Openness industry standards
  Manageable security
  Database enforced integrity
  Distributed systems
  Portability
  Compatibility


ORACLE SERVER TOOL
        Oracle is a company that produces most widely used server based multi-user RDBMS. Oracle
server is a program installed on server hard-disk drive. This program must be loaded in RAM to that it
can process the user requests. Oracle server takes care of following functions. Oracle server tools are
also called as back end. Functions of server tool:
  Updates the data

  Retrieves the data sharing

  Manages the data sharing

  Accepts the query statements PL/SQL and SQL


                                             ***** 5 *****
 Enforce the transaction consistency

ORACLE CLIENT TOOL
                       Once Oracle engine is loaded into sever memory user
would have to log in to engine in order to work done. Client tools are more useful in commercial
application development. It provides facilities to work on database objects. These are more commonly
used in commercial applications. Oracle client tools are also called front end.


DDL – DATA DEFINATION LANGUAGE
               The SQL sentences that are used to create these objects are called
DDL’s or Data Definition Language. The sql provides various commands for defining relation schemas,
deleting relations, creating indexes and modify relation schemas. DDL is part of sql which helps a user
in defining the data structures into the database. Following are the various DDL commands are
 Alter table & Create table & drop table
 Create index & drop index
 Create view & drop view


DML – DATA MANIPULATION LANGUAGE
               The SQL sentences used to manipulate data within these objects are called DML’s or
Data Manipulation Language. It is language that enables users to
access or manipulate data as organized by appropriate data model. By data manipulation we have
    Retrieval of information stored in database.
    Insertion of new information into database.
    Deletion of information from database.
    Modification of data stored in database.
Two types of DML are
    Procedural DML
    Non-procedural DML
Following are DML commands are
    Select
    Update
    Delete
    Insert




                                             ***** 6 *****
DCL – DATA CONTROL LANGUAGE
                       The SQL sentences, which are used to control the behavior of
these objects, are called DCL’s or Data Control Language. It is language used to control data and access
to the database. Following are some DCL commands are
    Commit
    Rollback
    Save point
    Set transaction




                                   DATA TYPES OF SQL


  CHAR : This data type is used to store character strings values of fixed length. The size in
     brackets determines the number of characters the cell can hold. The maximum number of
     characters (i.e. the size) this data type can hold is 255 characters. Syntax is CHAR(SIZE)


                                            ***** 7 *****
Example is CHAR (20)


  VARCHAR : This data type is used to store variable length alphanumeric data. The maximum this
     data type can hold is 4000 characters. One difference between this data type and the CHAR data
     type is ORACLE compares VARCHAR values using non-padded comparison semantics i.e. the
     inserted values will not be padded with spaces. Syntax is VARCHAR(SIZE)
     Example is VARCHAR (20) OR VARCHAR2 (20)


  NUMBER : The NUMBER data type is used to store numbers (fixed or floating point). Numbers
     of virtually any magnitude maybe stored up to 38 digits of precision. Numbers as large as 9.99 *
     10 to the power of 124, i.e. followed by 125 zeros can be stored. The precision, (P), determines the
     maximum length of the data, whereas the scale, (S), determines the number of places to the right of
     the decimal. If scale is omitted then the default is zero. If precision is omitted values are stored
     with their original precision up to the maximum of 38 digits.
     Syntax is NUMBER (P, S) Example is NUMBER (10, 2)


  LONG :           This data type is used to store variable length character strings containing up to
     2GB. LONG data can be used to store arrays of binary data in          ASCII format. LONG values
     cannot be indexed, and the normal character functions such as SUBSTR cannot be applied to
     LONG values.
     Syntax is LONG (SIZE) Example is LONG (20)


  DATE : This data type is used to represent data and time. The standard format id DD-MM-YY as
     in 13-JUL-85. To enter dates other than the standard format, use the appropriate functions. Date
     Time stores date in the 24-hour format. By default, the time in a date field is 12:00:00 am, if no
     time portion is specified. The default date for a date field is the first day of the current month.
     Syntax is DATE


  LONG RAW : LONG RAW data types are used to store binary data, such as
     Digitized picture or image. Data loaded into columns of these data types are
stored without any further conversion. LONG RAW data type can contain up to 2GB. Values stored in
columns having LONG RAW data type cannot be indexed. Syntax is LONGRAW (SIZE)




                                            ***** 8 *****
 RAW : It is used to hold strings of byte oriented data. Data type can have a maximum length of 255
   bytes. Syntax is RAW(SIZE)


TRANSACTION STATEMENTS


 COMMIT: A COMMIT ends the current transaction and makes permanent any changes made
    during the transaction. All transactional locks acquired on tables are released. Syntax is
       COMMIT [work] [comment text];
       Where
       Work is optional and comment text is used to specify comment


 ROLLBACK : A ROLLBACK does exactly the opposite of COMMIT. It ends the transaction but
    undoes any changes made during the transaction. All transactional locks acquired on tables are
    released. Syntax is
       ROLLBACK [WORK] [TO [SAVEPOINT] save point]
       Where
       WORK is optional and is provided for ANSI compatibility. SAVEPOINT is optional and is used
       to rollback a partial transaction, as far as the specified save point. SAVEPOINT is a save point
       created during the current transaction.


 SAVEPOINT : SAVEPOINT marks and saves the current point in the processing of a transaction.
    When a SAVEPOINT is used with a ROLLBACK statement, parts of a transaction can be undone.
    An active save point is one that is specified since the last COMMIT or ROLLBACK. Syntax is
       SAVEPOINT savepointname;
       Where
       Save point is an identifier and it is not to declared in declare section.




                                              ***** 9 *****
SQL COMMANDS

 CREATE TABLE: A table is basic unit of storage. It is composed of rows and columns. To
   create a table we will name the table and the columns of the table. We follow the rules to name
   tables and columns:-
       It must begin with a letter and can be up to 30 characters long.
       It must not be duplicate and not any reserved word.
   Syntax to create a table is
          CREATE TABLE tablename (column_name1 datatype (size), column_name2 datatype
          (size) …);
   Example is
          CREATE TABLE student (rollno number (4), name varchar2 (15));


                                      ***** 10 *****
 SELECT : The select command of sql lets you make queries on the database. A query is a
   command that is given certain specified information from the database tables. It can be used to
   retrieve a subset of rows or columns from one or more tables.
   Syntax to create a table is
          SELECT <column_name1>,<column_name2> FROM <tablename>;
   Example is
          SELECT empno, ename, sal from emp;


 CREATE TABLE FROM ANOTHER TABLE : We can create a table by applying as
   subquery clause from another clause. It will create the table as well as insert the rows returned
   from subquery. Syntax to create table from another table is
          CREATE TABLE tablename(<column1>,<column2>,……)
          AS SELECT <column1>,<column2> FROM <tablename>;
   Example is
          CREATE TABLE stud(empno,ename,salary)
          AS SELECT empno,ename,sal FROM emp;


 ALTER TABLE : After creating a table one may have need to change the table either by add
   new columns or by modify existing columns. One can do so by using alter table command.
   Syntax to add a column is
          ALTER TABLE tablename ADD(col1 datatype,col2 datatype);
   Syntax to modify a column is
          ALTER TABLE tablename MODIFY(col1 datatype,col2             datatype);


 DROP TABLE : To remove the definition of oracle table, the drop table statement is used.
   Syntax to drop table is
          DROP TABLE tablename


 RENAME : One can change the name of a table by rename command Syntax to rename table is
          RENAME oldname TO newname


 DELETE : One can delete data fron table by using delete from statement. The delete statement
   removes rows from table but it doesn’t release storage space. Syntax of delete rows from table is


                                       ***** 11 *****
DELETE FROM tablename WHERE <condition>;
 DESCRIBE : To find information about columns like column name, their data types and other
   attributes of a table we can use DESCRIBE command. Syntax to describe table is
          DESCRIBE tablename;


 INSERT : To add new rows in an existing oracle table the insert command is used. Syntax to
   add new fields is
          INSERT INTO tablename(col1,col2,col3,..)
          VALUES(value1,value2,value3);
      Example is
          INSERT INTO employee(emp_id,ename,desg,basic_pay)
          VALUES(100001,’MOHIT’,’MANAGER’,55000);


 UPDATE : The update command enables user to change the values of existing rows. Syntax to
   update value of table is
          UPDATE tablename SET col1=value1,col2=value2;
   Example is
          UPDATE emp_info SET salary =salary +100;


 DISTINCT CLAUSE : The distinct keyword duplicates all rows from results of a select
   statement. Syntax to remove distinct rows is
          SELECT DISTINCT <col1>,<cols2> FROM tablename;
   Example is
          SELECT DISTINCT job FROM emp;


 WHERE CLAUSE : The where clause specifies the criteria for selection of rows to be returned.
   Syntax is
          SELECT <col1>,<col2> FROM tablename WHERE <cond>;
   Example is
          SELECT ename,sal FROM emp WHERE sal > 2000;


 ORDER BY CLAUSE : You can sort the results of query ina specific order using order by
   clause. It allows sorting of query results by one or more columns. It can be done either in
   ascending or descending. Syntax to sort result of query is


                                       ***** 12 *****
SELECT * FROM tablename ORDER BY col1,col2,col3;
   Example is
          SELECT * FROM emp ORDER BY ename desc;


 GROUP BY CLAUSE : The group clause is sued in select statement to divide the table into
   groups. Grouping can be done by column name or wih aggregate functions in which case the
   aggregate producing a value for each group.
    Syntax is
          SELECT col1,col2 FROM tablename GROUP BY <col>;
   Example is
          SELECT deptt,avg(salary) FROM emp_infoGROUP BY deptt;


 HAVING CLAUSE : The having clause filters the group values created by group by clause.
   This clause can precede the group by clause but it is more logical if we place group by first.
   Syntax is
          SELECT col1,col2 FROM tablename GROUP BY <col>
                  HAVING <condition>;
   Example is
          SELECT deptt,max(salary) FROM emp_info GROUP BY deptt
                  HAVING max(salary) > 12000;


 IN: In operator is used to check a value as search from a domain of multiple values to perform a
   query. Not In acts as reverse of In.
   Syntax is
          SELECT <col1>,<col2> FROM tablename
          WHERE <col> IN (value1,value2,value3);
   Example is
          SELECT ename,address,city,state FROM employee
          WHERE deptt IN (‘comp’,’electronics’,’english’);


 ALL : It retains duplicate output rows. All is essentially a clarifier rather than a functional
   argument.
   Syntax is
          SELECT ALL <column1>,<column2> FROM <tablename>;


                                          ***** 13 *****
Example is
                 SELECT ALL city FROM suppliers;


SET OPERATORS
                       Set keywords are used to combine information of similar type
from one or more than one table. Set operations and the operators are based on set theory. It consumes
two or more queries into one result. The types of set operators are:-
  UNION : The union clause merges the outputs of multiple queries into a single set of rows and
     columns. It combines rows returned by two select statements by eliminating duplicate rows.
     Syntax is
       SELECT <statement> UNION SELECT <statements>;
       Example is
       SELECT designation FROM emp_info WHERE deptt=’comp’
       UNION
       SELECT designation FROM emp_info WHERE deptt=’eco’;


  INTERSECT : The intersect operator combines two select statements and return only those rows
     that are returned by both queries. Syntax is
       SELECT <statement> INTERSECT SELECT <statements>;
       Example is
       SELECT designation FROM emp_info WHERE deptt=’comp’
       INTERSECT
       SELECT designation FROM emp_info WHERE deptt=’eco’;


  MINUS : It combines the result of two queries and returns only those values that are selected by
     first query but not in second query. Syntax is
       SELECT <statement> MINUS SELECT <statements>;
       Example is
       SELECT desgination FROM emp_info WHERE deptt=’comp’
       MINUS
       SELECT desgination FROM emp_info WHERE deptt=’eco’;




                                            ***** 14 *****
ENHANCING PERFORMANCE

Views :
       A view is very commonly used database object that is derived at runtime. A view contains data
of its own. Its contents are derived from another table. The command for creating view is CREATE
VIEW command. Editing in the tables are automatically reflected in the views. It is virtual table & does
not have any data of its own. Syntax to create a view is
       CREATE [OR REPLACE] VIEW view name AS sub query
       [WITH CHECK OPTION] [WITH READ ONLY];
Example is CREATE VIEW mohit AS SELECT empno, ename, sal, comm FROM emp;
Types of views are as follows:
    Join View:- It is defined as view that has more than one table specified in from clause and does
       not contain following clauses i.e. distinct, aggregation, group by. This type of view allows
       update, insert and delete command to change data in table. Syntax is
       CREATE OR REPLACE VIEW mohit AS SELECT ename, empno, sal FROM
       emp, dept WHERE emp.deptno = dept.deptno;



                                            ***** 15 *****
The views to be updateable must not include the following are
              Set operators , aggregate functions
              Distinct operator , rownum pseudo columns
              Group by clause , having clause


    Inline View: - Oracle also offers an inline view that is very handy and inline view is part of SQL
       statements. It allows you in body of SQL statement to define SQL for view that SQL statement
       will use to resolve its query.
    Materialized View: - Snapshot also called materialized view. It is defined as copy of part of table
       or entire table. It reflects the current status of table that is being copied. The original status table
       is also called master table. Two types are Read only and update. Read-only does not allow
       changes to be made in view. It simply publishes and subscribes the replications. It allows
       changes in local copy which periodically updates master table.


Sequences :
                       Oracle provides an object called a Sequence that can generate
numeric values. The value generated can have a maximum of 38 digits. A sequence can be defined to
      generate numbers in ascending or descending order.
      provide intervals between numbers.
      Caching of sequence numbers in memory.
A sequence is a database object used to generate unique integers for use as primary keys. Syntax is
       CREATE SEQUENCE sequence name
       [INCREMENT BY integervalue
       START WITH integervalue
       MAXVALUE integervalue / NOMAXVALUE
       MINVALUE integervalue / NOMINVALUE
       CYCLE / NOCYCLE
       CACHE integervalue / NOCACHE
       ORDER / NOORDER]
Example is
       CREATE SEQUENCE mohit
       INCREMENT BY 1
       START WITH 1
       MINVALUE 1


                                             ***** 16 *****
MAXVALUE 9999
       CYCLE;


Indexes :
       Index is a way to store and search records in the table. These are used to improve the speed with
which records can be located and retrieved from the table. Oracle retrieves rows in table in one of two
ways are:
             By ROWID
             By full table scan
The creation and dropping of index doesn’t affect the storage of data in the underlying tables.
Indexes are primarily used for 2 reasons are:
             To ensure the uniqueness of the indexed column’s values.
             To enhance performance.
Syntax to create an index is
       CREATE INDEX <index name> ON <tablename>(column name);
Syntax to drop an index is
       DROP INDEX <index name>;
The types of indexes are:-
    UNIQUE : It doesn’t allow duplicate values for indexed columns.
        Example is
                    CREATE UNIQUE INDEX mohit ON EMP (ename);
    DUPLICATE : It allows duplicate values for indexed columns.
            Example is
               CREATE DUPLICATE INDEX mohit ON EMP (ename);
    COMPOSITE : multi column indexes.
       Example is
               CREATE UNIQUE INDEX mohit ON EMP (ename, sal);
    FUNCTIONAL : perform some functions on fields and then indexes it. Example is
               CREATE INDEX mohit ON EMP (sal+100);




                                            ***** 17 *****
GRANTING AND REVOKING PERMISSIONS

 GRANT : The Grant statement provides various types of access to database
       objects such as tables, views and sequences. A privilege is consent to execute an action or to
       access another user object. These consents can be given by grant statement. Syntax is
               GRANT {object privileges} ON object name
               TO username [WITH GRANT OPTION];
       The WITH GRANT OPTION allows the grantee to in turn grant object privileges to other users.


Object privileges
                      Each object privileges that is granted authorizes the grantee to
Perform some operation on the object. The user can grant all the privileges or grant only specific object
privileges.
ALTER           allows the grantee to change the table definition with the.
                ALTER TABLE command.


DELETE          allows the grantee to remove the records from the table with the DELETE command.


INDEX           allows the grantee to create an index on the table with the



                                            ***** 18 *****
CREATE INDEX command.


 INSERT          allows the grantee to add records to the table with the INSERT
                 Command.


 SELECT          allows the grantee to query the table with the SELECT
                 Command.


 UPDATE          allows the grantee to modify the records in the tables with the
                 UPDATE command.


 Example to grant select & insert privileges on table item to user named as mohit.
        GRANT SELECT, INSERT ON item TO mohit;
 Example to grant all privileges on table EMP to user named as chiku.
        GRANT ALL ON EMP TO mohit;


 REVOKE :          Privileges once given can be denied to a user using the REVOKE command. The
  object owner can revoke privileges granted to another user. A user of an object who is not the owner,
  but has been granted the GRANT privilege, has the power to REVOKE the privileges from a grantee.
  The REVOKE statement is used to deny the grant given on an object.
        Syntax is
        REVOKE {object privileges}
                ON object name
                FROM username;
  Example to revoke select & insert privileges on table item to user named as mohit.
        REVOKE SELECT, INSERT ON item TO mohit;
  Example to revoke all privileges on table EMP to user named as chiku.
        REVOKE ALL ON EMP TO mohit;


 PATTERN MATCHING
                               SQL includes string matching operator LIKE for comparison on character
 string using patterns. The LIKE predicate allows for a comparison of one string with another string
 value, which is not identical. This is achieved by using wildcard characters. The patterns are case



                                             ***** 19 *****
sensitive and that is uppercase letters do not match lower case characters. The keyword NOT LIKE is
used to select those rows that do not match the specified pattern of characters.
Two wildcard characters that are available are:
For character data types: The percent sign (%) matches any string
                          The Underscore (_) matches any single character
Example is
       SELECT * FROM EMP WHERE ename LIKE ‘_B%’;
       SELECT * FROM EMP WHERE ename LIKE ‘MOH__’;


RANGE SEARCHING
                               BETWEEN operator acts as range searching operator. To get a range of
values from a query, you may use between operators. You must specify the lower and upper limit for
range search. Syntax is
       SELECT <col1>,<col2> FROM table name
       WHERE <col> BETWEEN lower limit and upper limit;
Example is
       SELECT empname, deptt, basic pay FROM employee
       WHERE basic pay BETWEEN 5000 and 10000;




                                            ***** 20 *****
JOINS

               A JOIN can be recognized in sql select statement if its has more than one table after from
keyword. This join condition is based on primary keys and foreign keys. There must be n-1 join
conditions for n joins to tables. If join condition is omitted then the result is Cartesian product.
Syntax is
       SELECT “list of columns” FROM table1, table2 WHERE “condition”;


Types of joins are
    Equi join : It returns all rows from tables where there is a match. Tables are joined on columns
       that have the same datatype & size in table. It is also known as equality join or simple join or
       inner join. Syntax is
       SELECTfield1,field2 FROM table1,table2 WHERE table1.field=table2.field;
       Example is
       SELECTename, dname FROM emp, dept WHERE emp.deptno=dept.deptno;


    Cartesion join : When the join condition is omitted the result is Cartesian join of two or more
       tables in which all the combinations of rows will be displayed. All the rows are joined to all rows
       of the second table. Syntax is
       SELECT field1, field2 FROM table1, table2;
       Example is SELECTename, dname FROM emp, dept;




                                              ***** 21 *****
 Outer join : While using equi join we see that if there exists certain rows in one table which
       don’t have corresponding values in the second table thn those rows will not be selected. We can
       forcefully select those rows by outer join. The rows for those columns will have NULL values.
       Syntax is
       SELECT table1.col, table2.col FROM table1, table2
       WHERE table1.col (+) = table2.col;
       Example is
       SELECT empno, ename, emp.deptno, dname FROM emp, dept
       WHERE emp.deptno (+) = dept.deptno;


    Self Join : The self join can be seen as join of two copies of the same table. The table is not
       actually copied but sql performs the command as though it were. Example is
       SELECT e.ename, m.ename FROM emp e, emp m
       WHERE e.mgr=e.empno;


SUBQUERIES
                      A sub query is a form of an SQL statement that appears inside another SQL
statement. It is also termed as nested query. The statement containing a sub query is called a parent
statement. The parent statement uses the rows returned by the sub query. It can be used by the following
commands:
        To insert records in a target table.
        To create tables and insert records in the table created.
        To update records in a target table.
        To create views.
        To provide values for conditions in WHERE, HAVING, IN etc. used with SELECT,
           UPDATE, and DELETE statements.
Types of sub queries are


  Single row : It returns one row from inner nested query. Example is
     SELECT deptno FROM emp WHERE ename =’MILLER’;


  Multiple row : Subqueries that return more than one row called multiple row queries. Operators
     like IN,ALL,ANY are used. Example is



                                            ***** 22 *****
SELECT ename,sal,deptno FROM emp WHERE sal IN
     (SELECT min(sal) FROM emp GROUP BY deptno);


  Multiple column : It returns more than one column .Example is
     SELECT ordid , prodid , qty FROM item WHERE (qty,prodid) IN
     (SELECT prodid,qty FROM item WHERE ordid = 605 AND ordid <> 605);




                                               CONSTRAINTS

                      Constraints are the rules that restrict the data values inserted in columns
of a table. It helps in maintaining integrity of table at database level instead of application level. All applicat
can take advantage of these global constraints, rather than building similar logic in individual applicati
Constraints can constrain single column or group of columns in a table. Constraints can be specified as two typ
   Column level constraint

   Table level constraint

Column level constraint : Column constraints are specified as part of column
definition to constrain single column.
Table level constraint : Table constraints is specified at end of create table
statement to constraint more than one column.


Following are the constraints used in tables are
 NULL/NOT NULL : Specifies if the column must contain value or might not contain any. By
   default all columns in a table allows nulls, ie. Absence of a value in a column. NOT NULL specifies
   that all rows in the table to have value for specified column. All NOT NULL columns are
   mandatory fields. Syntax is
       COLUMN_NAME DATA_TYPE(SIZE) NOT NULL
   Example is
       CREATE TABLE employee(empname varchar2(25) NOT NULL) ;




                                             ***** 23 *****
 UNIQUE : Specifies that all values in a column must be unique. Values in field cannot be
  duplicated. More than one Null value can be inserted in the column. Unique constraint can be
  placed on multiple columns. Syntax is
      COLUMN_NAME DATA_TYPE(SIZE) UNIQUE                       -- at column level
      UNIQUE COLUMN_NAME DATA_TYPE(SIZE)                       -- at table level
  Example is
      CREATE TABLE dept(deptt varchar2(25) UNIQUE);
      CREATE TABLE dept(deptt varchar2(25),UNIQUE(dept));


 PRIMARY KEY : Primary key refers to one or more column values in a table that can uniquely
  identify each row in a table. A primary key column cannot contain nulls and is unique by default.
  Syntax is
      COLUMN DATA_TYPE(SIZE) PRIMARY KEY -- at column level
      PRIMARY KEY COLUMN DATA_TYPE(SIZE) -- at table level
  Example is
      CREATE TABLE dept(deptt varchar2(25) PRIMARY KEY);
      CREATE TABLE dept(deptt varchar2(25),PRIMARY KEY(dept));


 FOREIGN KEY : A foreign key is a one or more column with values based on the primary key
  values from another table. A foreign key constraint specifies that the values stored in foreign
  column correspond to values of the primary key in the other table. Foreign key is also known as
  referential integrity constraint. The table containing foreign key is known as Dependent table and
  the table that is referenced by foreign key is called Referenced table. Syntax is
      COLUMN DATA_TYPE(SIZE) REFERENCES TABLE -- at column level
      FOREIGN KEY COLUMN DATA_TYPE(SIZE) REFERENCES TABLE
  Example is
      CREATE TABLE dept(deptt varchar2(25) REFERENCES emp_info);
      CREATE TABLE dept(deptt varchar2(25),PRIMARY KEY(dept) FOREIGN KEY(dept)
      REFERENCES emp_info);




                                           ***** 24 *****
FUNCTIONS

               Functions make the result of the query easier and are used to manipulate the data values.
Following are the functions are


    String or character functions
    Number functions
    Aggregate functions or group functions
    Date functions
    Conversion functions



Character Manipulation functions
  Ascii : It returns the ASCII decimal equivalent of a character passed as an argument. Example is
     select ascii(‘b’)from dual;


  Chr : This function gives the result as a character corresponding to the value in the database set.
     Example is select char (97) from dual;


  concat(x1,x2) : This function concates the string x1 with x2. This function is equivalent to the | |
     operator. Examples select concat(‘mohit’,’garg’)from dual;


  instr :This function returns the first position of the character x in the string.
     Example is select instr(‘mohit’,’o’) from dual;


  length : It returns the length of the string x.
     Example is select length (‘mohit’) from dual;



                                              ***** 25 *****
 lpad : It pads the leading spaces to the left side of the column char1 with the char2, so that the total
   width becomes equal to the value n. If char2 is absent, it pads the char1 on the left side with blank
   spaces to the total width of n.
   Example is select lpad(dname,12,’*’) from dept;


 Ltrim : It removes all the blank spaces from the left side of the stringif no char is specified. If we
   give a char, then it removes the leading occurrences of that charcter from the string. Example is
   select ltrim(dname.’S’) from dept;


 Rpad : This function pads the leading spaces to the right side of the column char1 with the char2,
   so that the total width becomes equl to the value n.
   Example is select rpad(dname,12,’*’)from dept;


 Rtrim : This function removes all the blank spaces from the right side if no char is specified.
   Example is select rtrim(dname,’S’) from dept;


 Replace : Where c1,c2,c3 and c3 are all character string .this function returns c1 with all occurenes
   of c2 replaced with c3, the default value of c3 is NULL.
   Example is select replace (uptown,’up’,down’)from dual;


 Substr : It returns the substring from z, of length equal to y starting at position x . Example is select
   substr(‘mohitgarg’2,5) from dual;


 Initcap : This function returns the string with letter in caps.
   Example is select initcap (dname) from dept;


 Lower : This function converts the string into lower case.
   Example is select lower (dname)from dept;


 Upper : It converts the string into upper case.
   Example is select upper(dname)from dept;




                                           ***** 26 *****
 Translate : This function is used to find a char and replace it with new character. Example is select
     dname, translate (dname,’E’,2) from dept;


Group functions
  Count : This function returns the number of rows or non-null values for column x. Syntax is
    count([distinct|all]column name)
    Example is select count(empno)from emp;


  Sum : This function ireturns the sum of values for the column x. This function is applied on
    columns having numeric datatype and it returns the numeric value.
    Syntax is sum([distinct|all]column name)
    Example is select sum(sal) from emp;


  Avg : Ths function returns the average of values for the column x. It ignores the null values in the
    column x. Syntax is avg([distinct|all]column name)
    Example is select avg(sal),count(sal) from emp;


  Min : This function returns the minimum of values for the column x for all the rows. Syntax is
    min([distinct|all]column name)
    Example is select min(sal) from emp;


  Max : This function returns the maximum of values for the column x for all the rows. Syntax is
    max([distinct|all]column name)
    Example is select min(sal),max(sal) from emp;


Number functions
  Abs : It obtains the absolute value for the number x.
    Example is
    Select abs(-10) from dual;


  Ceil : Where is a number. This function returns the smallest integer that is greater than or equal to n.
    Example is
    select ceil (9.8), ceil (-32.85) from dual;



                                              ***** 27 *****
 Cos : It returns trigonometric cosine of the number n.
   Example is
   select cos(45) from dual;


 Exp : It returns the e raised to the x power.
   Example is
   select exp (4) from dual;


 Floor : This function returns the largest integer that is less than or equal to n.
   Example is
   select floor (9.8), floor (-32.85) from dual;


 Mod : It returns the remainder when x is divided by the number y.
   Example is
   select mod (10.3),mod (10.5)from dual;


 Power : This function returns the value of x raised to the power of y. The argument y should be an
   integer.
   Example is
   select power (2, 3) from dual;


 Round : It rounds off x to the decimal precision of y. If y is negative, rounds to the precision of y
   places to the left of the decimal point.
   Example is
   select round (55.849,1 ), round(55.849) from dual;


 Sign : This function returns the sign of the value x. If x is a negative number it returns -1 otherwise
   it returns 1.
   Example is
   select sign (-2) from dual;


 Sqrt : This function returns the square root of the given number x.
   Example is
   select sqrt(36) from dual;


                                              ***** 28 *****
Date functions
  Add_months : It adds the months in specified date with the function. Syntax is
    ADD_MONTHS(date,m) where date refers to date & m is number value.
    Example is
    select add_months(sysdate,2) from dual;


  Last_day : It returns the last day of given month which is specified with function.
    Syntax is
    LAST_DAY(d) where d is date
    Example is
    select last_day(sysdate) from dual;


  Months_between : It computes & returns the number of months b/w two dates.
    Syntax is
    MONTHS_BETWEEN(date1,date2)
    Example is
    select months_between(’13-mar-05’,’01-dec-05’) from dual;


  Next_day : It returns the date of first day of the week specified in a string after the beginning date.
    Syntax is NEXT_DAY(date,ch) where ch refers to character value. Example is select next_day(’13-
    mar-05’,’sunday’) from dual;




                                           ***** 29 *****

More Related Content

What's hot (20)

Dbms Notes Lecture 9 : Specialization, Generalization and Aggregation
Dbms Notes Lecture 9 : Specialization, Generalization and AggregationDbms Notes Lecture 9 : Specialization, Generalization and Aggregation
Dbms Notes Lecture 9 : Specialization, Generalization and Aggregation
 
STACKS IN DATASTRUCTURE
STACKS IN DATASTRUCTURESTACKS IN DATASTRUCTURE
STACKS IN DATASTRUCTURE
 
SQL commands
SQL commandsSQL commands
SQL commands
 
Sql operators & functions 3
Sql operators & functions 3Sql operators & functions 3
Sql operators & functions 3
 
Introduction to data structure ppt
Introduction to data structure pptIntroduction to data structure ppt
Introduction to data structure ppt
 
Query processing and optimization (updated)
Query processing and optimization (updated)Query processing and optimization (updated)
Query processing and optimization (updated)
 
Arrays in c
Arrays in cArrays in c
Arrays in c
 
Address calculation-sort
Address calculation-sortAddress calculation-sort
Address calculation-sort
 
14. Query Optimization in DBMS
14. Query Optimization in DBMS14. Query Optimization in DBMS
14. Query Optimization in DBMS
 
SQL(DDL & DML)
SQL(DDL & DML)SQL(DDL & DML)
SQL(DDL & DML)
 
Graph in data structure
Graph in data structureGraph in data structure
Graph in data structure
 
String functions in C
String functions in CString functions in C
String functions in C
 
MYSQL - PHP Database Connectivity
MYSQL - PHP Database ConnectivityMYSQL - PHP Database Connectivity
MYSQL - PHP Database Connectivity
 
Structured Query Language (SQL)
Structured Query Language (SQL)Structured Query Language (SQL)
Structured Query Language (SQL)
 
Sql commands
Sql commandsSql commands
Sql commands
 
Hashing
HashingHashing
Hashing
 
DATABASE CONSTRAINTS
DATABASE CONSTRAINTSDATABASE CONSTRAINTS
DATABASE CONSTRAINTS
 
3 Level Architecture
3 Level Architecture3 Level Architecture
3 Level Architecture
 
Data Models
Data ModelsData Models
Data Models
 
Dbms relational model
Dbms relational modelDbms relational model
Dbms relational model
 

Similar to DBMS Practical File

Data base management structure
Data base management structureData base management structure
Data base management structureSneha kamineni
 
Bank mangement system
Bank mangement systemBank mangement system
Bank mangement systemFaisalGhffar
 
Peoplesoft PIA architecture
Peoplesoft PIA architecturePeoplesoft PIA architecture
Peoplesoft PIA architectureAmit rai Raaz
 
Database systems - Chapter 2 (Remaining)
Database systems - Chapter 2 (Remaining)Database systems - Chapter 2 (Remaining)
Database systems - Chapter 2 (Remaining)shahab3
 
Introduction to Oracle Database
Introduction to Oracle DatabaseIntroduction to Oracle Database
Introduction to Oracle Databasepuja_dhar
 
Introduction to sql server
Introduction to sql serverIntroduction to sql server
Introduction to sql serverVinay Thota
 
Dynamic Object-Oriented Requirements System (DOORS)
Dynamic Object-Oriented Requirements System (DOORS)Dynamic Object-Oriented Requirements System (DOORS)
Dynamic Object-Oriented Requirements System (DOORS)David Groff
 
Dbms & prog lang
Dbms & prog langDbms & prog lang
Dbms & prog langTech_MX
 
Chapter2
Chapter2Chapter2
Chapter2suks_87
 
Oracle DBA Tutorial for Beginners -Oracle training institute in bangalore
Oracle DBA Tutorial for Beginners -Oracle training institute in bangaloreOracle DBA Tutorial for Beginners -Oracle training institute in bangalore
Oracle DBA Tutorial for Beginners -Oracle training institute in bangaloreTIB Academy
 
Data Dictionary Similarities Discussion.docx
Data Dictionary Similarities Discussion.docxData Dictionary Similarities Discussion.docx
Data Dictionary Similarities Discussion.docxstudywriters
 
SQL PPT.pptx
SQL PPT.pptxSQL PPT.pptx
SQL PPT.pptxKulbir4
 

Similar to DBMS Practical File (20)

Oracle Intro.ppt
Oracle Intro.pptOracle Intro.ppt
Oracle Intro.ppt
 
Dbms Lecture Notes
Dbms Lecture NotesDbms Lecture Notes
Dbms Lecture Notes
 
Dbms Lecture Notes
Dbms Lecture NotesDbms Lecture Notes
Dbms Lecture Notes
 
Data base management structure
Data base management structureData base management structure
Data base management structure
 
Bank mangement system
Bank mangement systemBank mangement system
Bank mangement system
 
Dbms presentaion
Dbms presentaionDbms presentaion
Dbms presentaion
 
Sql
SqlSql
Sql
 
Peoplesoft PIA architecture
Peoplesoft PIA architecturePeoplesoft PIA architecture
Peoplesoft PIA architecture
 
Database systems - Chapter 2 (Remaining)
Database systems - Chapter 2 (Remaining)Database systems - Chapter 2 (Remaining)
Database systems - Chapter 2 (Remaining)
 
Introduction to Oracle Database
Introduction to Oracle DatabaseIntroduction to Oracle Database
Introduction to Oracle Database
 
Introduction to sql server
Introduction to sql serverIntroduction to sql server
Introduction to sql server
 
Dynamic Object-Oriented Requirements System (DOORS)
Dynamic Object-Oriented Requirements System (DOORS)Dynamic Object-Oriented Requirements System (DOORS)
Dynamic Object-Oriented Requirements System (DOORS)
 
Dbms & prog lang
Dbms & prog langDbms & prog lang
Dbms & prog lang
 
Chapter2
Chapter2Chapter2
Chapter2
 
Oracle DBA Tutorial for Beginners -Oracle training institute in bangalore
Oracle DBA Tutorial for Beginners -Oracle training institute in bangaloreOracle DBA Tutorial for Beginners -Oracle training institute in bangalore
Oracle DBA Tutorial for Beginners -Oracle training institute in bangalore
 
Db_05.ppt
Db_05.pptDb_05.ppt
Db_05.ppt
 
Sql server
Sql serverSql server
Sql server
 
Data Dictionary Similarities Discussion.docx
Data Dictionary Similarities Discussion.docxData Dictionary Similarities Discussion.docx
Data Dictionary Similarities Discussion.docx
 
SQL PPT.pptx
SQL PPT.pptxSQL PPT.pptx
SQL PPT.pptx
 
Databases
DatabasesDatabases
Databases
 

More from Dushmanta Nath

C language (Collected By Dushmanta)
C language  (Collected By Dushmanta)C language  (Collected By Dushmanta)
C language (Collected By Dushmanta)Dushmanta Nath
 
C programming session 09
C programming session 09C programming session 09
C programming session 09Dushmanta Nath
 
C programming session 08
C programming session 08C programming session 08
C programming session 08Dushmanta Nath
 
C programming session 07
C programming session 07C programming session 07
C programming session 07Dushmanta Nath
 
C programming session 05
C programming session 05C programming session 05
C programming session 05Dushmanta Nath
 
C programming session 04
C programming session 04C programming session 04
C programming session 04Dushmanta Nath
 
C programming session 03
C programming session 03C programming session 03
C programming session 03Dushmanta Nath
 
C programming session 02
C programming session 02C programming session 02
C programming session 02Dushmanta Nath
 
C programming session 01
C programming session 01C programming session 01
C programming session 01Dushmanta Nath
 
C programming session 11
C programming session 11C programming session 11
C programming session 11Dushmanta Nath
 
Global Warming Project
Global Warming ProjectGlobal Warming Project
Global Warming ProjectDushmanta Nath
 
Manufacturing Practice (MP) Training Project
Manufacturing Practice (MP) Training ProjectManufacturing Practice (MP) Training Project
Manufacturing Practice (MP) Training ProjectDushmanta Nath
 
IT- 328 Web Administration (Practicals)
IT- 328 Web Administration (Practicals)IT- 328 Web Administration (Practicals)
IT- 328 Web Administration (Practicals)Dushmanta Nath
 
IT-314 MIS (Practicals)
IT-314 MIS (Practicals)IT-314 MIS (Practicals)
IT-314 MIS (Practicals)Dushmanta Nath
 

More from Dushmanta Nath (15)

C language (Collected By Dushmanta)
C language  (Collected By Dushmanta)C language  (Collected By Dushmanta)
C language (Collected By Dushmanta)
 
C programming session 09
C programming session 09C programming session 09
C programming session 09
 
C programming session 08
C programming session 08C programming session 08
C programming session 08
 
C programming session 07
C programming session 07C programming session 07
C programming session 07
 
C programming session 05
C programming session 05C programming session 05
C programming session 05
 
C programming session 04
C programming session 04C programming session 04
C programming session 04
 
C programming session 03
C programming session 03C programming session 03
C programming session 03
 
C programming session 02
C programming session 02C programming session 02
C programming session 02
 
C programming session 01
C programming session 01C programming session 01
C programming session 01
 
C programming session 11
C programming session 11C programming session 11
C programming session 11
 
Global Warming Project
Global Warming ProjectGlobal Warming Project
Global Warming Project
 
Manufacturing Practice (MP) Training Project
Manufacturing Practice (MP) Training ProjectManufacturing Practice (MP) Training Project
Manufacturing Practice (MP) Training Project
 
BSNL Training Project
BSNL Training ProjectBSNL Training Project
BSNL Training Project
 
IT- 328 Web Administration (Practicals)
IT- 328 Web Administration (Practicals)IT- 328 Web Administration (Practicals)
IT- 328 Web Administration (Practicals)
 
IT-314 MIS (Practicals)
IT-314 MIS (Practicals)IT-314 MIS (Practicals)
IT-314 MIS (Practicals)
 

Recently uploaded

Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Celine George
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Celine George
 
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfphamnguyenenglishnb
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4MiaBumagat1
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Mark Reed
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...Nguyen Thanh Tu Collection
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPCeline George
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomnelietumpap1
 
Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)cama23
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Celine George
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfJemuel Francisco
 
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfVirtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfErwinPantujan2
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxAshokKarra1
 
Culture Uniformity or Diversity IN SOCIOLOGY.pptx
Culture Uniformity or Diversity IN SOCIOLOGY.pptxCulture Uniformity or Diversity IN SOCIOLOGY.pptx
Culture Uniformity or Diversity IN SOCIOLOGY.pptxPoojaSen20
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17Celine George
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptxmary850239
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...Postal Advocate Inc.
 

Recently uploaded (20)

Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
 
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptxYOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
 
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERP
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choom
 
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptxLEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
 
Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
 
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfVirtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptx
 
Culture Uniformity or Diversity IN SOCIOLOGY.pptx
Culture Uniformity or Diversity IN SOCIOLOGY.pptxCulture Uniformity or Diversity IN SOCIOLOGY.pptx
Culture Uniformity or Diversity IN SOCIOLOGY.pptx
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
 

DBMS Practical File

  • 1. IITT COLLEGE OF ENGINEERING DBMS PRACTICAL FILE SUBMITTED TO SUBMITTED BY Ms. MEENAKSHI SHARMA DUSHMANTA NATH (CSE-DEPARTMENT) IT-5TH SEM 81301113016 ***** 1 *****
  • 2. INDEX SR EXPERIMENT DATE SIGNATURE NO. 01 INTRODUCTION TO ORACLE 02 DATA TYPES OF SQL 03 SQL COMMANDS 04 ENHANCING PERFORMANCE 05 GRANTING AND REVOKING PERMISSIONS 06 JOINS 07 CONSTRAINTS 08 FUNCTIONS ***** 2 *****
  • 3. INTRODUCTION TO ORACLE CLIENT SERVER COMPUTING ARCHITECTURE It consists of two or more computers designated as client machine running an application program which communicates with remote computer designated as server machine which serves request from client machine. In basic model of client server computing, RDBMS resides on server machine. The application program which resides on client machine interfaces with client software called middleware that are responsible for communicating request & results between their application programs and RDBMS. CLIENTS CLIENTS LAN / WAN CLIENTS RDBMS SERVER DATA PRINTERS STORAGE CLIENT The Client is the front END application of a database which interacts with the server. The Client has more responsibility for accessing the data, it concentrates on the requests. The processing and presentation is managed by the server. SERVER The Server executes the Oracle software and these with the function required for simultaneous and shared data excess. The server receives and processes the SQl and PL/SQL declaration and that originates in the client application. ***** 3 *****
  • 4. There are two types of Client Server Model are  Two tier Client Server Model  Three tier client Server Model  Two tier Client Server Model: It improves the scalability by allowing upto 100’s of user and is very flexible for data sharing. Client requests services whereas the server it provides its services. There is one limitation of this tier i.e. the design of this architecture scales up. There are three components of client of this tier:  User System interface  Processing Management  Database Management  Three Tier Client Server Model: When the less software is on the client, there is less worry about security. Since the importance software is on a server and in a more controlled environment. The support and installation cost of maintaining the software on a single server is much less than trying to maintain the same software on 100’s of PC’s. ADVANTAGES OF CLIENT SERVER MODEL  It allows the user to work in extensible form.  It can work on any type of operating system eg. UNIX, LINUX, Win 98.  It provides the facility to establish the link between remote databases.  It provides the facility of fast accessing of information and processing of data.  Better application performance and network usage i.e. it reduces the network time.  It is multiplatform and centralized.  Distributed computing as the servers act as a focal point for data management.  Provides flexibility and full utilization of all resources.  The same database is shared by different clients. DISADVANTAGES OF CLIENT SERVER MODEL  Bottleneck: If a significant portion of application layer is moved to a server, the server may become a bottle neck in the processing and distribution of data to the client  Server limited resources will be in over higher demanding by the increasing no. of resource consumers.  Security features: It has to take care of the security of the database from unauthorized access. ***** 4 *****
  • 5. ORACLE Oracle is one of the powerful RDBMS product that provide efficient solutions for database applications. Oracle is the product of Oracle Corporation which was founded by LAWRENCE ELLISION in 1977. The first commercial product of oracle was delivered in 1970. The first version of oracle 2.0 was written in assembly language. Nowadays commonly used versions of oracle are ORACLE 8, 8i & 9i Oracle 8 and onwards provide tremendous increase in performance, features and functionality. FEATURES OF ORACLE  Client/Server Architecture  Large database and Space Management  Concurrent Processing  High transaction processing performance  High Availability  Many concurrent database users  Controlled availability  Openness industry standards  Manageable security  Database enforced integrity  Distributed systems  Portability  Compatibility ORACLE SERVER TOOL Oracle is a company that produces most widely used server based multi-user RDBMS. Oracle server is a program installed on server hard-disk drive. This program must be loaded in RAM to that it can process the user requests. Oracle server takes care of following functions. Oracle server tools are also called as back end. Functions of server tool:  Updates the data  Retrieves the data sharing  Manages the data sharing  Accepts the query statements PL/SQL and SQL ***** 5 *****
  • 6.  Enforce the transaction consistency ORACLE CLIENT TOOL Once Oracle engine is loaded into sever memory user would have to log in to engine in order to work done. Client tools are more useful in commercial application development. It provides facilities to work on database objects. These are more commonly used in commercial applications. Oracle client tools are also called front end. DDL – DATA DEFINATION LANGUAGE The SQL sentences that are used to create these objects are called DDL’s or Data Definition Language. The sql provides various commands for defining relation schemas, deleting relations, creating indexes and modify relation schemas. DDL is part of sql which helps a user in defining the data structures into the database. Following are the various DDL commands are  Alter table & Create table & drop table  Create index & drop index  Create view & drop view DML – DATA MANIPULATION LANGUAGE The SQL sentences used to manipulate data within these objects are called DML’s or Data Manipulation Language. It is language that enables users to access or manipulate data as organized by appropriate data model. By data manipulation we have  Retrieval of information stored in database.  Insertion of new information into database.  Deletion of information from database.  Modification of data stored in database. Two types of DML are  Procedural DML  Non-procedural DML Following are DML commands are  Select  Update  Delete  Insert ***** 6 *****
  • 7. DCL – DATA CONTROL LANGUAGE The SQL sentences, which are used to control the behavior of these objects, are called DCL’s or Data Control Language. It is language used to control data and access to the database. Following are some DCL commands are  Commit  Rollback  Save point  Set transaction DATA TYPES OF SQL  CHAR : This data type is used to store character strings values of fixed length. The size in brackets determines the number of characters the cell can hold. The maximum number of characters (i.e. the size) this data type can hold is 255 characters. Syntax is CHAR(SIZE) ***** 7 *****
  • 8. Example is CHAR (20)  VARCHAR : This data type is used to store variable length alphanumeric data. The maximum this data type can hold is 4000 characters. One difference between this data type and the CHAR data type is ORACLE compares VARCHAR values using non-padded comparison semantics i.e. the inserted values will not be padded with spaces. Syntax is VARCHAR(SIZE) Example is VARCHAR (20) OR VARCHAR2 (20)  NUMBER : The NUMBER data type is used to store numbers (fixed or floating point). Numbers of virtually any magnitude maybe stored up to 38 digits of precision. Numbers as large as 9.99 * 10 to the power of 124, i.e. followed by 125 zeros can be stored. The precision, (P), determines the maximum length of the data, whereas the scale, (S), determines the number of places to the right of the decimal. If scale is omitted then the default is zero. If precision is omitted values are stored with their original precision up to the maximum of 38 digits. Syntax is NUMBER (P, S) Example is NUMBER (10, 2)  LONG : This data type is used to store variable length character strings containing up to 2GB. LONG data can be used to store arrays of binary data in ASCII format. LONG values cannot be indexed, and the normal character functions such as SUBSTR cannot be applied to LONG values. Syntax is LONG (SIZE) Example is LONG (20)  DATE : This data type is used to represent data and time. The standard format id DD-MM-YY as in 13-JUL-85. To enter dates other than the standard format, use the appropriate functions. Date Time stores date in the 24-hour format. By default, the time in a date field is 12:00:00 am, if no time portion is specified. The default date for a date field is the first day of the current month. Syntax is DATE  LONG RAW : LONG RAW data types are used to store binary data, such as Digitized picture or image. Data loaded into columns of these data types are stored without any further conversion. LONG RAW data type can contain up to 2GB. Values stored in columns having LONG RAW data type cannot be indexed. Syntax is LONGRAW (SIZE) ***** 8 *****
  • 9.  RAW : It is used to hold strings of byte oriented data. Data type can have a maximum length of 255 bytes. Syntax is RAW(SIZE) TRANSACTION STATEMENTS  COMMIT: A COMMIT ends the current transaction and makes permanent any changes made during the transaction. All transactional locks acquired on tables are released. Syntax is COMMIT [work] [comment text]; Where Work is optional and comment text is used to specify comment  ROLLBACK : A ROLLBACK does exactly the opposite of COMMIT. It ends the transaction but undoes any changes made during the transaction. All transactional locks acquired on tables are released. Syntax is ROLLBACK [WORK] [TO [SAVEPOINT] save point] Where WORK is optional and is provided for ANSI compatibility. SAVEPOINT is optional and is used to rollback a partial transaction, as far as the specified save point. SAVEPOINT is a save point created during the current transaction.  SAVEPOINT : SAVEPOINT marks and saves the current point in the processing of a transaction. When a SAVEPOINT is used with a ROLLBACK statement, parts of a transaction can be undone. An active save point is one that is specified since the last COMMIT or ROLLBACK. Syntax is SAVEPOINT savepointname; Where Save point is an identifier and it is not to declared in declare section. ***** 9 *****
  • 10. SQL COMMANDS  CREATE TABLE: A table is basic unit of storage. It is composed of rows and columns. To create a table we will name the table and the columns of the table. We follow the rules to name tables and columns:-  It must begin with a letter and can be up to 30 characters long.  It must not be duplicate and not any reserved word. Syntax to create a table is CREATE TABLE tablename (column_name1 datatype (size), column_name2 datatype (size) …); Example is CREATE TABLE student (rollno number (4), name varchar2 (15)); ***** 10 *****
  • 11.  SELECT : The select command of sql lets you make queries on the database. A query is a command that is given certain specified information from the database tables. It can be used to retrieve a subset of rows or columns from one or more tables. Syntax to create a table is SELECT <column_name1>,<column_name2> FROM <tablename>; Example is SELECT empno, ename, sal from emp;  CREATE TABLE FROM ANOTHER TABLE : We can create a table by applying as subquery clause from another clause. It will create the table as well as insert the rows returned from subquery. Syntax to create table from another table is CREATE TABLE tablename(<column1>,<column2>,……) AS SELECT <column1>,<column2> FROM <tablename>; Example is CREATE TABLE stud(empno,ename,salary) AS SELECT empno,ename,sal FROM emp;  ALTER TABLE : After creating a table one may have need to change the table either by add new columns or by modify existing columns. One can do so by using alter table command. Syntax to add a column is ALTER TABLE tablename ADD(col1 datatype,col2 datatype); Syntax to modify a column is ALTER TABLE tablename MODIFY(col1 datatype,col2 datatype);  DROP TABLE : To remove the definition of oracle table, the drop table statement is used. Syntax to drop table is DROP TABLE tablename  RENAME : One can change the name of a table by rename command Syntax to rename table is RENAME oldname TO newname  DELETE : One can delete data fron table by using delete from statement. The delete statement removes rows from table but it doesn’t release storage space. Syntax of delete rows from table is ***** 11 *****
  • 12. DELETE FROM tablename WHERE <condition>;  DESCRIBE : To find information about columns like column name, their data types and other attributes of a table we can use DESCRIBE command. Syntax to describe table is DESCRIBE tablename;  INSERT : To add new rows in an existing oracle table the insert command is used. Syntax to add new fields is INSERT INTO tablename(col1,col2,col3,..) VALUES(value1,value2,value3); Example is INSERT INTO employee(emp_id,ename,desg,basic_pay) VALUES(100001,’MOHIT’,’MANAGER’,55000);  UPDATE : The update command enables user to change the values of existing rows. Syntax to update value of table is UPDATE tablename SET col1=value1,col2=value2; Example is UPDATE emp_info SET salary =salary +100;  DISTINCT CLAUSE : The distinct keyword duplicates all rows from results of a select statement. Syntax to remove distinct rows is SELECT DISTINCT <col1>,<cols2> FROM tablename; Example is SELECT DISTINCT job FROM emp;  WHERE CLAUSE : The where clause specifies the criteria for selection of rows to be returned. Syntax is SELECT <col1>,<col2> FROM tablename WHERE <cond>; Example is SELECT ename,sal FROM emp WHERE sal > 2000;  ORDER BY CLAUSE : You can sort the results of query ina specific order using order by clause. It allows sorting of query results by one or more columns. It can be done either in ascending or descending. Syntax to sort result of query is ***** 12 *****
  • 13. SELECT * FROM tablename ORDER BY col1,col2,col3; Example is SELECT * FROM emp ORDER BY ename desc;  GROUP BY CLAUSE : The group clause is sued in select statement to divide the table into groups. Grouping can be done by column name or wih aggregate functions in which case the aggregate producing a value for each group. Syntax is SELECT col1,col2 FROM tablename GROUP BY <col>; Example is SELECT deptt,avg(salary) FROM emp_infoGROUP BY deptt;  HAVING CLAUSE : The having clause filters the group values created by group by clause. This clause can precede the group by clause but it is more logical if we place group by first. Syntax is SELECT col1,col2 FROM tablename GROUP BY <col> HAVING <condition>; Example is SELECT deptt,max(salary) FROM emp_info GROUP BY deptt HAVING max(salary) > 12000;  IN: In operator is used to check a value as search from a domain of multiple values to perform a query. Not In acts as reverse of In. Syntax is SELECT <col1>,<col2> FROM tablename WHERE <col> IN (value1,value2,value3); Example is SELECT ename,address,city,state FROM employee WHERE deptt IN (‘comp’,’electronics’,’english’);  ALL : It retains duplicate output rows. All is essentially a clarifier rather than a functional argument. Syntax is SELECT ALL <column1>,<column2> FROM <tablename>; ***** 13 *****
  • 14. Example is SELECT ALL city FROM suppliers; SET OPERATORS Set keywords are used to combine information of similar type from one or more than one table. Set operations and the operators are based on set theory. It consumes two or more queries into one result. The types of set operators are:-  UNION : The union clause merges the outputs of multiple queries into a single set of rows and columns. It combines rows returned by two select statements by eliminating duplicate rows. Syntax is SELECT <statement> UNION SELECT <statements>; Example is SELECT designation FROM emp_info WHERE deptt=’comp’ UNION SELECT designation FROM emp_info WHERE deptt=’eco’;  INTERSECT : The intersect operator combines two select statements and return only those rows that are returned by both queries. Syntax is SELECT <statement> INTERSECT SELECT <statements>; Example is SELECT designation FROM emp_info WHERE deptt=’comp’ INTERSECT SELECT designation FROM emp_info WHERE deptt=’eco’;  MINUS : It combines the result of two queries and returns only those values that are selected by first query but not in second query. Syntax is SELECT <statement> MINUS SELECT <statements>; Example is SELECT desgination FROM emp_info WHERE deptt=’comp’ MINUS SELECT desgination FROM emp_info WHERE deptt=’eco’; ***** 14 *****
  • 15. ENHANCING PERFORMANCE Views : A view is very commonly used database object that is derived at runtime. A view contains data of its own. Its contents are derived from another table. The command for creating view is CREATE VIEW command. Editing in the tables are automatically reflected in the views. It is virtual table & does not have any data of its own. Syntax to create a view is CREATE [OR REPLACE] VIEW view name AS sub query [WITH CHECK OPTION] [WITH READ ONLY]; Example is CREATE VIEW mohit AS SELECT empno, ename, sal, comm FROM emp; Types of views are as follows:  Join View:- It is defined as view that has more than one table specified in from clause and does not contain following clauses i.e. distinct, aggregation, group by. This type of view allows update, insert and delete command to change data in table. Syntax is CREATE OR REPLACE VIEW mohit AS SELECT ename, empno, sal FROM emp, dept WHERE emp.deptno = dept.deptno; ***** 15 *****
  • 16. The views to be updateable must not include the following are  Set operators , aggregate functions  Distinct operator , rownum pseudo columns  Group by clause , having clause  Inline View: - Oracle also offers an inline view that is very handy and inline view is part of SQL statements. It allows you in body of SQL statement to define SQL for view that SQL statement will use to resolve its query.  Materialized View: - Snapshot also called materialized view. It is defined as copy of part of table or entire table. It reflects the current status of table that is being copied. The original status table is also called master table. Two types are Read only and update. Read-only does not allow changes to be made in view. It simply publishes and subscribes the replications. It allows changes in local copy which periodically updates master table. Sequences : Oracle provides an object called a Sequence that can generate numeric values. The value generated can have a maximum of 38 digits. A sequence can be defined to  generate numbers in ascending or descending order.  provide intervals between numbers.  Caching of sequence numbers in memory. A sequence is a database object used to generate unique integers for use as primary keys. Syntax is CREATE SEQUENCE sequence name [INCREMENT BY integervalue START WITH integervalue MAXVALUE integervalue / NOMAXVALUE MINVALUE integervalue / NOMINVALUE CYCLE / NOCYCLE CACHE integervalue / NOCACHE ORDER / NOORDER] Example is CREATE SEQUENCE mohit INCREMENT BY 1 START WITH 1 MINVALUE 1 ***** 16 *****
  • 17. MAXVALUE 9999 CYCLE; Indexes : Index is a way to store and search records in the table. These are used to improve the speed with which records can be located and retrieved from the table. Oracle retrieves rows in table in one of two ways are:  By ROWID  By full table scan The creation and dropping of index doesn’t affect the storage of data in the underlying tables. Indexes are primarily used for 2 reasons are:  To ensure the uniqueness of the indexed column’s values.  To enhance performance. Syntax to create an index is CREATE INDEX <index name> ON <tablename>(column name); Syntax to drop an index is DROP INDEX <index name>; The types of indexes are:-  UNIQUE : It doesn’t allow duplicate values for indexed columns. Example is CREATE UNIQUE INDEX mohit ON EMP (ename);  DUPLICATE : It allows duplicate values for indexed columns. Example is CREATE DUPLICATE INDEX mohit ON EMP (ename);  COMPOSITE : multi column indexes. Example is CREATE UNIQUE INDEX mohit ON EMP (ename, sal);  FUNCTIONAL : perform some functions on fields and then indexes it. Example is CREATE INDEX mohit ON EMP (sal+100); ***** 17 *****
  • 18. GRANTING AND REVOKING PERMISSIONS  GRANT : The Grant statement provides various types of access to database objects such as tables, views and sequences. A privilege is consent to execute an action or to access another user object. These consents can be given by grant statement. Syntax is GRANT {object privileges} ON object name TO username [WITH GRANT OPTION]; The WITH GRANT OPTION allows the grantee to in turn grant object privileges to other users. Object privileges Each object privileges that is granted authorizes the grantee to Perform some operation on the object. The user can grant all the privileges or grant only specific object privileges. ALTER allows the grantee to change the table definition with the. ALTER TABLE command. DELETE allows the grantee to remove the records from the table with the DELETE command. INDEX allows the grantee to create an index on the table with the ***** 18 *****
  • 19. CREATE INDEX command. INSERT allows the grantee to add records to the table with the INSERT Command. SELECT allows the grantee to query the table with the SELECT Command. UPDATE allows the grantee to modify the records in the tables with the UPDATE command. Example to grant select & insert privileges on table item to user named as mohit. GRANT SELECT, INSERT ON item TO mohit; Example to grant all privileges on table EMP to user named as chiku. GRANT ALL ON EMP TO mohit;  REVOKE : Privileges once given can be denied to a user using the REVOKE command. The object owner can revoke privileges granted to another user. A user of an object who is not the owner, but has been granted the GRANT privilege, has the power to REVOKE the privileges from a grantee. The REVOKE statement is used to deny the grant given on an object. Syntax is REVOKE {object privileges} ON object name FROM username; Example to revoke select & insert privileges on table item to user named as mohit. REVOKE SELECT, INSERT ON item TO mohit; Example to revoke all privileges on table EMP to user named as chiku. REVOKE ALL ON EMP TO mohit; PATTERN MATCHING SQL includes string matching operator LIKE for comparison on character string using patterns. The LIKE predicate allows for a comparison of one string with another string value, which is not identical. This is achieved by using wildcard characters. The patterns are case ***** 19 *****
  • 20. sensitive and that is uppercase letters do not match lower case characters. The keyword NOT LIKE is used to select those rows that do not match the specified pattern of characters. Two wildcard characters that are available are: For character data types: The percent sign (%) matches any string The Underscore (_) matches any single character Example is SELECT * FROM EMP WHERE ename LIKE ‘_B%’; SELECT * FROM EMP WHERE ename LIKE ‘MOH__’; RANGE SEARCHING BETWEEN operator acts as range searching operator. To get a range of values from a query, you may use between operators. You must specify the lower and upper limit for range search. Syntax is SELECT <col1>,<col2> FROM table name WHERE <col> BETWEEN lower limit and upper limit; Example is SELECT empname, deptt, basic pay FROM employee WHERE basic pay BETWEEN 5000 and 10000; ***** 20 *****
  • 21. JOINS A JOIN can be recognized in sql select statement if its has more than one table after from keyword. This join condition is based on primary keys and foreign keys. There must be n-1 join conditions for n joins to tables. If join condition is omitted then the result is Cartesian product. Syntax is SELECT “list of columns” FROM table1, table2 WHERE “condition”; Types of joins are  Equi join : It returns all rows from tables where there is a match. Tables are joined on columns that have the same datatype & size in table. It is also known as equality join or simple join or inner join. Syntax is SELECTfield1,field2 FROM table1,table2 WHERE table1.field=table2.field; Example is SELECTename, dname FROM emp, dept WHERE emp.deptno=dept.deptno;  Cartesion join : When the join condition is omitted the result is Cartesian join of two or more tables in which all the combinations of rows will be displayed. All the rows are joined to all rows of the second table. Syntax is SELECT field1, field2 FROM table1, table2; Example is SELECTename, dname FROM emp, dept; ***** 21 *****
  • 22.  Outer join : While using equi join we see that if there exists certain rows in one table which don’t have corresponding values in the second table thn those rows will not be selected. We can forcefully select those rows by outer join. The rows for those columns will have NULL values. Syntax is SELECT table1.col, table2.col FROM table1, table2 WHERE table1.col (+) = table2.col; Example is SELECT empno, ename, emp.deptno, dname FROM emp, dept WHERE emp.deptno (+) = dept.deptno;  Self Join : The self join can be seen as join of two copies of the same table. The table is not actually copied but sql performs the command as though it were. Example is SELECT e.ename, m.ename FROM emp e, emp m WHERE e.mgr=e.empno; SUBQUERIES A sub query is a form of an SQL statement that appears inside another SQL statement. It is also termed as nested query. The statement containing a sub query is called a parent statement. The parent statement uses the rows returned by the sub query. It can be used by the following commands:  To insert records in a target table.  To create tables and insert records in the table created.  To update records in a target table.  To create views.  To provide values for conditions in WHERE, HAVING, IN etc. used with SELECT, UPDATE, and DELETE statements. Types of sub queries are  Single row : It returns one row from inner nested query. Example is SELECT deptno FROM emp WHERE ename =’MILLER’;  Multiple row : Subqueries that return more than one row called multiple row queries. Operators like IN,ALL,ANY are used. Example is ***** 22 *****
  • 23. SELECT ename,sal,deptno FROM emp WHERE sal IN (SELECT min(sal) FROM emp GROUP BY deptno);  Multiple column : It returns more than one column .Example is SELECT ordid , prodid , qty FROM item WHERE (qty,prodid) IN (SELECT prodid,qty FROM item WHERE ordid = 605 AND ordid <> 605); CONSTRAINTS Constraints are the rules that restrict the data values inserted in columns of a table. It helps in maintaining integrity of table at database level instead of application level. All applicat can take advantage of these global constraints, rather than building similar logic in individual applicati Constraints can constrain single column or group of columns in a table. Constraints can be specified as two typ  Column level constraint  Table level constraint Column level constraint : Column constraints are specified as part of column definition to constrain single column. Table level constraint : Table constraints is specified at end of create table statement to constraint more than one column. Following are the constraints used in tables are  NULL/NOT NULL : Specifies if the column must contain value or might not contain any. By default all columns in a table allows nulls, ie. Absence of a value in a column. NOT NULL specifies that all rows in the table to have value for specified column. All NOT NULL columns are mandatory fields. Syntax is COLUMN_NAME DATA_TYPE(SIZE) NOT NULL Example is CREATE TABLE employee(empname varchar2(25) NOT NULL) ; ***** 23 *****
  • 24.  UNIQUE : Specifies that all values in a column must be unique. Values in field cannot be duplicated. More than one Null value can be inserted in the column. Unique constraint can be placed on multiple columns. Syntax is COLUMN_NAME DATA_TYPE(SIZE) UNIQUE -- at column level UNIQUE COLUMN_NAME DATA_TYPE(SIZE) -- at table level Example is CREATE TABLE dept(deptt varchar2(25) UNIQUE); CREATE TABLE dept(deptt varchar2(25),UNIQUE(dept));  PRIMARY KEY : Primary key refers to one or more column values in a table that can uniquely identify each row in a table. A primary key column cannot contain nulls and is unique by default. Syntax is COLUMN DATA_TYPE(SIZE) PRIMARY KEY -- at column level PRIMARY KEY COLUMN DATA_TYPE(SIZE) -- at table level Example is CREATE TABLE dept(deptt varchar2(25) PRIMARY KEY); CREATE TABLE dept(deptt varchar2(25),PRIMARY KEY(dept));  FOREIGN KEY : A foreign key is a one or more column with values based on the primary key values from another table. A foreign key constraint specifies that the values stored in foreign column correspond to values of the primary key in the other table. Foreign key is also known as referential integrity constraint. The table containing foreign key is known as Dependent table and the table that is referenced by foreign key is called Referenced table. Syntax is COLUMN DATA_TYPE(SIZE) REFERENCES TABLE -- at column level FOREIGN KEY COLUMN DATA_TYPE(SIZE) REFERENCES TABLE Example is CREATE TABLE dept(deptt varchar2(25) REFERENCES emp_info); CREATE TABLE dept(deptt varchar2(25),PRIMARY KEY(dept) FOREIGN KEY(dept) REFERENCES emp_info); ***** 24 *****
  • 25. FUNCTIONS Functions make the result of the query easier and are used to manipulate the data values. Following are the functions are  String or character functions  Number functions  Aggregate functions or group functions  Date functions  Conversion functions Character Manipulation functions  Ascii : It returns the ASCII decimal equivalent of a character passed as an argument. Example is select ascii(‘b’)from dual;  Chr : This function gives the result as a character corresponding to the value in the database set. Example is select char (97) from dual;  concat(x1,x2) : This function concates the string x1 with x2. This function is equivalent to the | | operator. Examples select concat(‘mohit’,’garg’)from dual;  instr :This function returns the first position of the character x in the string. Example is select instr(‘mohit’,’o’) from dual;  length : It returns the length of the string x. Example is select length (‘mohit’) from dual; ***** 25 *****
  • 26.  lpad : It pads the leading spaces to the left side of the column char1 with the char2, so that the total width becomes equal to the value n. If char2 is absent, it pads the char1 on the left side with blank spaces to the total width of n. Example is select lpad(dname,12,’*’) from dept;  Ltrim : It removes all the blank spaces from the left side of the stringif no char is specified. If we give a char, then it removes the leading occurrences of that charcter from the string. Example is select ltrim(dname.’S’) from dept;  Rpad : This function pads the leading spaces to the right side of the column char1 with the char2, so that the total width becomes equl to the value n. Example is select rpad(dname,12,’*’)from dept;  Rtrim : This function removes all the blank spaces from the right side if no char is specified. Example is select rtrim(dname,’S’) from dept;  Replace : Where c1,c2,c3 and c3 are all character string .this function returns c1 with all occurenes of c2 replaced with c3, the default value of c3 is NULL. Example is select replace (uptown,’up’,down’)from dual;  Substr : It returns the substring from z, of length equal to y starting at position x . Example is select substr(‘mohitgarg’2,5) from dual;  Initcap : This function returns the string with letter in caps. Example is select initcap (dname) from dept;  Lower : This function converts the string into lower case. Example is select lower (dname)from dept;  Upper : It converts the string into upper case. Example is select upper(dname)from dept; ***** 26 *****
  • 27.  Translate : This function is used to find a char and replace it with new character. Example is select dname, translate (dname,’E’,2) from dept; Group functions  Count : This function returns the number of rows or non-null values for column x. Syntax is count([distinct|all]column name) Example is select count(empno)from emp;  Sum : This function ireturns the sum of values for the column x. This function is applied on columns having numeric datatype and it returns the numeric value. Syntax is sum([distinct|all]column name) Example is select sum(sal) from emp;  Avg : Ths function returns the average of values for the column x. It ignores the null values in the column x. Syntax is avg([distinct|all]column name) Example is select avg(sal),count(sal) from emp;  Min : This function returns the minimum of values for the column x for all the rows. Syntax is min([distinct|all]column name) Example is select min(sal) from emp;  Max : This function returns the maximum of values for the column x for all the rows. Syntax is max([distinct|all]column name) Example is select min(sal),max(sal) from emp; Number functions  Abs : It obtains the absolute value for the number x. Example is Select abs(-10) from dual;  Ceil : Where is a number. This function returns the smallest integer that is greater than or equal to n. Example is select ceil (9.8), ceil (-32.85) from dual; ***** 27 *****
  • 28.  Cos : It returns trigonometric cosine of the number n. Example is select cos(45) from dual;  Exp : It returns the e raised to the x power. Example is select exp (4) from dual;  Floor : This function returns the largest integer that is less than or equal to n. Example is select floor (9.8), floor (-32.85) from dual;  Mod : It returns the remainder when x is divided by the number y. Example is select mod (10.3),mod (10.5)from dual;  Power : This function returns the value of x raised to the power of y. The argument y should be an integer. Example is select power (2, 3) from dual;  Round : It rounds off x to the decimal precision of y. If y is negative, rounds to the precision of y places to the left of the decimal point. Example is select round (55.849,1 ), round(55.849) from dual;  Sign : This function returns the sign of the value x. If x is a negative number it returns -1 otherwise it returns 1. Example is select sign (-2) from dual;  Sqrt : This function returns the square root of the given number x. Example is select sqrt(36) from dual; ***** 28 *****
  • 29. Date functions  Add_months : It adds the months in specified date with the function. Syntax is ADD_MONTHS(date,m) where date refers to date & m is number value. Example is select add_months(sysdate,2) from dual;  Last_day : It returns the last day of given month which is specified with function. Syntax is LAST_DAY(d) where d is date Example is select last_day(sysdate) from dual;  Months_between : It computes & returns the number of months b/w two dates. Syntax is MONTHS_BETWEEN(date1,date2) Example is select months_between(’13-mar-05’,’01-dec-05’) from dual;  Next_day : It returns the date of first day of the week specified in a string after the beginning date. Syntax is NEXT_DAY(date,ch) where ch refers to character value. Example is select next_day(’13- mar-05’,’sunday’) from dual; ***** 29 *****