Difficulty: Easy
Correct Answer: Incorrect
Explanation:
Introduction / Context:
Surrogate keys are system-generated identifiers (for example, numeric IDs) that uniquely identify rows without business meaning. Oracle provides mechanisms to generate such values, but this question asks whether Oracle “directly supports the definition of surrogate keys” as a special modeling construct.
Given Data / Assumptions:
Concept / Approach:
Oracle does not have a special “SURROGATE KEY” keyword or constraint type. Instead, you implement surrogate keys using standard features: define a PRIMARY KEY column and generate its values using a sequence (optionally with a trigger) or by declaring the column as GENERATED {ALWAYS|BY DEFAULT} AS IDENTITY (12c+). These are general-purpose generators; they are not a distinct “surrogate key” construct. Therefore, the statement that Oracle “directly supports the definition of surrogate keys” (as a unique, named, built-in concept) is not accurate; Oracle supports generation, not a special key type.
Step-by-Step Solution:
Verification / Alternative check:
Oracle documentation lists identity columns and sequences, not a “surrogate key” feature. The modeling term remains conceptual.
Why Other Options Are Wrong:
Common Pitfalls:
Equating sequences with primary keys; omitting constraints that guarantee uniqueness; assuming “surrogate” is a SQL keyword.
Final Answer:
Incorrect
Discussion & Comments