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

Oracle 12c: SQL: Additional Database Objects

The document discusses additional database objects in Oracle 12c including sequences, indexes, and synonyms. Sequences are used to generate sequential integers and have options like start value and caching. Indexes like B-tree indexes improve query performance. Synonyms create aliases for database objects. The document provides examples and explanations of creating, altering, and removing these objects.

Uploaded by

RaiuCollege
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
35 views

Oracle 12c: SQL: Additional Database Objects

The document discusses additional database objects in Oracle 12c including sequences, indexes, and synonyms. Sequences are used to generate sequential integers and have options like start value and caching. Indexes like B-tree indexes improve query performance. Synonyms create aliases for database objects. The document provides examples and explanations of creating, altering, and removing these objects.

Uploaded by

RaiuCollege
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 39

Oracle 12c: SQL

Chapter 6
Additional Database Objects

©2016. Cengage Learning. All rights reserved.


Objectives
• Define the purpose of a sequence and state how it
can be used in a database
• Explain why gaps may appear in the integers
generated by a sequence
• Use the CREATE SEQUENCE command to create
a sequence
• Call and use sequence values
• Identify which options cannot be changed by the
ALTER SEQUENCE command
• Delete a sequence

©2016. Cengage Learning. All rights reserved. 2


Objectives (continued)

• Create indexes with the CREATE INDEX command


• Explain the main index structures: B-tree and
bitmap
• Verify index use with the explain plan
• Introduce variations on conventional indexes,
including a function-based index and an index
organized table

©2016. Cengage Learning. All rights reserved. 3


Objectives (continued)

• Verify index existence via the data dictionary


• Rename an index with the ALTER INDEX
command
• Remove an index using the DELETE INDEX
command
• Create and remove a public synonym

©2016. Cengage Learning. All rights reserved. 4


Database Objects
• An object is anything that has a name and defined
structure
• Includes:
– Table – stores data
– Sequence – generates sequential integers
– Index – allows users to quickly locate specific
records
– Synonym – alias for other database objects

©2016. Cengage Learning. All rights reserved. 5


Sequences

• Used for internal control purposes by providing


sequential integers for auditing
• Used to generate unique value for primary key
column
– Surrogate key = no correlation with actual row
contents

©2016. Cengage Learning. All rights reserved. 6


Creating a Sequence

• Use the CREATE SEQUENCE command


• Various intervals are allowed – Default: 1
• You can specify the starting number –
Default: 1

©2016. Cengage Learning. All rights reserved. 7


Creating a Sequence (continued)

• Can specify MINVALUE for decreasing


sequence and MAXVALUE for increasing
sequence
• Numbers can be reused if CYCLE is specified
• ORDER clause is used in application cluster
environment
• Use CACHE to pregenerate integers – Default:
20

©2016. Cengage Learning. All rights reserved. 8


Creating a Sequence (continued)

©2016. Cengage Learning. All rights reserved. 9


Creating a Sequence (continued)

• To verify the settings for options of a


sequence, query USER_SEQUENCES data
dictionary view

Next Number to issue

©2016. Cengage Learning. All rights reserved. 10


Using Sequence Values
• NEXTVAL – generates integer

©2016. Cengage Learning. All rights reserved. 11


Using Sequence Values (continued)
• CURRVAL – contains last integer generated
by NEXTVAL

©2016. Cengage Learning. All rights reserved. 12


Using Sequence Values (continued)
• Set column DEFAULT value

©2016. Cengage Learning. All rights reserved. 13


Altering Sequence Definitions

• Use ALTER SEQUENCE command to change the


settings for a sequence
• START WITH value cannot be altered – drop the
sequence and re-create it
• Changes cannot make current integers invalid

©2016. Cengage Learning. All rights reserved. 14


ALTER SEQUENCE Command
Example

©2016. Cengage Learning. All rights reserved. 15


Removing a Sequence

• Use the DROP SEQUENCE command to


delete a sequence
• Previous values generated are not affected
by removing a sequence from a database

©2016. Cengage Learning. All rights reserved. 16


Removing a Sequence (continued)

©2016. Cengage Learning. All rights reserved. 17


Create an Identity Column
• Alternative to using sequences to populate
primary key columns

©2016. Cengage Learning. All rights reserved. 18


Using an Identity Column

©2016. Cengage Learning. All rights reserved. 19


Indexes

• An index stores frequently referenced values and


ROWIDs
• Can be based on one column, multiple columns,
functions, or expressions

