Databases Reference
In-Depth Information
Additional Data Structures
There are several other data structures available in your Oracle Database that can be
useful in some circumstances.
Sequences
One of the big problems that occurs in a multiuser database is the difficulty of supplying
unique numbers for use as keys or identifiers. For this situation, Oracle allows you to
create an object called a sequence . The sequence object is fairly simple. Whenever anyone
requests a value from it, it returns a value and increments its internal value, avoiding
contention and time-consuming interaction with the requesting application. Oracle can
cache a range of numbers for the sequence so that access to the next number doesn't
have to involve disk I/O—the requests can be satisfied from the range in the SGA.
Sequence numbers are defined with a name, an incremental value, and some additional
information about the sequence. Sequences exist independently of any particular table,
so more than one table can use the same sequence number.
Consider what might happen if you didn't use Oracle sequences. You might store the
last sequence number used in a column in a table. A user who wanted to get the next
sequence number would read the last number, increment it by a fixed value, and write
the new value back to the column. But if many users tried to get a sequence number at
the same time, they might all read the “last” sequence number before the new “last”
sequence number had been written back. You could lock the row in the table with the
column containing the sequence number, but this would cause delays as other users
waited on locks. What's the solution? Create a sequence.
Oracle Database 11 g allowed the use of sequences within PL/SQL expressions. Oracle
Database 12 c added the identity column datatype, which matches the functionality of
identity columns in other brands of databases, which used to require conversion to a
sequence.
Synonyms
All data structures within an Oracle Database are stored within a specific schema . A
schema is associated with a particular username, and all objects are referenced with the
name of the schema followed by the name of the object.
Schemas are also used as the basis for a form of multitenancy used in
Oracle cloud computing, described in Chapter 15 .
Search WWH ::




Custom Search