What is Second Normal Form (2NF) in database design?
2NF means a table is in First Normal Form (1NF) and all non-key columns depend on the whole primary key, not just part of it.
Click to reveal answer
beginner
Why do we use Second Normal Form (2NF)?
To remove partial dependencies and avoid duplicate data, making the database easier to maintain and update.
Click to reveal answer
intermediate
What is a partial dependency in the context of 2NF?
A partial dependency happens when a non-key column depends on only part of a composite primary key, not the whole key.
Click to reveal answer
intermediate
Given a table with a composite key (StudentID, CourseID) and a column 'StudentName', why is this a problem for 2NF?
'StudentName' depends only on 'StudentID', part of the key, causing a partial dependency. This violates 2NF.
Click to reveal answer
intermediate
How do you fix a table that violates 2NF?
Split the table into two: one with the full key and dependent columns, and another with the partial key and its dependent columns.
Click to reveal answer
What must a table already satisfy before it can be in Second Normal Form (2NF)?
AIt must be in First Normal Form (1NF)
BIt must have no null values
CIt must have only one column
DIt must have no foreign keys
✗ Incorrect
2NF requires the table to be in 1NF first, meaning no repeating groups and atomic columns.
What does 2NF primarily aim to eliminate?
APartial dependencies
BTransitive dependencies
CDuplicate rows
DNull values
✗ Incorrect
2NF removes partial dependencies where columns depend on part of a composite key.
If a table has a single-column primary key, is it automatically in 2NF?
ANo, it must be in 3NF first
BNo, it must have multiple keys
CYes, but only if it has no nulls
DYes, because no partial dependency is possible
✗ Incorrect
With a single-column key, partial dependencies cannot exist, so 2NF is automatically satisfied.
Which of these is an example of a partial dependency?
AA column depends on the entire primary key
BA column depends on only part of a composite key
CA column depends on a non-key column
DA column has null values
✗ Incorrect
Partial dependency means a column depends on only part of a composite key.
How can you fix a partial dependency in a table?
ARemove the primary key
BAdd more columns to the table
CSplit the table into two tables to separate dependencies
DAdd null values to dependent columns
✗ Incorrect
Splitting the table removes partial dependencies by isolating columns that depend on part of the key.
Explain Second Normal Form (2NF) and why it is important in database design.
Think about how columns relate to the whole primary key.
You got /3 concepts.
Describe how you would identify and fix a partial dependency in a table with a composite primary key.
Focus on which columns depend on which parts of the key.
You got /3 concepts.
Practice
(1/5)
1. Which of the following best describes the Second Normal Form (2NF) in database design?
easy
A. It removes partial dependencies on a part of a composite key.
B. It eliminates all transitive dependencies.
C. It requires that all columns be atomic.
D. It allows duplicate rows in a table.
Solution
Step 1: Understand 2NF definition
2NF requires that no non-key attribute depends on only part of a composite primary key.
Step 2: Compare options with 2NF
'It removes partial dependencies on a part of a composite key.' correctly states this. 'It eliminates all transitive dependencies.' describes 3NF. 'It requires that all columns be atomic.' describes 1NF, and 'It allows duplicate rows in a table.' is incorrect.
Final Answer:
It removes partial dependencies on a part of a composite key. -> Option A
Quick Check:
2NF = Remove partial dependencies [OK]
Hint: 2NF fixes partial dependencies on composite keys [OK]
Common Mistakes:
Confusing 2NF with 3NF
Thinking 2NF removes all duplicates
Believing 2NF requires atomic columns
2. Which SQL table design violates Second Normal Form (2NF)? CREATE TABLE Orders (OrderID INT, ProductID INT, ProductName VARCHAR(50), Quantity INT, PRIMARY KEY (OrderID, ProductID));
easy
A. OrderID and ProductID together form the primary key.
B. Quantity depends on both OrderID and ProductID.
C. ProductName depends only on ProductID, not the whole key.
D. The table has a composite primary key.
Solution
Step 1: Identify dependencies in the table
ProductName depends only on ProductID, which is part of the composite key (OrderID, ProductID).
Step 2: Check 2NF violation
Since ProductName depends on part of the key, this violates 2NF which forbids partial dependencies.
Final Answer:
ProductName depends only on ProductID, not the whole key. -> Option C
Quick Check:
Partial dependency = 2NF violation [OK]
Hint: Check if non-key columns depend on part of composite key [OK]
Common Mistakes:
Assuming composite key alone ensures 2NF
Ignoring partial dependencies
Confusing primary key with foreign key
3. Given the table below: StudentCourses(StudentID, CourseID, StudentName, CourseName, Grade) Which of the following correctly identifies the partial dependencies violating 2NF?
medium
A. Grade depends only on StudentID.
B. StudentName depends only on StudentID, and CourseName depends only on CourseID.
C. StudentName depends on both StudentID and CourseID.
D. CourseName depends on Grade.
Solution
Step 1: Understand composite key and dependencies
The composite key is (StudentID, CourseID). StudentName depends only on StudentID, CourseName only on CourseID.
Step 2: Check 2NF compliance
2NF requires no partial dependencies. StudentName depending only on StudentID and CourseName only on CourseID are partial dependencies on parts of the composite key, violating 2NF.
Final Answer:
StudentName depends only on StudentID, and CourseName depends only on CourseID. -> Option B
Quick Check:
Partial dependencies exist if 2NF not met [OK]
Hint: In 2NF, no partial dependency on composite key parts [OK]
Common Mistakes:
Thinking Grade depends only on StudentID
Assuming CourseName depends on Grade
Ignoring partial dependencies
4. You have this table: CREATE TABLE Enrollment (StudentID INT, CourseID INT, StudentName VARCHAR(50), CourseName VARCHAR(50), PRIMARY KEY (StudentID, CourseID)); Which change fixes the 2NF violation?
medium
A. Keep the table as is; 2NF is not violated.
B. Add StudentName and CourseName as part of the primary key.
C. Remove the composite key and use a single primary key.
D. Split into three tables: Students(StudentID, StudentName), Courses(CourseID, CourseName), and Enrollment(StudentID, CourseID).
Solution
Step 1: Identify 2NF violation
StudentName depends only on StudentID, CourseName only on CourseID, causing partial dependencies.
Step 2: Fix by splitting tables
Splitting into Students(StudentID, StudentName), Courses(CourseID, CourseName), and Enrollment(StudentID, CourseID) removes partial dependencies, achieving 2NF.
Final Answer:
Split into three tables: Students(StudentID, StudentName), Courses(CourseID, CourseName), and Enrollment(StudentID, CourseID). -> Option D
Quick Check:
Split tables to remove partial dependencies [OK]
Hint: Split tables to fix partial dependencies [OK]
Common Mistakes:
Adding non-key columns to primary key
Removing composite key incorrectly
Ignoring partial dependencies
5. A table has columns: OrderID, ProductID, ProductName, Quantity, SupplierName with composite primary key (OrderID, ProductID). SupplierName depends only on ProductID. How should you redesign the table to achieve 2NF?
hard
A. Create two tables: Orders(OrderID, ProductID, Quantity) and Products(ProductID, ProductName, SupplierName).
B. Add SupplierName to the primary key.
C. Remove ProductID from the primary key.
D. Keep all columns in one table; 2NF is already satisfied.
Solution
Step 1: Identify partial dependency
SupplierName depends only on ProductID, part of the composite key, violating 2NF.
Step 2: Normalize by splitting tables
Separate Products table with ProductID, ProductName, SupplierName removes partial dependency, Orders table keeps OrderID, ProductID, Quantity.
Final Answer:
Create two tables: Orders(OrderID, ProductID, Quantity) and Products(ProductID, ProductName, SupplierName). -> Option A
Quick Check:
Split tables to remove partial dependencies [OK]
Hint: Move partial dependency columns to separate table [OK]
Common Mistakes:
Adding non-key columns to primary key
Removing part of composite key incorrectly
Assuming 2NF allows partial dependencies
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.