Difficulty: Easy
Correct Answer: To accomplish both simplification and protection of sensitive columns
Explanation:
Introduction / Context:Views are often used as a security and abstraction layer. By exposing only selected columns, you can present a minimal, business-friendly interface while protecting confidential attributes (such as salaries or personal identifiers).
Given Data / Assumptions:
Concept / Approach:Define a view that projects only non-sensitive columns (and optionally filters rows). Grant users access to the view, not the base table. This both simplifies query writing and prevents accidental exposure of confidential data.
Step-by-Step Solution:
Identify sensitive columns → exclude them from the view definition.Grant SELECT on the view only to intended roles.Applications query the view to get just what they need.Verification / Alternative check:Audits and permissions show users can read from the view but cannot SELECT from base tables lacking grants.
Why Other Options Are Wrong:Only simplification / only protection: Views can do both simultaneously. Views do not hide columns: They do by projecting a subset. Improve plans only: Plan quality is not the primary reason for views; abstraction and security are.
Common Pitfalls:Granting base-table access inadvertently bypasses the view’s protections. Always enforce least privilege.
Final Answer:To accomplish both simplification and protection of sensitive columns
Discussion & Comments