Questions tagged [3nf]

Third normal form (3NF) is a database design principle originally defined by E.F. Codd in 1971. It is built on the First normal form (1NF) and Second normal form(2NF). A relation R is in third normal form if it is in second normal form and every non-prime attribute of R is non-transitively dependent on each candidate key of R.

3NF is a normal form used in database normalization originally defined by E.F. Codd in 1971. It is built on top of First normal form (1NF) and Second normal form (2NF). A table is in 3NF if and only if for each of its functional dependencies X → Y, at least one of the following conditions holds:

  • X contains Y (that is, X → Y is trivial functional dependency), or
  • X is a superkey, or
  • every attribute in Y-X, the set difference between Y and X is a prime attribute is contained within a candidate key.

In other words it states that all non-key attributes should be determined by the candidate keys and not by any non-key attributes.

Normalization beyond 3NF

Most 3NF tables are free of update, insertion of deletion anomalies. Certain types of 3NF are affected by such anomalies. Some tables fail short of Boyce-Codd normal form (BCNF) or higher normal forms like 4NF, 5NF or 6NF.

Links

201 questions
183
votes
6 answers

Difference between 3NF and BCNF in simple terms (must be able to explain to an 8-year old)

I have read the quote : data depends on the key [1NF], the whole key [2NF] and nothing but the key [3NF]. However, I am having trouble understanding 3.5NF or BCNF as it's called. Here is what I understand : BCNF is stricter than 3NF left side of…
Arnab Datta
  • 5,356
  • 10
  • 41
  • 67
37
votes
1 answer

What is the difference between 3NF and BCNF?

Can someone please explain the difference between 3NF and BCNF to me? It would be great if you could also provide some examples. Thanks.
15
votes
3 answers

Inner join with multiple tables

I have these four tables: PRODUCTS --------- PRODUCT_ID PRODUCT_TITLE (other…
Samuel Guimarães
  • 574
  • 3
  • 6
  • 18
9
votes
8 answers

What kind of normalization rule does this violate?

Suppose I have two tables on a database, T10 and T11, having 10 and 11 columns, respectively, where 10 of the columns are exactly the same on both. What (if any) normalization rule am I violating?
8
votes
3 answers

LINQ options.loadwith problem

I am writing a tag-based ASP.net system. Using the following db scheme: Topic TagTopicMap Tag Basically it is a 3NF approach (toxi) that I found from the following:…
xandy
  • 27,357
  • 8
  • 59
  • 64
8
votes
2 answers

Finding a relation in 3NF but not in BCNF

I've been reading many different sources on how to differentiate relations that are in 3NF/BCNF. And I've so far this is my understanding... I will use this relation as an example... R = {A, B, C, D, E} and F = {A -> B, B C - > E, E D ->…
Ogen
  • 6,499
  • 7
  • 58
  • 124
8
votes
4 answers

Understanding 3NF: plain English please

I am working through an example problem in which we are trying to identify which of the following relations is in Third Normal Form (3NF). Here are the relations we are given: R1(ABCD) ACD -> B   AC -> D   D -> C   AC -> B R2(ABCD) AB -> C   ABD ->…
raphnguyen
  • 3,565
  • 18
  • 56
  • 74
5
votes
3 answers

How do you normalize one-to-one-or-the-other relationships?

I'm storing data on baseball statistics and would like to do so with three tables: players, battingStats, and pitchingStats. For the purpose of the question, each player will have batting stats or pitching stats, but not both. How would I normalize…
4
votes
3 answers

Writing query with given very normalized tables- was asked during interview

I was asked this question during the interview with one of top IT industries and I had absolutely no clue. Can anyone tell me how? Either Mysql or Oracle is fine but I am providing the example with mysql. CREATE TABLE employee (employee_ID…
4
votes
2 answers

Third Normal Form -- transitive dependence between two foreign keys?

I am creating a database containing books that I own and have read. I want to track both the book (or "title") that I own and read, and the edition (or "physical bound paper") of that book that I own and read. Book and Edition are many-to-many. I…
3
votes
1 answer

How do you compute the functional dependencies for decomposition?

Say R has the following attributes: {A,B,C,D,E} and has the following functional dependencies: A -> BC CD -> E B -> D E -> A And there is a decomposition consisting of R1(A,B,C) and R2(A,D,E). How can I compute the functional dependencies of R1…
Jrom
  • 849
  • 1
  • 10
  • 19
3
votes
3 answers

Normalization of an 1:1 or 1:0 relationship

when using relation databases and you want 3NF (do you call it 3NF in english?), then you pull 1:1 relationsships together into one table. But what happens if the rationship is 1:0/1 (/ meaning or)? Then you keep them separated to avoid blank spaces…
hans.g
  • 149
  • 3
  • 7
3
votes
1 answer

Database Normalisation: 1-1 relationships and 3NF

Is there a conflict between 1-1 relationships and 3NF? For example, take the following table: Customer Table: CustomerID (Primary Key) CustomerFirstname CustomerLastname CustomerLoginID CustomerLoginPW Now let's assume that Each CustomerID…
strudel
  • 31
  • 1
3
votes
1 answer

Circular Dependencies in 3NF

I have a table: Customer(username, firstName, lastName, age, gender, race) username determines firstName, lastName, age, gender, race. firstName, lastName can be used to uniquely identify a row in the table, so firstName, lastName determines…
3
votes
2 answers

Database Design Is this necessary for 3NF?

Here is the database design I am working on for a voting based website (overpowered.info). http://i57.tinypic.com/2v9925s.png I am interested in the interaction between user and security. I need this database to be in the 3NF and this is the first…
1
2 3
13 14