Bird
0
0

Which SQL statement correctly creates a table that follows Third Normal Form (3NF)?

easy📝 Syntax Q12 of 15
SQL - Database Design and Normalization
Which SQL statement correctly creates a table that follows Third Normal Form (3NF)?
ACREATE TABLE Orders (OrderID INT PRIMARY KEY, CustomerID INT, CustomerName VARCHAR(50));
BCREATE TABLE Orders (OrderID INT PRIMARY KEY, CustomerName VARCHAR(50), CustomerAddress VARCHAR(100));
CCREATE TABLE Orders (OrderID INT PRIMARY KEY, CustomerID INT); CREATE TABLE Customers (CustomerID INT PRIMARY KEY, CustomerName VARCHAR(50));
DCREATE TABLE Orders (OrderID INT, CustomerName VARCHAR(50));
Step-by-Step Solution
Solution:
  1. Step 1: Identify 3NF compliance in table design

    3NF requires separating data so non-key columns do not depend on other non-key columns. CustomerName depends on CustomerID, so it should be in a separate table.
  2. Step 2: Analyze options

    CREATE TABLE Orders (OrderID INT PRIMARY KEY, CustomerID INT); CREATE TABLE Customers (CustomerID INT PRIMARY KEY, CustomerName VARCHAR(50)); splits Orders and Customers, following 3NF. CREATE TABLE Orders (OrderID INT PRIMARY KEY, CustomerID INT, CustomerName VARCHAR(50)); stores CustomerName in Orders, violating 3NF. The other options miss primary keys or mix data improperly.
  3. Final Answer:

    CREATE TABLE Orders (OrderID INT PRIMARY KEY, CustomerID INT); CREATE TABLE Customers (CustomerID INT PRIMARY KEY, CustomerName VARCHAR(50)); -> Option C
  4. Quick Check:

    Separate related data into tables = 3NF [OK]
Quick Trick: Split tables to avoid non-key dependencies [OK]
Common Mistakes:
  • Putting dependent data in the same table
  • Missing primary keys
  • Ignoring data duplication issues

Want More Practice?

15+ quiz questions · All difficulty levels · Free

Free Signup - Practice All Questions
More SQL Quizzes