Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6323223
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 24, 20262026-05-24T16:28:39+00:00 2026-05-24T16:28:39+00:00

I know what is 1NF in practice, this are my rules when designing DB.

  • 0

I know what is 1NF in practice, this are my rules when designing DB. I have not done much on enterprise level, but my designs till now have done well. I check following when taking care of 1NF. Let me take the example of a phonebook where people have multiple email addresses and multiple contact numbers like home, mobile, work1, work2 and can add more.

This is my schema, not normalized:
phonebook
first_name, middle_name, last_name, email_1, email_2, email_3(may be more will be added in future), mobile_1, mobile_2, work_1, work_2, (and more will get added).

  1. If data is getting duplicated in a column say email_address then it has to be moved to a separate table email details and the id has to be used in the master table.
  2. I avoid groups, say when people have multiple email accounts like email_1, email_2 to avoid querying how many email addresses a person is having or performing deletion.
  3. Always put a primary key to uniquely identify a row, this assists in deletion of records.

As per First Normal Form

  1. There’s no top-to-bottom ordering to the rows.
  2. There’s no left-to-right ordering to the columns.
  3. There are no duplicate rows.
  4. Every row-and-column intersection contains exactly one value from the applicable domain (and nothing else).
  5. All columns are regular [i.e. rows have no hidden components such as row IDs, object IDs, or hidden timestamps].

I am not able to understand the meaning of this points.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-24T16:28:40+00:00Added an answer on May 24, 2026 at 4:28 pm
    1. There’s no top-to-bottom ordering to the rows.
    2. There’s no left-to-right ordering to the columns.

    This is just a fundamental tenet in the relational world: all sets and relations represented by the table rows and columns are unordered. You should not have any dependency on the particular order of rows or columns within your code.

    1. There are no duplicate rows.

    Relations should be unique, otherwise you will soon have data integrity problem. Imagine what would happen if your phonebook contained your friend’s data twice! When your friend changes his phone number, one of the associated rows surely gets updated, but the other probably not. Now guess what happens when people try to look up his phone number…

    1. Every row-and-column intersection contains exactly one value from the applicable domain (and nothing else).

    I.e. you shouldn’t contain values like "x,y,z", where a single text field is in fact composed of a list of more primitive values.

    1. All columns are regular [i.e. rows have no hidden components such as row IDs, object IDs, or hidden timestamps].

    I believe this says that your rows should be identified only by their key(s), and these should be “normal”, full column values, not contained within e.g. markup text.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I know I have done this before but I can't seem to remember where
I know this question would have been asked several time but still I am
I know we already have many posts about this topic, but I just cannot
I know I can do this by str.c_str() , but I do not want
know nothing about php, but I have this script that reads a folder and
Know this might be rather basic, but I been trying to figure out how
I know this might be a no-brainer, but please read on. I also know
I know, I would have thought the answer was obviously no as well, but
I know this is a stupid question, but I've looked for 45 mins now
I know the input have the maxlength, but I would like to have minlength

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.