©2016. Cengage Learning. All rights reserved. 20


B-Tree Index

©2016. Cengage Learning. All rights reserved. 21


B-Tree Index (continued)

• Implicitly create an index by PRIMARY KEY and


UNIQUE constraints
• Explicitly create an index by using the CREATE
INDEX command

©2016. Cengage Learning. All rights reserved. 22


CREATE INDEX Command Examples

©2016. Cengage Learning. All rights reserved. 23


The Explain Plan

©2016. Cengage Learning. All rights reserved. 24


Bitmap Indexes

©2016. Cengage Learning. All rights reserved. 25


Function-Based Indexes

©2016. Cengage Learning. All rights reserved. 26


Index Organized Tables
• An IOT stores table contents in a B-tree index
structure
• Use the “ORGANIZATION INDEX” option in a
CREATE TABLE statement to build an IOT

©2016. Cengage Learning. All rights reserved. 27


Verifying an Index

• Use the USER_INDEXES data dictionary


view to determine that the index exists
• Use the USER_IND_COLUMNS data dictionary
view to determine the column index information

©2016. Cengage Learning. All rights reserved. 28


Verifying an Index (continued)

©2016. Cengage Learning. All rights reserved. 29


USER_IND_COLUMNS

©2016. Cengage Learning. All rights reserved. 30


Removing an Index

• Use the DROP INDEX command to


remove an index

©2016. Cengage Learning. All rights reserved. 31


Synonyms

• Synonyms serve as permanent aliases for


database objects
• Simplify object references
• Can be private or public
– Private synonyms are only available to the user who
created them
– PUBLIC synonyms are available to all database
users

©2016. Cengage Learning. All rights reserved. 32


CREATE SYNONYM Command
Syntax

©2016. Cengage Learning. All rights reserved. 33


CREATE SYNONYM Command

©2016. Cengage Learning. All rights reserved. 34


Deleting a SYNONYM
• A private synonym can be deleted by its
owner
• A PUBLIC synonym can only be deleted by a
user with DBA privileges

©2016. Cengage Learning. All rights reserved. 35


Summary
• A sequence can be created to generate a series of integers
• The values generated by a sequence can be stored in any table
• A sequence is created with the CREATE SEQUENCE command
• Gaps in sequences might occur if the values are stored in various tables, if
numbers are cached but not used, or if a rollback occurs
• A value is generated by using the NEXTVAL pseudocolumn
• The CURRVAL pseudocolumn is NULL until a value is generated by
NEXTVAL
• The USER_OBJECTS data dictionary object can be used to confirm the
existence of all schema objects
• The USER_SEQUENCES data dictionary object is used to view sequence
settings
• A sequence may be set as a column DEFAULT value
• An identity column can be created to manage primary key population as
an alternative to using sequences

©2016. Cengage Learning. All rights reserved. 36


Summary (continued)
• The ALTER SEQUENCE command is used to modify an existing
sequence; the only settings that can’t be modified are the START
WITH option and any option that would be invalid because of
previously generated values
• The DUAL table is helpful for testing sequence value generation
• The DROP SEQUENCE command deletes an existing sequence
• An index can be created to speed up the query process
• DML operations are always slower when indexes exist
• Oracle 11g creates an index for PRIMARY KEY and UNIQUE
constraints automatically
• An explicit index is created with the CREATE INDEX command
• An index can be used by Oracle 11g automatically if a query
criterion or sort operation is based on a column or an expression
used to create the index
©2016. Cengage Learning. All rights reserved. 37
Summary (continued)
• The two main structures for indexes are B-tree and bitmap
• The explain plan can verify whether an index is used in a query
• Function-based indexes are used to index an expression or the
use of functions on a column or columns
• An index organized table is a table stored in a B-tree structure to
combine the index and table into one database object
• Information about an index can be retrieved from the
USER_INDEXES and USER_IND_COLUMNS views
• An index can be dropped with the DROP INDEX command
• An index can be renamed with the ALTER INDEX command

©2016. Cengage Learning. All rights reserved. 38


Summary (continued)
• Except for a name change, an index can’t be modified; it must be
deleted and then re-created
• A synonym provides a permanent alias for a database object
• A public synonym is available to any database user
• A private synonym is available only to the user who created it
• A synonym is created by using the CREATE SYNONYM command
• A synonym is deleted by using the DROP SYNONYM command
• Only a user with DBA privileges can drop a public synonym

©2016. Cengage Learning. All rights reserved. 39

You might also like