Bird
Raised Fist0
DBMS Theoryknowledge~10 mins

First Normal Form (1NF) in DBMS Theory - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - First Normal Form (1NF)
Start with a Table
↓
Check for Atomic Values
Yes↓
No Repeating Groups?
Yes↓
Table is in 1NF
No↓
Remove Non-Atomic or Repeating Data
↓
Repeat Check
The flow checks if a table has only atomic values and no repeating groups. If yes, it is in 1NF; if not, it is fixed and rechecked.
Execution Sample
DBMS Theory
Table:
StudentID | Name | PhoneNumbers
1         | Ana  | 123, 456
2         | Bob  | 789

Check atomic values and repeating groups.
This table has a column with multiple phone numbers in one cell, violating 1NF.
Analysis Table
StepCheckConditionResultAction
1Check PhoneNumbers columnContains multiple values in one cell?YesNot atomic, violates 1NF
2Check for repeating groupsAre there repeating groups?Yes, PhoneNumbersViolates 1NF
3Transform tableSplit PhoneNumbers into separate rowsNow atomic and no repeating groupsTable moves towards 1NF
4Recheck PhoneNumbersAre all values atomic now?YesTable is in 1NF
5EndAll conditions metTable conforms to 1NFStop
💡 Table has only atomic values and no repeating groups, so it is in 1NF.
State Tracker
VariableStartAfter Step 3Final
PhoneNumbers"123, 456", "789""123", "456", "789""123", "456", "789"
Table StateHas multi-valued cellsSplit into atomic rowsAll atomic, no repeats
Key Insights - 3 Insights
Why can't a column have multiple values like '123, 456' in one cell?
Because 1NF requires atomic values, meaning each cell must hold only one value. The execution_table step 1 shows this violation.
What does 'repeating groups' mean in a table?
Repeating groups are sets of multiple values stored in one column or multiple similar columns. Step 2 in execution_table identifies this issue.
How do we fix a table that violates 1NF due to repeating groups?
We split the multi-valued cells into separate rows or columns so each cell holds one atomic value, as shown in step 3.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution_table, what is the state of PhoneNumbers after step 3?
APhoneNumbers still contain multiple values in one cell
BEach phone number is in its own row as atomic values
CPhoneNumbers column is removed
DPhoneNumbers are combined into one string
💡 Hint
Refer to execution_table row 3 and variable_tracker PhoneNumbers after Step 3
At which step does the table become compliant with 1NF?
AStep 4
BStep 3
CStep 1
DStep 5
💡 Hint
Check execution_table row 4 where all values are atomic and no repeats
If the PhoneNumbers column had only one number per cell from the start, how would the execution_table change?
AThe table would never reach 1NF
BStep 3 would still split the numbers
CStep 1 would say 'No', skipping steps 2 and 3
DStep 5 would be removed
💡 Hint
Look at execution_table step 1 condition and action
Concept Snapshot
First Normal Form (1NF):
- Each table cell must hold only one atomic value.
- No repeating groups or arrays allowed in columns.
- Ensures data is organized in simplest form.
- Fix violations by splitting multi-valued cells into separate rows.
- 1NF is the foundation for higher normal forms.
Full Transcript
First Normal Form (1NF) means a database table must have only atomic values in each cell and no repeating groups. We start by checking if any column has multiple values in one cell, like a list of phone numbers. If yes, the table violates 1NF. We fix this by splitting those values into separate rows so each cell holds one value. After this, the table is in 1NF. This process ensures data is simple and organized, making it easier to manage and query.

Practice

(1/5)
1. What does First Normal Form (1NF) primarily ensure in a database table?
easy
A. Tables have multiple primary keys
B. Tables have no foreign keys
C. Each cell contains only one atomic value
D. Data is encrypted for security

Solution

  1. Step 1: Understand the definition of 1NF

    1NF requires that each column in a table holds atomic (indivisible) values, meaning no multiple values or lists in a single cell.
  2. Step 2: Compare options with 1NF definition

    Only Each cell contains only one atomic value matches this requirement. Other options relate to different concepts like keys or security.
  3. Final Answer:

    Each cell contains only one atomic value -> Option C
  4. Quick Check:

    1NF = atomic values only [OK]
