Bird
Raised Fist0
DBMS Theoryknowledge~20 mins

Second Normal Form (2NF) in DBMS Theory - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
2NF Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
🧠 Conceptual
intermediate
2:00remaining
Understanding the Definition of 2NF

Which of the following best describes the Second Normal Form (2NF) in database normalization?

AA table is in 2NF if it is in 1NF and all non-key attributes are fully functionally dependent on the entire primary key.
BA table is in 2NF if it contains only atomic values and no nulls.
CA table is in 2NF if it has no transitive dependencies between non-key attributes.
DA table is in 2NF if it has no repeating groups and all attributes depend on the primary key.
Attempts:
2 left
💡 Hint

Recall that 2NF builds on 1NF by focusing on how attributes depend on the primary key.

🚀 Application
intermediate
2:00remaining
Identifying Partial Dependency

Consider a table with a composite primary key (StudentID, CourseID) and attributes: StudentName, CourseName, and Grade. Which attribute violates 2NF?

ACourseID
BGrade
CStudentName
DCourseName
Attempts:
2 left
💡 Hint

Think about which attributes depend on only part of the composite key.

🔍 Analysis
advanced
2:00remaining
Evaluating Table Normalization Status

Given a table with primary key (OrderID, ProductID) and attributes: OrderDate, ProductName, Quantity, and SupplierName. Which attribute(s) cause the table to not be in 2NF?

AOrderDate and SupplierName
BProductName and SupplierName
CQuantity only
DOrderDate only
Attempts:
2 left
💡 Hint

Consider which attributes depend on only part of the composite key.

❓ Comparison
advanced
2:00remaining
Difference Between 1NF and 2NF

Which statement correctly contrasts First Normal Form (1NF) and Second Normal Form (2NF)?

A1NF requires atomic values; 2NF requires no partial dependency on a composite key.
B1NF requires no partial dependency; 2NF requires atomic values.
C1NF requires no transitive dependency; 2NF requires no repeating groups.
D1NF requires full functional dependency; 2NF requires no null values.
Attempts:
2 left
💡 Hint

Think about what each normal form focuses on.

❓ Reasoning
expert
2:00remaining
Impact of Partial Dependency on Data Integrity

Why can partial dependency in a table with a composite primary key lead to data anomalies?

ABecause transitive dependencies cause redundant data storage.
BBecause atomic values are not enforced, leading to duplicate rows.
CBecause the table cannot have a primary key defined, causing errors in queries.
DBecause changes to a non-key attribute dependent on part of the key may require multiple updates, causing inconsistency.
Attempts:
2 left
💡 Hint

Consider how partial dependency affects update operations.

Practice

(1/5)
1. Which of the following best describes the Second Normal Form (2NF) in database normalization?
easy
A. It requires the table to have no duplicate rows.
B. It removes transitive dependencies.
C. It removes partial dependencies on a composite primary key.
D. It ensures all columns are atomic.

Solution

  1. Step 1: Understand 2NF definition

    2NF requires that every non-key attribute is fully functionally dependent on the entire primary key, not just part of it.
  2. Step 2: Compare options

    It removes partial dependencies on a composite primary key correctly states removal of partial dependencies on composite keys. Other options describe 1NF (atomic columns), uniqueness, or 3NF (transitive dependencies).
  3. Final Answer:

    It removes partial dependencies on a composite primary key. -> Option C
  4. Quick Check:

    2NF = Remove partial dependencies [OK]
Hint: 2NF removes partial dependencies on composite keys [OK]
Common Mistakes:
  • Confusing 2NF with 1NF or 3NF
  • Thinking 2NF removes transitive dependencies
  • Believing 2NF applies to single-column keys only
2. Which of the following is the correct condition for a table to be in Second Normal Form (2NF)?
easy
A. Every non-key attribute must depend on the whole primary key.
B. All attributes must be unique.
C. There must be no transitive dependencies.
D. The table must have no repeating groups.

