What is the main rule of First Normal Form (1NF) in databases?
1NF requires that each column in a table contains only atomic (indivisible) values, and each record is unique with no repeating groups or arrays.
Click to reveal answer
beginner
Why should a table not have repeating groups or arrays in 1NF?
Repeating groups or arrays make data hard to query and update. 1NF avoids this by ensuring each field holds only one value, making data simpler and consistent.
Click to reveal answer
beginner
Which of these violates 1NF?
StudentID | Courses
1 | Math, Science
2 | English
This violates 1NF because the 'Courses' column contains multiple values (Math, Science) in one field. Each field should have only one value.
Click to reveal answer
intermediate
How can you fix a table that violates 1NF due to multiple values in one column?
You can create a separate row for each value or use a related table to store multiple values, so each field holds only one atomic value.
Click to reveal answer
beginner
What does it mean for a value to be atomic in the context of 1NF?
Atomic means the value cannot be divided further. For example, a single phone number is atomic, but a list of phone numbers in one field is not.
Click to reveal answer
Which of the following is a violation of First Normal Form (1NF)?
AA column contains multiple phone numbers separated by commas
BEach row has a unique ID
CEach column contains only one value
DNo duplicate rows exist
✗ Incorrect
1NF requires each column to have atomic values. Multiple phone numbers in one field violate this.
What does 1NF ensure about the structure of a database table?
ATables have indexes
BForeign keys are used properly
CData is encrypted
DNo repeating groups and atomic column values
✗ Incorrect
1NF focuses on eliminating repeating groups and ensuring atomic values in columns.
How can you correct a table that stores multiple values in one column to meet 1NF?
AAdd more columns with the same values
BSplit the values into separate rows or related tables
CUse a comma-separated string in the same column
DIgnore it, 1NF does not care
✗ Incorrect
Splitting values into separate rows or tables ensures atomicity and meets 1NF.
Which of these is an atomic value suitable for 1NF?
AA single email address
BA list of hobbies separated by commas
CMultiple phone numbers in one field
DAn array of tags
✗ Incorrect
An atomic value is indivisible, like a single email address.
What problem does 1NF help to avoid?
ALack of user permissions
BSlow network connections
CData redundancy and complex queries due to multi-valued fields
DIncorrect data types
✗ Incorrect
1NF avoids multi-valued fields that cause redundancy and make queries complex.
Explain in your own words what First Normal Form (1NF) means and why it is important.
Think about how data should be stored in each column.
You got /4 concepts.
Describe a real-life example where a table violates 1NF and how you would fix it.
Imagine a list of phone numbers stored in one cell.
You got /3 concepts.
Practice
(1/5)
1. What does First Normal Form (1NF) require in a database table?
easy
A. Each table must have a primary key.
B. Tables must have at least two columns.
C. Each column must contain atomic (single) values only.
D. Columns can contain lists or multiple values.
Solution
Step 1: Understand 1NF definition
1NF requires that each column holds only one atomic value per row, no lists or sets.
Step 2: Evaluate options
Each column must contain atomic (single) values only. matches the 1NF rule exactly. Options A, B, and D describe other concepts or violate 1NF.
Final Answer:
Each column must contain atomic (single) values only. -> Option C
Quick Check:
1NF = atomic columns only [OK]
Hint: 1NF means no multiple values in one cell [OK]
Common Mistakes:
Thinking 1NF requires a primary key
Allowing lists or sets in columns
Confusing 1NF with other normal forms
2. Which of the following SQL table definitions violates First Normal Form (1NF)?
easy
A. CREATE TABLE Students (ID INT, Name VARCHAR(50), PhoneNumbers VARCHAR(100));
B. CREATE TABLE Students (ID INT PRIMARY KEY, Name VARCHAR(50), PhoneNumber VARCHAR(15));
C. CREATE TABLE Students (ID INT, Name VARCHAR(50), Email VARCHAR(50));
D. CREATE TABLE Students (ID INT, Name VARCHAR(50), Address VARCHAR(100));
Solution
Step 1: Identify 1NF violation in table definitions
CREATE TABLE Students (ID INT, Name VARCHAR(50), PhoneNumbers VARCHAR(100)); uses PhoneNumbers as VARCHAR(100), likely storing multiple numbers in one field, violating 1NF.
Step 2: Check other options
Options A, B, and C have single atomic values per column, so they follow 1NF.
Final Answer:
CREATE TABLE Students (ID INT, Name VARCHAR(50), PhoneNumbers VARCHAR(100)); -> Option A
Quick Check:
Multiple values in one column break 1NF [OK]
Hint: Multiple values in one column break 1NF [OK]
Common Mistakes:
Assuming VARCHAR can hold multiple values without issue
Confusing primary key with 1NF rules
Ignoring column data types when checking 1NF
3. Given the table below, which row violates First Normal Form (1NF)?
Orders(OrderID, Customer, Items) Where Items column contains comma-separated product IDs.
Row 2 has 'P2,P3' in Items, which is multiple values in one cell, violating 1NF.
Step 2: Check other rows
Rows 1, 3, and 4 have single product IDs, so they follow 1NF.
Final Answer:
Row 2 -> Option B
Quick Check:
Multiple values in one cell break 1NF [OK]
Hint: Comma-separated values in one cell break 1NF [OK]
Common Mistakes:
Ignoring multiple values separated by commas
Assuming string with commas is atomic
Not checking all rows carefully
4. You have this table definition violating 1NF:
CREATE TABLE Employees (ID INT, Name VARCHAR(50), Skills VARCHAR(100));
Skills column stores multiple skills separated by commas. Which SQL change fixes the 1NF violation?
medium
A. Store skills as a single string with semicolons instead of commas.
B. Change Skills to TEXT and store JSON arrays.
C. Keep Skills as VARCHAR but limit length to 50.
D. Create a separate Skills table with EmployeeID and Skill columns.
Solution
Step 1: Identify 1NF violation and fix approach
Storing multiple skills in one column violates 1NF. The fix is to separate repeating data into another table.
Step 2: Evaluate options for 1NF compliance
Create a separate Skills table with EmployeeID and Skill columns. creates a separate Skills table with one skill per row, fixing 1NF. Options B, C, and D still store multiple values in one column.
Final Answer:
Create a separate Skills table with EmployeeID and Skill columns. -> Option D
Quick Check:
Separate repeating data into new table for 1NF [OK]
Hint: Use separate table for repeating groups to fix 1NF [OK]
Common Mistakes:
Trying to store multiple values in one column anyway
Using JSON or delimiters inside one column
Not normalizing repeating data into separate tables
5. You have a table storing orders with multiple products in one column:
How do you redesign the schema to fully comply with First Normal Form (1NF)?
hard
A. Create a new table OrderProducts(OrderID, ProductID) with one product per row.
B. Split Products into multiple columns like Product1, Product2, Product3.
C. Store Products as JSON array in the same column.
D. Keep Products column but restrict to one product ID only.
Solution
Step 1: Identify 1NF violation in current design
Storing multiple product IDs in one column violates 1NF because values are not atomic.
Step 2: Choose redesign that enforces atomicity
Create a new table OrderProducts(OrderID, ProductID) with one product per row. creates a new table with one product per row, fully normalizing the data and satisfying 1NF. Split Products into multiple columns like Product1, Product2, Product3. uses multiple columns but is limited and not scalable. Options C and D still violate 1NF.
Final Answer:
Create a new table OrderProducts(OrderID, ProductID) with one product per row. -> Option A
Quick Check:
Separate repeating data into rows for 1NF compliance [OK]
Hint: Use separate table with one value per row for 1NF [OK]
Common Mistakes:
Adding multiple columns instead of rows
Using JSON or arrays inside one column
Restricting to one product but losing data
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.