Hint: 1NF means no multiple values in one cell [OK]
Common Mistakes:
  • Confusing 1NF with encryption or keys
  • Thinking 1NF allows multiple values in a cell
  • Mixing 1NF with higher normal forms
2. Which of the following table structures violates First Normal Form (1NF)?
easy
A. A table with a column storing multiple phone numbers separated by commas
B. A table where each column contains only single values
C. A table with unique primary keys for each row
D. A table with no repeating rows

Solution

  1. Step 1: Identify the 1NF violation

    1NF forbids multiple values in a single cell. Storing multiple phone numbers separated by commas means one cell holds multiple values.
  2. Step 2: Check other options

    Options B, C, and D follow 1NF rules because they have atomic values and unique rows.
  3. Final Answer:

    A table with a column storing multiple phone numbers separated by commas -> Option A
  4. Quick Check:

    Multiple values in one cell violate 1NF [OK]
Hint: Look for columns with multiple values in one cell [OK]
Common Mistakes:
  • Assuming commas separate values correctly in 1NF
  • Confusing unique rows with atomic values
  • Ignoring multi-valued columns
3. Consider this table data:
StudentID | Courses
1 | Math, Science
2 | English
3 | Math, English

Which statement is true about this table regarding 1NF?
medium
A. The table violates 1NF because the Courses column has multiple values
B. The table is in 1NF because Courses are listed as text
C. The table is in 1NF because each row has a unique StudentID
D. The table violates 1NF because StudentID is not unique

Solution

  1. Step 1: Analyze the Courses column

    The Courses column contains multiple values separated by commas in some rows, which means cells are not atomic.
  2. Step 2: Check uniqueness and 1NF rules

    Although StudentID is unique, 1NF requires atomic values in each cell. Multiple courses in one cell violate 1NF.
  3. Final Answer:

    The table violates 1NF because the Courses column has multiple values -> Option A
  4. Quick Check:

    Multiple values in one cell break 1NF [OK]
Hint: Check if any cell holds multiple values separated by commas [OK]
Common Mistakes:
  • Thinking unique keys alone satisfy 1NF
  • Ignoring multi-valued columns
  • Assuming text format means atomic values
4. You have a table with columns: OrderID, ProductIDs where ProductIDs stores multiple product IDs separated by semicolons. How would you fix this to comply with 1NF?
medium
A. Remove the ProductIDs column entirely
B. Keep the table as is because semicolons separate values
C. Combine all ProductIDs into one string without separators
D. Split the table so each row has one ProductID per OrderID

Solution

  1. Step 1: Identify the 1NF violation

    Storing multiple product IDs in one cell violates 1NF because values are not atomic.
  2. Step 2: Apply 1NF correction

    Splitting the table so each row has one ProductID per OrderID ensures atomic values and removes repeating groups.
  3. Final Answer:

    Split the table so each row has one ProductID per OrderID -> Option D
  4. Quick Check:

    One value per cell fixes 1NF violation [OK]
Hint: Make each cell hold only one value by splitting rows [OK]
Common Mistakes:
  • Thinking separators alone satisfy 1NF
  • Removing columns instead of fixing data structure
  • Combining values into one string without atomicity
5. A table stores employee skills as follows:
EmpID | Skills
101 | Java, Python
102 | Python
103 | Java, SQL, Python

How can you transform this table into 1NF compliant form?
hard
A. Keep skills as comma-separated values in one cell
B. Create a new row for each skill per EmpID
C. Remove the Skills column and store skills elsewhere
D. Combine all skills into a single string without commas

Solution

  1. Step 1: Identify multi-valued attribute

    The Skills column contains multiple skills separated by commas, violating 1NF.
  2. Step 2: Normalize by creating multiple rows

    To comply with 1NF, create a separate row for each skill linked to the same EmpID, making each cell atomic.
  3. Final Answer:

    Create a new row for each skill per EmpID -> Option B
  4. Quick Check:

    One skill per row ensures 1NF compliance [OK]
Hint: Turn multi-valued cells into multiple rows [OK]
Common Mistakes:
  • Leaving multi-valued cells unchanged
  • Removing data instead of restructuring
  • Combining values without atomicity
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