+ All Categories
Home > Documents > 1 Chapter 3: Using Oracle to Add, View, and Update Data.

1 Chapter 3: Using Oracle to Add, View, and Update Data.

Date post: 20-Dec-2015
Category:
View: 218 times
Download: 1 times
Share this document with a friend
98
1 Enhanced Guide to Enhanced Guide to Oracle8i Oracle8i hapter 3: sing Oracle to Add, View, nd Update Data
Transcript
Page 1: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

1

Enhanced Guide to Enhanced Guide to Oracle8iOracle8i

Chapter 3:Using Oracle to Add, View, and Update Data

Page 2: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

2

Script: text file that contains a sequence of SQL commands

Running a script:SQL> START path_to_script_file; Path cannot contain any blank spaces

SQL Scripts

Page 3: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

3

Syntax:INSERT INTO tablename VALUES

(column1_value, column2_value, …);

You must insert a value or a NULL placeholder for every field

Fields must be entered in the order they appear in the table when you issue the DESCRIBE command

Inserting a Value Into EveryField in a Record

Page 4: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

4

Inserting a Value Into EveryField in a Record Example:

Page 5: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

5

Command to insert values for selected record fields:INSERT INTO tablename

(column1_name, column2_name, …)

VALUES

(column1_value, column2_value, …);

Inserting Selected Table Fields

Page 6: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

6

Example:

Inserting Selected Table Fields

Page 7: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

7

Format Masks All data is stored in the database in

a standard binary format Format masks are alphanumeric

text strings that specify the format of input and output data Table 3-1: Number format masks Table 3-2: Date format masks Table 3-3: Character format masks

Page 8: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

8

Date values must be converted from characters to dates using the TO_DATE function and a format mask

Example:

Inserting Date Values

Page 9: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

9

Must be enclosed in single quotes Is case-sensitive To insert a string with a single

quote, type the single quote twice Example:'Mike''s Motorcycle Shop'

Inserting Text Data

Page 10: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

10

Transaction Logical unit of work consisting of one or

more SQL DML commands INSERT, UPDATE, DELETE

All transaction commands must succeed or none can succeed

Transaction results are not visible to other users until they are “committed” to the database

Until a transaction is committed, it can easily be “rolled back” (undone)

Transactions

Page 11: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

11

A transaction starts when you type one or more DML commands in SQL*Plus

A transaction ends when you issue either the COMMIT or ROLLBACK command SQL>COMMIT;

SQL>ROLLBACK;

Transactions

Page 12: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

12

Committing and Rolling Back Data COMMIT

Makes transaction command changes permanent in the database and visible to other users

ROLLBACK Rolls back transaction command

changes and restores database to its state before the transaction

Page 13: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

13

Used to mark individual sections of a transaction

You can roll back a transaction to a savepoint

Savepoints

Page 14: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

14

Syntax:UPDATE tablename

SET column1 = new_value,

column2 = new_value, …

WHERE search_condition; Records can be updated in only

one table at a time Can update multiple records if

they all match the search condition

Updating Records

Page 15: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

15

Format:WHERE fieldname operator expression

Operators Equal (=) Greater than, Less than (>, <) Greater than or Equal to (>=) Less than or Equal to (<=) Not equal (< >, !=, ^= LIKE BETWEEN IN NOT IN

Search Conditions

Page 16: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

16

WHERE s_name = ‘Sarah’

WHERE s_age > 18

WHERE s_class <> ‘SR’

Text in single quotes is case sensitive

Search Condition Examples

Page 17: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

17

Syntax:DELETE FROM tablenameWHERE search_condition;

Deletes multiple records if search condition specifies multiple records

If search condition is omitted, all table records are deleted

You can’t delete a record if it contains a primary key value that is referenced as a foreign key

Deleting Records

Page 18: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

18

Truncating Tables Removes all table data without

saving any rollback information Advantage: fast way to delete table

data Disadvantage: can’t be undone

Syntax:TRUNCATE TABLE tablename;

Page 19: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

19

Sequential list of numbers that is automatically generated by the database

Used to generate values for surrogate keys

Sequences

Page 20: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

20

Syntax:CREATE SEQUENCE sequence_name

[optional parameters];

Example:CREATE SEQUENCE f_id_sequence

START WITH 200;

Creating Sequences

Page 21: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

21

Viewing Sequence Information Query the SEQUENCE Data

Dictionary View:

Page 22: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

22

Pseudocolumns Acts like a column in a database

query Actually a command that returns a

specific values Used to retrieve:

Current system date Name of the current database user Next value in a sequence

Page 23: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

23

Pseudocolumn Examples

PseudocolumnName

Output

CURRVAL Most recently retrieved sequence value

NEXTVAL Next value in a sequence

SYSDATE Current system date from database server

USER Username of current user

Page 24: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

24

Retrieving the current system date:SELECT SYSDATEFROM DUAL; Retrieving the name of the current

user:SELECT USERFROM DUAL;

DUAL is a system table that is used with pseudocolumns

Using Pseudocolumns

Page 25: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

25

Accessing the next value in a sequence:

sequence_name.NEXTVAL

Inserting a new record using a sequence:

INSERT INTO my_faculty VALUES

(f_id_sequence.nextval, ‘Professor Jones’);

Using PseudocolumnsWith Sequences

Page 26: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

26

Permissions that you can grant to other users to allow them to access or modify your database objects

Granting object privileges:GRANT privilege1, privilege2, …ON object_nameTO user1, user 2, …;

Revoking object privileges:REVOKE privilege1, privilege2, …ON object_nameFROM user1, user 2, …;

Object Privileges

Page 27: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

27

Examples of Object Privileges

Object Type Privilege Description

Table, Sequence

ALTER Allows user to change object’s structure using the ALTER command

Table, Sequence

DROP Allows user to drop object

Table, Sequence

SELECT Allows user to view object

Table INSERT, UPDATE, DELETE

Allows user to insert, update, delete table data

Any database object

ALL Allows user to perform any operation on object

Page 28: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

28

Granting and Revoking Object Privileges

Page 29: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

29

Syntax:

SELECT column1, column2, …

FROM tablename

WHERE search_condition;

Retrieving Data From a Single Table

Page 30: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

30

To retrieve every column in a table:SELECT * FROM …

To retrieve every record in a table, omit the search conditionSELECT column1, column2, …

FROM tablename;

Retrieving Data From a Single Table

Page 31: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

31

Qualifying Table Names If you retrieve data from a table

that is owned by another user, you must qualify the table name by prefacing it with the owner’s name

Page 32: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

32

Sometimes queries retrieve duplicate records

To suppress duplicate outputs, use the DISTINCT qualifier:SELECT DISTINCT column1, column2, …

FROM ...

Suppressing Duplicate Records

Page 33: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

33

Combining search conditions AND: both conditions must be true OR: either condition can be true

Combining AND and OR in a single operation AND comparisons are evaluated first Always use parentheses to force

conditions to be evaluated in the correct order

Using Multiple Search Conditions

Page 34: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

34

NULL: not defined Use IS NULL search condition

SELECT s_name, s_class

FROM my_students

WHERE s_class IS NULL;

Searching for NULL Records

Page 35: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

35

Use IS NOT NULL operator

SELECT s_name, s_age

FROM my_students

WHERE s_class IS NOT NULL;

Searching for NOT NULL Records

Page 36: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

36

Using the IN and NOT IN Operators IN retrieves all values where the

search column value matches a set of values

SELECT *

FROM enrollment

WHERE grade IN (‘A’, ‘B’);

Page 37: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

37

Using the IN and NOT IN Operators NOT IN retrieves all values where

the search column value matches a set of values

SELECT *

FROM enrollment

WHERE grade NOT IN (‘A’, ‘B’);

Page 38: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

38

Using the LIKE Operator Performs inexact searches by

matching part of a character string

WHERE fieldname LIKE character_string;

Page 39: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

39

Using the LIKE Operator Character string must be in single

quotes and use wildcard characters % represents multiple wildcard characters _ represents a single wildcard character Wildcard characters can be placed at

beginning or end of string

Examples:WHERE s_class LIKE ‘_R’;WHERE s_name LIKE ‘J%’;

Page 40: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

40

Use the ORDER BY clause Specify sort key, which is

column by which output is sorted

SELECT s_name, s_age

FROM my_students

ORDER BY s_age;

Sorting Query Output

Page 41: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

41

Default sort order Numerical: ascending Character: A - Z Date: oldest - newest To force the sort order: use ASC or

DESC Example

SELECT s_name, s_ageFROM my_studentsORDER BY s_age DESC;

Sorting Query Data

Page 42: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

42

Arithmetic operations on retrieved data Addition (+) Subtraction (-) Multiplication (*) Division (/)

Example:SELECT inv_id, qoh*price

FROM inventory;

Using Calculations in Queries

Page 43: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

43

ABS - absolute value CEIL – rounds a number up to the next integer FLOOR – rounds a number down to the

previous integer MOD – returns the remainder of a number and

a divisor POWER - raises a number to an exponent ROUND - rounds a number SQRT – returns the square root of a value TRUNC - truncates a number to the nearest

whole number

Single-RowNumber Functions

Page 44: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

44

Example:SELECT s_name,

TRUNC((SYSDATE - s_dob)/365)

FROM my_students;

Using Single-RowNumber Functions

Page 45: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

45

CONCAT – joins 2 character strings INITCAP – returns a string with the initial letter only

uppercase LENGTH – returns the length of a string LPAD, RPAD – returns a string with a specific number

of characters added on the left or right side LTRIM, RTRIM – returns a string with all instances of a

specific character trimmed from the left or right side REPLACE – replaces all instances of a character with

another character UPPER/LOWER – returns a string in all upper/lower

case letters

Single-RowCharacter Functions

Page 46: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

46

Example:SELECT UPPER(s_name)

FROM my_students;

Using Single-RowCharacter Functions

Page 47: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

47

To find a date that is a specific number of days before or after a known date, add or subtract the number from the known date

Example:SELECT order_date + 30 FROM cust_order;

Date Arithmetic

Page 48: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

48

To find the number of days between two known dates, subtract the later date from the earlier date

Example:SELECT SYSDATE – s_dobFROM my_students;

Date Arithmetic

Page 49: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

49

ADD_MONTHS returns a date that is a specific

number of months after a given date

Example:SELECT ADD_MONTHS(SYSDATE, 6)

FROM dual;

Date Functions

Page 50: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

50

LAST_DATE Returns the date that is the last

day of the month specified in the current date

Example:SELECT LAST_DATE(order_date) FROM cust_orderWHERE order_id = 1057;

Date Functions

Page 51: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

51

MONTHS_BETWEEN Returns the number of months

between two input dates

Example:SELECT MONTHS_BETWEEN(order_date, SYSDATE)

FROM cust_orderWHERE order_id = 1057;

Date Functions

Page 52: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

52

Used to perform an operation on a field from a group of retrieved records AVG (average of all retrieved values) COUNT (number of records retrieved) MAX (maximum value retrieved) MIN (minimum value retrieved) SUM (sum of all retrieved values)

Group Functions

Page 53: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

53

SELECT AVG (s_age) FROM my_students;

SELECT MAX (s_age) FROM my_students;

SELECT MIN (s_age) FROM my_students;

SELECT SUM (s_age) FROM my_students;

Group Function Examples

Page 54: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

54

GROUP BY must be used if some columns in the SELECT clause are used in a group function and some are not

Group all fields that are not included in the group function

Example:SELECT s_class, AVG(s_age)

FROM my_students

GROUP BY s_class;

Using the GROUP BY Clause

Page 55: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

55

Creating Alternate Column Headings in SQL*Plus Syntax:SELECT column1 “heading1”, column2 “heading2”, …

Example:SELECT (SYSDATE – s_dob) “Student Age”

FROM my_students;

Page 56: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

56

Creating a Column Alias Column alias: alternate column

name that can be referenced in the ORDER BY and GROUP BY clauses

Syntax:SELECT column1 AS alias1 …

Example:SELECT (SYSDATE – s_dob) AS age_alias

ORDER BY age_alias

Page 57: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

57

Dynamic SQL Queries Queries that allow users to specify

search conditions at runtime Approaches

Substitution Values Runtime Variables

Page 58: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

58

Using Substitution Values Created when search expression is

prefaced with an ampersand (&) System then prompts user for

value

Page 59: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

59

Using Runtime Variables Runtime variable: variable

defined in SQL*Plus environment Syntax:

DEFINE variable_name = variable_value;

You can then substitute the variable name for a query search condition value

Page 60: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

60

Using Runtime Variables Example:

Page 61: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

61

Formatting Data Using theTO_CHAR Function Used to display NUMBER and DATE

values using a specific format mask Syntax:TO_CHAR(fieldname, ‘format_mask’);

Page 62: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

62

Join Queries Retrieve data from multiple tables

by joining tables using foreign key references

Join query types: Inner (equality) Outer Self Inequality

Page 63: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

63

Inner Joins One record is retrieved for each

matching row

FACULTY

Page 64: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

64

Syntax:SELECT column1, column2, …

FROM table1, table2

WHERE table1.join_column =

table2.join_column

You must include a join condition for every link between 2 tables

Inner Joins

Join condition

Page 65: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

65

Example:SELECT s_name, f_nameFROM student, facultyWHERE student.f_id = faculty.f_id;

If you have N tables in the FROM clause, you must have (N - 1) join conditions

Inner Joins

Page 66: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

66

Qualifying Field Names If a field in the SELECT clause

exists in multiple tables in the FROM clause, you must qualify the field name by prefacing it with either table’s name

Page 67: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

67

1. Identify all of the tables involved in the query, and label:

Display fields Join fields Search fields

2. Write the query List all display fields in the SELECT clause List all table names in the FROM clause List all join condition links in the WHERE

clause List all search fields in the WHERE clause

Process for DesigningComplex Inner Join Queries

Page 68: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

68

Outer Joins Limitation of inner joins: some

records may be omitted if corresponding records don’t exist in one of the tables

Example: retrieve records for all students, along with their corresponding ENROLLMENT information

Page 69: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

69

Outer Joins

Student 105 (Michael Connoly) does not have any ENROLLMENT records

Page 70: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

70

Outer Joins No records retrieved for Michael:

Page 71: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

71

Outer Joins To include records in first (inner)

table, even when they do not have matching records in second (outer) table, place outer join marker (+) beside outer table name in join clause

Page 72: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

72

Outer Joins Outer join marker

Page 73: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

73

Self Joins Used to join a table to itself when

the table has a hierarchical relationship

Page 74: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

74

Self Joins To create a self-join, you need to

create a table alias, which gives an alternate name to the table so you can create a join condition

Syntax to create table alias in FROM clause:

FROM table1 alias1, table2 alias2

Page 75: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

75

Self Joins

P_ID PROJECT_NAME CLIENT_ID MGR_ID PARENT_P_ID

1 Hardware Support Intranet 2 105

2 Hardware Support Interface 2 103 1

3 Hardware Support Database 2 102 1

4 Teller Support System 4 105

5 Internet Advertising 6 105

6 Network Design 6 104 5

7 Exploration Database 5 102

PARENT_PROJECT

P_ID PROJECT_NAME CLIENT_ID MGR_ID PARENT_P_ID

1 Hardware Support Intranet 2 105

2 Hardware Support Interface 2 103 1

3 Hardware Support Database 2 102 1

4 Teller Support System 4 105

5 Internet Advertising 6 105

6 Network Design 6 104 5

7 Exploration Database 5 102

PROJECT

P_ID PROJECT_NAME CLIENT_ID MGR_ID PARENT_P_ID

1 Hardware Support Intranet 2 105

2 Hardware Support Interface 2 103 1

3 Hardware Support Database 2 102 1

4 Teller Support System 4 105

5 Internet Advertising 6 105

6 Network Design 6 104 5

7 Exploration Database 5 102

SUB_PROJECT

Page 76: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

76

Self Join Example

Page 77: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

77

Inequality Joins Join created by placing making

join condition satisfy an inequality condition

Only makes sense when primary/foreign key values are not surrogate keys

Page 78: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

78

Inequality Joins Join created by placing making

join condition satisfy an inequality condition

Only makes sense when primary/foreign key values are not surrogate keys

Page 79: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

79

Inequality Joins

Page 80: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

80

Nested Queries Created when a subquery is nested

within a main query Main query: first query listed in

SELECT command Subquery: retrieves one or more

values that specify the main query’s search condition

Page 81: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

81

Nested Query WhereSubquery Returns a Single Value

Syntax:SELECT column1, column2, …

FROM table1, table2, …

WHERE join conditions

AND search_column1 = (SELECT column1

FROM table1, table2, …

WHERE search and

join conditions)

Subquerythat returnsone value

Page 82: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

82

Nested Query WhereSubquery Returns Multiple Values

Syntax:SELECT column1, column2, …

FROM table1, table2, …

WHERE join conditions

AND search_column1 IN (SELECT column1

FROM table1, table2, …

WHERE search and

join conditions)

Subquerythat returnsmultiple values

Page 83: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

83

Performs set operations on outputs of two unrelated queries

Both queries must have: same number of display fields corresponding display fields must

have same data type

Using Set Operators in Queries

Page 84: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

84

UNION: combines results, suppresses duplicate rows

UNION ALL: combines results, displays duplicates

INTERSECT: finds matching rows MINUS: returns the difference

between returned record sets

Query Set Operators

Page 85: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

85

Selecting Records For Update In a normal SELECT command, the

retrieved records are not locked, and are available for other users to view, updated, and delete

Sometimes, you need to select records, and then immediately update them based on the retrieved values Airline seat reservations Inventory items for sale

Page 86: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

86

Selecting Records For Update Syntax:SELECT column1, column2, …

FROM table1, table2, …

WHERE search and join conditions

FOR UPDATE OF column1, column2, …

NOWAIT;

Page 87: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

87

Selecting Records For Update All retrieved records are locked until

you issue a COMMIT command Fields listed in FOR UPDATE clause are

for documentation purposes only NOWAIT clause is optional

Makes it so when another user tries to retrieved locked record, their system doesn’t just “hang”

Page 88: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

88

Logical table based on a query Does not physically exist in the

database Presents data in a different format

from underlying tables Uses:

Security Simplifying complex queries

Database Views

Page 89: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

89

Creating a view:CREATE VIEW view_name AS

SQL_command;

Views can be queried just like tables:SELECT *

FROM view_name;

Database Views

Page 90: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

90

Simple Views Based on SQL query that retrieves

data from only one table View can support all table DML

operations: INSERT UPDATE DELETE

Page 91: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

91

Complex Views Based on query that retrieves data

from multiple tables Can only be used to support

SELECT operations No DML operations supported

Page 92: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

92

Indexes Index: Separate table

is maintained that shows index keys and physical locations of corresponding records

In Oracle, ROWID is translated to physical location of row on disk

Improves response time of searches and joins

SLName ROWID

Brown 13387289

Jones 13879872

Smith 58925789

Helgeson 29875018

Page 93: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

93

Using Indexes

Create table index AFTER table is populated with data Indexes make INSERT, UPDATE, and DELETE

operations slower because index must also be maintained

Page 94: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

94

Indexing Strategies A table can have indexes on multiple fields

Create indexes based on fields used for search or join operations

Typically, indexes only speed retrievals when <15% of the table records are involved

Each additional index adds processing overhead for INSERT, UPDATE, and DELETE operations

In Oracle, primary keys are automatically indexed

Page 95: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

95

Creating Indexes Syntax:CREATE INDEX index_name

ON tablename(index_field);

Page 96: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

96

Synonyms Alternate name for a table Allows you to not have to preface

table with owner’s username when you are querying a table that belongs to another user

Page 97: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

97

Public Synonyms Can only be created by a DBA Syntax:CREATE PUBLIC SYNONYM synonym_name

FOR owner_name.tablename;

All users with privileges to use table can then use synonym instead of owner_name.tablename

Page 98: 1 Chapter 3: Using Oracle to Add, View, and Update Data.

98

Private Synonyms You can create private synonyms

for any tables that you have privileges to use

Only you can use the synonym Syntax:CREATE SYNONYM synonym_name

FOR table_name.table_name;


Recommended