Insertion, Updation and Deletion Anamolies are very frequent if database is not normalized. To understand these anomalies let us take an example of a Student . Database Normalization: Explain 1NF, 2NF, 3NF, BCNF With Examples + PDF: The purpose of normalization is to make the life of users easier. 1NF is the most basic of normal forms – each cell in a table must contain only one piece of information, and there can be no duplicate rows. 2NF and 3NF are all.

Author: Fautaxe Fenrinris
Country: Guatemala
Language: English (Spanish)
Genre: Science
Published (Last): 14 December 2012
Pages: 206
PDF File Size: 12.35 Mb
ePub File Size: 7.84 Mb
ISBN: 667-8-47804-333-5
Downloads: 40786
Price: Free* [*Free Regsitration Required]
Uploader: Zulugore

By ezample our site, 2hf acknowledge that you have read and understand our Cookie PolicyPrivacy Policyand our Terms of Service. In relational database design, there is a concept of database normalization or simply normalization, bcnc is a process of organizing columns attributes and tables relations to reduce data redundancy and improve data integrity.

As most articles are somewhat technical and thus harder to understand, I’m asking for someone to write an easier to understand explanation based on examples about what 1NF, 2NF, 3NF, even 3.

We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.

1NF, 2NF, 3NF and BCNF in Database Normalization | Studytonight

If this question can be reworded to fit the rules in the help centerplease edit the question. Recall that a primary key can be exampe up of multiple columns. As Chris said in his response:. Say you have a table containing courses that are taken in a certain semester, and you have the following data:.

Normalization of Database

This is not in 2NFbecause the fourth column does not rely 3nff the entire key – but only a part of it. The course name is dependent on the Course’s ID, but has nothing to do with which semester it’s taken in.


Thus, as you can see, we have duplicate information – several rows telling us that IT is programming, and IT 3bf Databases. Okay, so let’s say we also add the name of the teacher of the course, and some details about them, into the RDBMS:.

To fix this, we do much the same as we did in 2NF – take the TeacherName field out of this table, and put it in its own, which has TeacherID as the key. So each additional Normal Form requires everything that the lower normal forms had, plus some extra conditions, which must all be fulfilled. I’ve never had a good memory for exact wording, but in my database class I think the professor always said something like:.

Your table is organized as an unordered set of data, and there are no repeating columns.

Every column in your table relates only to your table’s key — you wouldn’t have a column in a table that describes another column in your table which isn’t the key. I have written an article in more detail over here. What are database normal forms and can you give examples? Jax 4, 3 22 As Chris said in his response: Just think about it in terms of the relationship between things. Similarly, if I ask you “what teacher has the ID ? Thus, the course name is dependent on its ID.

So the ID is not dependent on the name – it’s the name that is dependent on the ID. You can also think of it this way – look at the third table down the first with TeacherName in it.

What’s to stop me having “Mr Jones” in the first row, but then putting “Mr Bloggs” in the second row? I shouldn’t be allowed to do that, because they’ve both got the ID of In some courts, a witness is asked if they will tell “The truth, the whole truth, and nothing but the truth, so help me God”; as God is considered to be the one with authority when it comes to knowing if you’re telling the truth.


In the case of databases, we can say “The data depends on the key, the whole key and nothing but the key, so help me Codd”. Ted Codd is the one who came up with the idea of relational databases – things relying on keys, etc.

I’ve never had a good memory for exact wording, but in my database class I think the professor always said something like: Please dont confuse us, as 1 sentense answer doesnt clarify the answer but confuse visitors! Here’s a quick, admittedly butchered response, but in a sentence: You don’t repeat data in one column of your table because of another column.

For more detail, see wikipedia As far as I can tell, 1NF’s eschewing of repeating groups does not refer to repeating columns, but rather single columns that represent an arbitrary number of repeated values for the same attribute, i. I base this on e.

Only one value per column 2NF: All the non primary key columns in the table should depend on the 3nc primary key. Arcturus 1, 1 12 Because you didn’t provide attribution. I’ve edited the answer to provide attribution. Got it, thank you: Whenever possible, include the example in the answer itself. A casual user should be able to read your answer and get some value from it without having to click the blog link.

The answer should be self-contained, in other words. Also note that this question is two years old, and already has a highly-upvoted answer that was marked as accepted by the OP.

Late answers are scrutinized more carefully by the community to xeample whether or not they add genuine additional value to the OP. Arcturus read through the article, still one of the better explanations for normalization out there. Stack Overflow works best with JavaScript enabled.