Difficulty: Easy
Correct Answer: Correct
Explanation:
Introduction / Context:
This question examines the rules for inserting rows through a view. When inserting via a view, the DBMS must be able to populate all required base-table columns. If the view does not expose some NOT NULL columns (without defaults), the DBMS has no values to insert, and the operation fails.
Given Data / Assumptions:
Concept / Approach:
For an INSERT to succeed, every base-table column that is NOT NULL and lacks a DEFAULT must receive a value. If the column is not present in the view projection, the user cannot provide that value through the view, making the insert impossible unless other mechanisms exist (DEFAULTs, computed generated stored columns, INSTEAD OF trigger).
Step-by-Step Solution:
Verification / Alternative check:
If DEFAULTs are defined or an INSTEAD OF trigger computes values, inserts can succeed. The question’s general statement (without such aids) holds true.
Why Other Options Are Wrong:
Common Pitfalls:
Forgetting to include required columns in a view intended for inserts; assuming DBMS will auto-populate them; overlooking DEFAULT constraints or triggers as remedies.
Final Answer:
Correct
Discussion & Comments