Oracle 8i Tutorials
Oracle 8i Tutorials
Definations In Oracle :
ATTRIBUTE(COLUMN):- IT REPRESENTS A PARTICULAR CHARACTERSTIC OF A
PARTICULAR ENTITY. E.Q. ROLLNO , NAME , AGE OF A STUDENT.
ENTITY (ROW) :- IT REPRESENTS A RECORD/AN INSTANCE OF A PARTICULAR
ENTITY.
CELL:- IT REPRESENTS VALUE/DATA ITEM OF AN ATTRIBUTE OF A RECORD.
ENTITY SET (TABLE):- IT IS A COLLECTION OF MULTIPLE
ENTITIES/RECORDS/INSTANCE/ROWS . IT IS A 2-D STRUCTURE WHICH IS
COMPOSED OF ROWS AND COLUMNS WHERE EACH COLUMN REPRESENTS A
PARTICULAR CHARACTERSTIC AND EACH ROW REPRESENTS A RECORD OF A
PARTICULAR ENTITY.
DATABASE:- IT IS A COLLECTION OF TABLES RELEATED TO PARTICUALAR
SUBJECT.
DATABASE MANAGEMENT SYSTEM(DBMS):- IT IS A SOFTWARE(SYSTEM)
WHICH HELPS THE USER TO MANAGE THE DATABASE IN AN EFFICIENT MANNER.
IT ALLOWS THE USER TO SELECT , INSERT , UPDATE AND DELETE RECORDS IN
VARIOUS TABLES. IT PROVIDES VARIOUS TYPES OF COMMANDS TO PERFORM
VARIOUS TYPES OF OPERATIONS. IT ALSO ALLOWS USER TO CREATE VIEWS ,
PROCEDURES AND SO MANY OTHER THINGS SO THAT IT BECOMES QUITE EASY
FOR THE USER TO HANDLE THE DATABASE. IT IS BASICALLY OF THREE TYPES :RELATIONAL (RDMBS) HIERARCHIAL NETWORK
RELATIONAL DATABASE MANAGEMENT SYSTEM(RDBMS):IT IS A TYPE OF DBMS IN THE CONECEPT OF RELATIONS IS USED . A RELATION
CAN BE IN BETWEEN ATTRIBUTES OF A SINGLE ENTITY OR A RELATION CAN BE
IN BETWEEN TWO OR MORE THAN ENTITIES BOUND BY A COMMON COLUMN.
ORACLE IS ALSO A RDBMS. OTHER EAXMPLES OF ORACLE ARE :- MS-ACCESS ,
SQL SERVER ETC.
SQL(STRUCTURED QUERY LANGUAGE) :- IT IS A QUERY LANGUAGE WHICH
PROVIDES VARIOUS TYPES OF QUERIES TO PERFORM VARIOUS TASKS. THREE
TYPES OF SQL QUERIES ARE AS FOLLOWS :DDL (DATA DEFINATION LANGUAGE) :- THIS TYPE OF QUERY ALLOWS US TO
CREATE AND ALTER VARIOUS OBJECTS LIKE TABLES AND VIEWS. E.Q, CREATE
TABLE , CREATE VIEW , ALTER TABLE , ALTER VIEW ETC.
DML (DATA MANIPULATION LANGUAGE) :- THIS TYPE OF QUERY ALLOWS US TO
SELECT , INSERT , UPDATE AND DELETE DATA FROM VARIOUS TABLES.
VARIOUS COMMONLY USED DML COMMANDS USED IN ORACLE :1.INSERT :- THIS COMAMND IS USED TO INSERT DATA IN TABLES.
(A)VALUES ARE FEEDED IN THE SAME ORDER IN WHICH COLUMNS WERE
CREATED IN CREATE TABLE COMMAND.
SYNTAX :- INSERT INTO tablename VALUES(value1,value2,..,valuen);
EXAMPLE :- INSERT INTO student VALUES(1,'amit', 21 , 88);
(B) TO FEED VALUES IN LIMITED COLUMNS , WE MUST MENTION FIELD NAMES .
SYNTAX :- INSERT INTO student(columnname1,columnname2,. Columnnamen)
VALUES(value1, value2 , .. valuen)
EXAMPLE :i. INSERT INTO student(rollno,name) VALUES(3, 'raj')
ii. INSERT INTO student(rollno,age,marks) VALUES(5, 25,65)
(C) TO FEED VALUES IN ALL THE COLUMNS , THEN MENTIONING COLUMN
NAMES IS OPTIONAL.
EXAMPLE:i.INSERT INTO student(rollno,name,age,marks) VALUES(4, 'aryan',24,74)
ii. INSERT INTO student VALUES(4, 'aryan',24,74)
NOT IN:- THIS OPERATOR RETURNS TRUE IF A VALUE DOES NOT MATCH TO ANY
OF MULTIPLE VALUES SPECIFIED WITH NOT IN OPERATOR.
SYNTAX:SELECT * FROM tablename WHERE columnname NOT IN (value1, value2,., valuen)
EXAMPLE:SELECT * FROM student WHERE name NOT IN ('aman', 'amit', 'sumit')
LIKE:- THIS OPERATOR RETURNS TRUE IF A VALUE MATCHES TO A SPECIFIED
PATTERN OF A STRING. WILDCARDS USED WITH LIKE OPERAOTOR ARE :% - IT DENOTES TO ZERO OR MORE CHARACTERS.
_ - IT DENOTES TO ONE CHARACTER.
SYNTAX:SELECT * FROM tablename WHERE columnname LIKE pattern
EXAMPLE:1.SELECT * FROM student WHERE name LIKE 'a%'
2.SELECT * FROM student WHERE name LIKE 'a%n'
3.SELECT * FROM student WHERE name LIKE 'a___'
ORACLE IN-BUILT FUNCTIONS:ORACLE INBUILT FUNCTIONS SERVE THE PURPOSE OF MANIPULATING DATA
AND RETURN A VALUE. ORACLE INBUILT FUNCTIONS ARE OF TWO TYPES:1.AGGREGATE FUNCTIONS/GROUP FUNCTIONS:THESE TYPE OF FUNCTIONS ACT ON A SET OF VALUES AND RETURN A SINGLE
VALUE. SOME OF THE EXAMPLES OF AGGREGATE FUNCTIONS ARE AS
FOLLOWS:NUMERIC FUNCTIONS:A.SUM:- THIS FUNCTION FINDS THE SUM OF A SET OF VALUES
EXAMPLE:- SELECT SUM(marks) FROM student
B.COUNT:- THIS FUNCTION COUNTS A SET OF VALUES
EXAMPLE:- SELECT COUNT(marks) FROM student
C.AVG:- THIS FUNCTION FINDS THE AVERAGE OF A SET OF VALUES
EXAMPLE:- SELECT AVG(marks) FROM student
D.MAX:- THIS FUNCTION FINDS THE MAXIMUM VALUE FROM A SET OF VALUES
EXAMPLE:- SELECT MAX(marks) FROM student
E.MIN:- THIS FUNCTION FINDS THE MINIMUM VALUE FROM A SET OF VALUES
EXAMPLE:- SELECT MIN(marks) FROM student
CONSTRAINTS IN ORACLE :- :
CONSTRAINTS ARE LIMITATIONS OR VALIDATION RULES APPLIED ON VARIOUS
COLUMNS.
FOREIGN KEY CONSTRAINT:A FOREIGN KEY IS A COLUMN WHOSE VALUES ARE DERIVED FROM PRIMARY
KEY OR UNIQUE KEY OF OTHER TABLE. THE TABLE IN WHICH PRIMARY KEY IS
DEFINED IS KNOWN AS PRIMARY TABLE OR MASTER TABLE OR PARENT TABLE.
THE TABLE IN WHICH FOREIGN KEY IS DEFINED IS KNOWN AS FOREIGN TABLE
OR DETAIL TABLE OR CHILD TABLE.
SOME OF THE FEATURES OF PRIMARY KEY/FOREIGN KEY RELATIONSHIP:1.PRIMARY KEY CAN NOT ACCEPT DUPLICATE VALUES WHEREAS FOREIGN KEY
CAN ACCEPT.
2. PRIMARY KEY CAN NOT ACCEPT NULL VALUES WHEREAS FOREIGN KEY CAN
ACCEPT.
3. VALUES ENTERED IN FOREIGN KEY OF DETAIL TABLE MUST BE PRESENT IN
PRIMARY KEY OF PRIMARY TABLE OTHERWISE WHENEVER USER TRIES TO
PERFORM INSERT OR UPDATE OPERATION , ORACLE DISPLAYS ERROR.
4.TO PERFORM UPDATE OR DELETE OPERATIONS ON PRIMARY KEY OF MASTER
TABLE , CORROSPONDING VALUES MUST NOT BE PRESENT IN FOREIGN KEY OF
FOREIGN TABLE, OTHERWISE ORACLE DISPLAY ERROR .
5.IN REFERENCES CLAUSE , WE NEED TO MENTION ONLY NAME OF THE PARENT
TABLE. PRIMARY KEY OF PRIMARY TABLE IS AUTOMATICALLY ATTACHED TO
FOREIGN KEY OF FOREIGN TABLE.
6.IF ON DELETE CASCADE OPTION HAS BEEN SET , THEN DELETE OPERATION IN
MATSER TABLE WILL TRIGGER DELETE OPERATION IN CHILD TABLE.
EXAMPLE(TO CREATE FOREIGN KEY BY REFERRING PRIMARY TABLE):CREATE TABLE fees7 (rollno NUMBER(3) REFERENCES student7, fees NUMBER(6,2))
EXAMPLE(TO CREATE FOREIGN KEY BY REFERRING PRIMARY TABLE , ALSO
SPECIFY FOREIGN KEY CONSTRAINT NAME):CREATE TABLE fees7 (rollno NUMBER(3) CONSTRAINT fk_fees7 REFERENCES
student7, fees NUMBER(6,2))
EXAMPLE(TO DELETE FOREIGN KEY USING ALTER TABLE COMMAND BY
SPECIFYING FOREIGN KEY CONSTRAINT NAME):ALTER TABLE fees7 DROP CONSTRAINT fk_fees7
EXAMPLE(TO CREATE FOREIGN KEY USING ALTER TABLE COMMAND BY
REFERRING PRIMARY TABLE , ALSO SPECIFY FOREIGN KEY CONSTRAINT
NAME):ALTER TABLE fees7 ADD FOREIGN KEY(rollno) REFERENCES student7
EXAMPLE(TO CREATE FOREIGN KEY BY REFERRING PRIMARY TABLE , ALSO
SETTING ON DELETE CASCADE OPTION):CREATE TABLE fees7 (rollno NUMBER(3) CONSTRAINT fk_fees7 REFERENCES student7
ON DELETE CASCADE, fees NUMBER(6,2))
UNION/INTERSECT/MINUS CLAUSE:UNION:BY USING UNION CLAUSE . MULTIPLE QUERIES ARE PUT TOGETHER AND THEIR
OUTPUT IS COMBINED.
OUTPUT OF UNION CLAUSE = RECORDS ONLY IN QUERY 1 + RECORDS IN ONLY
QUERY 2 + A SINGLE SET OF RECORDS WHICH IS COMMON IN BOTH THE
QUERIES.
EXAMPLE:SELECT rollno FROM student6 UNION SELECT rollno FROM student7
INTERSECT:BY USING INTERSECT CLAUSE . MULTIPLE QUERIES ARE PUT TOGETHER AND
THEIR OUTPUT IS COMBINED.
OUTPUT OF INTERSECT CLAUSE = A SINGLE SET OF RECORDS WHICH IS COMMON
IN BOTH THE QUERIES.
EXAMPLE:SELECT rollno FROM student6 INTERSECT SELECT rollno FROM student7
MINUS:BY USING UNION CLAUSE . MULTIPLE QUERIES ARE PUT TOGETHER AND THEIR
OUTPUT IS COMBINED.
OUTPUT OF MINUS CLAUSE = RECORDS IN QUERY 1 - RECORDS IN QUERY 2
(ONLY THOSE RECORDS ARE DISPLAYED FROM QUERY 1 WHICH ARE NOT
PRESENT IN QUERY 2)
EXAMPLE:SELECT rollno FROM student6 MINUS SELECT rollno FROM student7
JOINS:JOINS ARE USED TO COMBINE THE DATA OF TWO OR MORE THAN TWO TABLES.
JOINS PROVIDE A GREAT FLEXIBILITY TO THE USER TO SEE THE RECORDS OF
MULTIPLE TABLES RELATED TO EACH OTHER. WITH THE HELP OF JOINS ,
SUMMARY FROM VARIOUS TABLES CAN EASILY BE OBTAINED. JOINS ARE OF
MULTIPLE TYPES:
INNER JOIN:- INNER JOINS ARE USED TO COMBINE THE DATA OF TWO OR
MORE THAN TWO TABLES IN WHICH ONLY THOSE RECORDS OF BOTH THE
TABLES ARE DISPLAYED WHICH SATISFY A SPECIFIED CONDITION.
EXAMPLE:SELECT student.rollno,name, fees.rollno,fees FROM student INNER JOIN fees ON
student.rollno=fees.rollno
LEFT OUTER JOIN:- LEFT OUTER JOINS ARE USED TO COMBINE THE DATA
OF TWO OR MORE THAN TWO TABLES IN WHICH ALL THE RECORDS OF
LEFT TABLE ARE DISPLAYED AND ONLY THOSE RECORDS OF RIGHT TABLE
ARE DISPLAYED WHICH SATISFY A SPECIFIED CONDITION.
EXAMPLE:SELECT student.rollno,name, fees.rollno,fees FROM student LEFT OUTER JOIN fees
ON student.rollno=fees.rollno
RIGHT OUTER JOIN:- RIGHT OUTER JOINS ARE USED TO COMBINE THE
DATA OF TWO OR MORE THAN TWO TABLES IN WHICH ALL THE RECORDS
OF RIGHT TABLE ARE DISPLAYED AND ONLY THOSE RECORDS OF LEFT
TABLE ARE DISPLAYED WHICH SATISFY A SPECIFIED CONDITION.
EXAMPLE:SELECT student.rollno,name, fees.rollno,fees FROM student RIGHT OUTER JOIN fees
ON student.rollno=fees.rollno
FULL OUTER JOIN:- FULL OUTER JOINS ARE USED TO COMBINE THE DATA
OF TWO OR MORE THAN TWO TABLES IN WHICH ALL THE RECORDS OF
BOTH TABLES ARE DISPLAYED
EXAMPLE:SELECT student.rollno,name, fees.rollno,fees FROM student FULL OUTER JOIN fees
ON student.rollno=fees.rollno
VIEWS:
INDEXES:
AN INDEX TABLE HAS TWO COLUMNS:1.FIRST COLUMN WILL HOLD STORED DATA IN SORTED ORDER OF THE COLUMN
OF BASE TABLE ON WHICH INDEX IS CREATED.
2.SECOND COLUMN INDENTIFIES THE LOCATION OF RECORD IN ORACLE
DATABASE. THIS ADDRESS FIELD IS CALLED ROWID. INDEXING IS AN STRATEGY
TO SEARCH AND SORT RECORDS IN THE TABLE FASTLY. IT IS A TECHNIQUE TO
IMPROOVE THE SPEED. WITHOUT INDEXING, SEQUENTOTAL SEARCH OPERATION
IS PERFORMED ON TABLE WHICH DEGRADES THE PERFORMANCE OF
SYSTEM.
TOO MANY INDEXES ON A TABLE:- EACH TIME , A RECORD IS INSERTED IN A
TABLE, ORACLE ENGINE INSERTS A RECORD BOTH IN DATA FILES AND INDEX
TABLES. IN INDEX TABLE , RECORDS ARE MAINTAINED IN ASCENDING ORDER. IF
TOO MANY INDEXES ARE CREATED ON A TABLE , IT WILL TAKE LONGER TO
INSERT A RECORD IN A TABLE. ALTHOUGH INDEXES ENHANCE THE
PERFORMANCE OF SELECT COMMAND , IT DEGRADES THE PERFORMANCE OF
INSERT COMMAND. SO A PROPER BALANCE BETWEEN THESE TWO NEED TO
BE MAINTAINED.
CATEGORIES OF INDEX BASED ON UNIQUENESS OF INDEXED COLUMN:1.DUPLICATE INDEXES:- DUPLICATE INDEXES ALLOW DUPLICATE VALUES FOR
INDEXED COLUMN.
EXAMPLE:CREATE INDEX idx_rn_fees ON fees(rollno);
2.UNIQUE INDEXES:- UNIQUE INDEXES ALLOW ONLY UNIQUE VALUES FOR
INDEXED COLUMN.
EXAMPLE:CREATE UNIQUE INDEX idx_rn_fees ON fees(rollno);
CATEGORIES OF INDEX BASED ON NO OF COLUMNS IN AN INDEX:1.SIMPLE INDEX:- AN INDEX CREATED ON SINGLE COLUMN IS SIMPLE INDEX.
EXAMPLE:CREATE INDEX idx_rn_fees ON fees(rollno);
2.COMPOSITE INDEX:- AN INDEX CREATED ON MULTIPLE COLUMNS IS
COMPOSITE INDEX.
EXAMPLE:CREATE INDEX idx_rn_fees ON fees(class,rollno);
EXAMPLE(TO DELETE AN INDEX):DROP INDEX idx_rn_fees
SEQUENCES: