0% found this document useful (0 votes)
106 views

Oracle Course

This document provides an overview of key concepts in database management including: - Defining raw data and grouping related data - Identifying unique, non-unique, and relationships between data - Components of a database including tables, views, indexes, triggers and more - Common operations for managing tables like create, insert, update, delete and queries - Advanced query techniques including aggregate functions, string/date manipulation, subqueries, and joins The document is a training guide that covers fundamental and advanced concepts for working with databases.

Uploaded by

srinivas810
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
106 views

Oracle Course

This document provides an overview of key concepts in database management including: - Defining raw data and grouping related data - Identifying unique, non-unique, and relationships between data - Components of a database including tables, views, indexes, triggers and more - Common operations for managing tables like create, insert, update, delete and queries - Advanced query techniques including aggregate functions, string/date manipulation, subqueries, and joins The document is a training guide that covers fundamental and advanced concepts for working with databases.

Uploaded by

srinivas810
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 27

Oracle

Table of contents
• What is a database?
• Fundamentals of database
• Table management
• Inserting data
• Updating data
• Deleting data
• Query management
– Simple queries
– Aggregate functions
– String manipulation
– Date manipulation
– Sub queries
– Equi join
– Outer join
– Self join
– Union, intersection, minus
• View management
• Sequence Management
• Index Management
• Constraints Management
• Triggers
• Stored procedures
• Exceptions
• Sequences
• Constraints
• DBA features

Softsmith Infotech
Fundamentals of database
• Applications are used by end users and they enter a group
of raw data
• This data is later collated and used by management to
arrive at meaningful information
• Before we first understand the technical aspects of
database, we must understand the business data clearly
• Rule 1: In any application, first identify raw data
• Rule 2: Group related data and associate data type and
size (summary and detail)
• Rule 3: Create a set of samples for each of these groups
for better clarity
• Rule 4: Identify unique and non-unique data
• Rule 5: Identify the relationship between the data

Softsmith Infotech
Raw Data and Grouping
• Let us take railways reservation as the application
• The raw data could be
– Passenger name
– Age
– Date of journey
– Train name
– From station
– To Station
– PNR number
– Route codes
– Stations covered in the route
• The data groups would be
• Train related data – train number, train name, route in which it is running
• Station related data – station code, station name, station RMS Pincode,
station type (junction, station etc)
• Ticket related data – PNR Number, passenger name, date of journey,
set or berth, age, from station, to station, train code etc

Softsmith Infotech
Unique and non-unique data
• Unique data means a data that does not repeat
itself
• Station code is unique across country
• Train code is unique across country
• PNR number is unique across country
• Coach number is unique within a train, but not
unique across system
• Seat number is unique within a coach and train
• Passenger name is not unique
• Ticket price is not unique
Softsmith Infotech
Relationship between data
• One PNR number is associated with one train code
• One PNR number is associated with one or more
passenger names
• One train code is associated with one or more
stations
• One train code is associated with one route code
• All relationships will fall under one-to-one, one-to-
many, many-to-one
• Many-to-many is a combinations of the above
• We need to identify the relationships between the
data to understand clearly the dependency between
data

Softsmith Infotech
Components of database
• A physical database installation in a machine
has the following logical entities
– Database (group of tables)
– Tables (that contain data)
– Views
– Index files
– Triggers
– Sequences
– Stored procedures (packages, functions, procedures)
– Users to access the tables

Softsmith Infotech
Table Management
• Create, alter and drop are the operations on a table
• To create a table, we need to supply the table name, column names
and attributes, for each column whether it is a null or not null
column, what is the default value for that column, whether the
column is primary key or not
• CREATE TABLE is the command to be used
• When we want to add a column to a table or to change the attributes
of a column in a table, we use ALTER TABLE command
• We cannot remove a column from a table
• If we want to remove the table from the database, we need to use
DROP TABLE command
• When a table is dropped, the data is also lost
• Dual is a default built-in table to do any on the fly calculations
• The usual column data types will be number, varchar2, char, date

Softsmith Infotech
Inserting Data
• INSERT operation into a table requires data to
be entered
• We can insert all column values or selective
column values
• When insert is successful, we will get a success
message
• When we try to enter a duplicate value into a
table, we will get duplicate constraint violation
message
• During insert, if we do not supply a value, the
default value for a column is used to fill up that
column
• We can insert data only to one table at a time
Softsmith Infotech
Update Operation
• When we want to modify data in a table, we can use
UPDATE command
• We can update only one table at a time
• When we update we need to use the SET clause to set
the values for a particular column
• During update also, if try to update a record, such that it
results in duplicate record, we will get a unique constraint
violation message
• If we use update command without WHERE clause, it
will update all the records
• It is not recommended to update, without giving a where
clause
• Examples
– Update employee set salary = 1000
– Update employee set salary = 2000 where designation =
‘SALESMANAGER’
Softsmith Infotech
Delete Operation
• When we want to remove data in a table, we can use
DELETE command
• We can delete only one table at a time
• We cannot delete a particular column; it is always one
row or multiple rows
• If we use delete command without WHERE clause, it
will delete all the records
• It is not recommended to delete, without giving a
where clause
• Example
– delete from employee
– Delete from employee where designation = ‘HRMANAGER’

Softsmith Infotech
SELECT Queries
• When we want to retrieve data from a table, we
use SELECT clause
• Most of the times, testers use SELECT queries
only
• SELECT has a lot of variations and clauses.
Hence SELECT is a must for all testers
• SELECT queries can handle date and string
manipulation commands as well
• SELECT helps to filter, search and sort data
• SELECT helps to find out relationships in data

Softsmith Infotech
Simple query
• SELECT * from TRAINS
– this will get all columns in the table
• SELECT TRAIN_CODE, TRAIN_NAME from
TRAINS
– this will return only 2 columns from the table
• SELECT TRAIN_NAME from TRAINS WHERE
number_of_coaches > 15
– This is a simple filter
• SELECT TRAIN_NAME from TRAINS WHERE
number_of_coaches > 15 AND TRAIN_CODE < 100
– This is a complex filter

Softsmith Infotech
Aggregate functions
• Aggregate functions work on the whole set of
records
• SELECT max(salary) from EMPLOYEE
– this will get the maximum salary data from the table
• SELECT min(salary) from EMPLOYEE
– this will get the minimum salary data from the table
• SELECT avg(salary) from EMPLOYEE
– this will get the average salary data from the table
• SELECT count(*) from EMPLOYEE
– this will get the number of records in the table
• SELECT sum(salary) from EMPLOYEE
– this will get the sum of all salary data from the table

Softsmith Infotech
String/Numeric/Date Manipulation Functions
• Lower – this will convert to lower case
• Upper – this will convert to upper case
• Substr – this will return a portion of the string
• Soundex – will look for sounding matches
• Floor – will show the lower side value
• Ceil – will show the upper side value
• Round – will round off the number to the nearest value
• Sysdate – will show the current date
• Current_timestamp – will show the current timestamp
• To_date and to_char – to manipulate date formats

Softsmith Infotech
Operators
• We can use arithmetic operators like +, -, *, /
• Logical operators are AND, OR, NOT
• Open and close brackets are used to group
items
• % is used along with LIKE operator
• Where firstname LIKE ‘%raj%’ will search for raj
anywhere in firstname column
• Distinct is an operator on a column to fetch
distinct values present in all rows
• IN operator is used to provide a set of values in
the WHERE clause
• BETWEEN operator is used to provide a range
of values in the WHERE clause
Softsmith Infotech
SubQuery
• Sub query is query within a query
• This is used to ensure that the WHERE condition is
further getting values from another query
• Select employee_name, salary from employee where
designation = (select designation from positionmaster
where positioncategory like ‘%MANAGER%’)
• The innermost select is executed first and then the outer
select is executed
• In sub queries, if we use = in where condition, the
subquery must return only one value
• In sub queries, if we use IN clause in where condition,
the subquery can return more than one values

Softsmith Infotech
JOINs
• Joins are nothing but a cross product of one or more tables
• Inner join is used to get records that match a condition in all
tables
• In joins we use alias to denote table names
• Outer join is used to get records from more than one tables,
irrespective of the condition match in left or right table
• Example
– SELECT a.empname, b.projectname from employees a, projects b
where a.employeecode = b.employeecode and b.projectstatus =
‘Active’
• To create outer join we use + sign to the left table or right
table

Softsmith Infotech
Union, Intersect, Minus
• Union is used to combine many SELECT
queries. The result will be all records fetched by
all queries. If 2 records match in 2 different
queries, it is printed once in the result
• Intersect is used to combine many SELECT
queries. The result will be the common records
between the 2 select queries
• Minus is used to find out the difference between
2 SELECT queries
• In all these cases, the columns selected must be
the same in all select statements
• We can use all these to find the referential
integrity of the database

Softsmith Infotech
Views
• A view is a virtual table
• A view is used to simplify a complex select
statement
• A view can bring multiple data from many tables
• For all query purposes, a view is treated as a
table
• Create View SalesPeople As Select
employeename from employees where
designation like ‘%SALES%’
• When we create views, our job to write complex
queries get reduced
Softsmith Infotech
Index Files, Transactions
• Index files are pointers to the exact location of a record
on the disk
• These help us to search faster. Hence a query executes
faster
• If we do not have index on a column, and we search
based on that column, it becomes sequential. The
performance will be poor
• Index can be unique or non-unique
• By using index files, search works as binary search
• When we do insert or update or delete, we can make
that permanent by issuing a COMMIT statement
• If we want to ignore the previous insert, update, delete
statements, we use ROLLBACK statement

Softsmith Infotech
Triggers
• Trigger is an automatic event that happens based on
insert or update or delete
• We cannot pass parameters to triggers
• A trigger can happen before or after the operation
• Create or replace trigger is used to get the trigger in
database
• :NEW.column or :OLD.column is used to retrieve internal
values when the triggers are fired
• Drop trigger is used to remove the trigger
• To test a trigger, first do the required insert or delete or
update operation on the primary table
• Do a select query on the other tables on which the
trigger operated

Softsmith Infotech
Stored Procedures
• These are executable code written in PLSQL
• These reside inside oracle
• We can write loops, conditions etc including exception handling
• This comes in 2 parts – package header and package body
• The package header contains procedures and function definitions
• The package body contains actual executable code of functions and
procedures
• Procedures and functions take parameters
• They must be explicitly executed and they are not automatic
• Before executing procedures, set serveroutput on
• Functions must return a value to the left hand side
• Usually functions are used when there is only one return value or
there is a true/false returns
• Inside stored procedures, people write any database queries as
required by application logic
• To execute, from the prompt, give
– exec packagename.procedurename(paramaters)

Softsmith Infotech
Exceptions
• Exceptions must be handled inside stored
procedures or triggers
• This will ensure that the code does not crash
• When Others is the generic exception
• SQLCODE and SQLERRM will hold the error
number and error text
• Usually no_data_found and dup_val_on_index
are checked in most of the places

Softsmith Infotech
Cursors
• When a stored procedure needs to retrieve only one
record, we use into clause in the select statement
• When the procedure needs to process a record set, we
use cursor
• Declare the cursor and provide the select statement
• Use OPEN, FETCH and CLOSE commands to access
the cursor
• Cursorname%notfound will be set to true if there are no
more records to fetch
• Cursorname%count will provide the number of records in
the cursor

Softsmith Infotech
Sequences
• Sequences are used to generate auto
increment values
• Use Create sequence command and
provide minimum, maximum, start and
increment values
• Sequcen.nextval will provide the next
sequence number
• This can be used in any insert statements
subsequently
Softsmith Infotech
Constraints
• Not Null is a constraint while creating a
table
• Primary Key is a constraint
• Foreign Key is a constraint
• Check is a constraint to ensure that a
column has only specified values
• Unique index is also a constraing

Softsmith Infotech
DBA Features
• This list gives only the features and not detailed
information
– Creating database
– Creating users
– Providing access rights to users across tables
– Backup and restore
– Crash recovery
– Replication
– Loading of bulk data
– Partitioning of data across disks
Softsmith Infotech

You might also like