Solution

  1. Step 1: Recall 2NF condition

    2NF requires that non-key attributes depend on the entire primary key, not just part of it.
  2. Step 2: Analyze options

    Every non-key attribute must depend on the whole primary key matches this condition. The table must have no repeating groups describes 1NF, There must be no transitive dependencies describes 3NF, and All attributes must be unique is unrelated to normalization.
  3. Final Answer:

    Every non-key attribute must depend on the whole primary key. -> Option A
  4. Quick Check:

    2NF = Full dependency on primary key [OK]
Hint: Non-key attributes depend on entire key in 2NF [OK]
Common Mistakes:
  • Mixing 2NF with 1NF or 3NF conditions
  • Assuming uniqueness means 2NF
  • Ignoring composite keys in dependency
3. Consider a table with columns StudentID, CourseID, and InstructorName. The primary key is a composite of StudentID and CourseID. If InstructorName depends only on CourseID, what is the normalization status of this table?
medium
A. The table is not in 2NF due to partial dependency.
B. The table is in 2NF.
C. The table is in 3NF.
D. The table violates 1NF.

Solution

  1. Step 1: Identify dependencies

    InstructorName depends only on CourseID, which is part of the composite key (StudentID, CourseID).
  2. Step 2: Check for partial dependency

    Since InstructorName depends on only part of the key, this is a partial dependency, violating 2NF.
  3. Final Answer:

    The table is not in 2NF due to partial dependency. -> Option A
  4. Quick Check:

    Partial dependency means not 2NF [OK]
Hint: Partial dependency on part of key breaks 2NF [OK]
Common Mistakes:
  • Assuming table is 2NF because it has a composite key
  • Confusing 2NF with 3NF
  • Ignoring partial dependencies
4. A table has columns OrderID, ProductID, ProductName, and Quantity. The primary key is composite: (OrderID, ProductID). The ProductName depends only on ProductID. What is the error in this design regarding 2NF?
medium
A. There is a transitive dependency violating 2NF.
B. The primary key is not composite.
C. The table is already in 2NF.
D. There is a partial dependency violating 2NF.

Solution

  1. Step 1: Identify dependency of ProductName

    ProductName depends only on ProductID, part of the composite key (OrderID, ProductID).
  2. Step 2: Recognize partial dependency

    This partial dependency violates 2NF, which requires full dependency on the entire key.
  3. Final Answer:

    There is a partial dependency violating 2NF. -> Option D
  4. Quick Check:

    Partial dependency breaks 2NF [OK]
Hint: Partial dependency on part of composite key breaks 2NF [OK]
Common Mistakes:
  • Confusing partial with transitive dependency
  • Thinking primary key must be single column for 2NF
  • Assuming table is normalized without checking dependencies
5. You have a table with columns EmployeeID, ProjectID, EmployeeName, and ProjectName. The primary key is composite: (EmployeeID, ProjectID). Both EmployeeName and ProjectName depend only on their respective single keys (EmployeeID and ProjectID). How should you redesign the tables to achieve 2NF?
hard
A. Keep one table but remove EmployeeName and ProjectName columns.
B. Split into three tables: Employee(EmployeeID, EmployeeName), Project(ProjectID, ProjectName), and Assignment(EmployeeID, ProjectID).
C. Add a new composite key including EmployeeName and ProjectName.
D. No changes needed; the table is already in 2NF.

Solution

  1. Step 1: Identify partial dependencies

    EmployeeName depends only on EmployeeID, and ProjectName depends only on ProjectID, parts of the composite key.
  2. Step 2: Normalize by splitting tables

    To remove partial dependencies, create separate tables for Employee and Project details, and a linking table for assignments.
  3. Final Answer:

    Split into three tables: Employee(EmployeeID, EmployeeName), Project(ProjectID, ProjectName), and Assignment(EmployeeID, ProjectID). -> Option B
  4. Quick Check:

    Separate tables remove partial dependencies [OK]
Hint: Split tables to remove partial dependencies for 2NF [OK]
Common Mistakes:
  • Trying to keep all data in one table
  • Adding composite keys incorrectly
  • Ignoring partial dependencies on composite keys
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard