## Contents |

But **what of the normal** forms? Well, a relation that’s in 4th normal form must fulfill the rules regarding the 4th normal form as well as all the others “leading up” to it. Therefore: The candidate key of this relation is Title, and that makes title a primary attribute (an attribute that is part of candidate key). title —> year title —> genre title —> director genre —> genre-description director —> director-home-country So what I do is that I make a box for each of the attributes and then

There are probably many other ways to solve this problem, but this has worked great for me. No, the same as above. To have a relation that is not in 2nd normal form, there would have to be an arrow pointing from an attribute that is part of a candidate key, towards an Well, yes! see here

Well, you can either look all professional and use algorithms. None of them are more than one, so to speak. One last example. What these don’t tell you **is how much** easier this can be if you just learn to draw appropriate boxes and arrows!

Every relation has one or more candidate keys. Feel very free to contact me with questions or suggestions. /SQ Copyright © 2016 - Stina Qvarnström - Powered by Octopress Instead of saying A —> B, and A —> C, you write A —> {B, C}. Here you actually have several candidate keys. Partial Dependency First normal form.

No, no two non primary attributes determine each other. This implies that we need a composite candidate key (one that consist of two or more attributes, like in the second example above), and since we don't, this can't be true Blog Archives Portfolio GitHub RSS An Easy Way to Finding the Candidate Key of a Database Relation A beginner's guide to locating the Candidate Key and Normal Form of a relation. https://www.ischool.utexas.edu/~wyllys/DMPAMaterials/normstep.html This article is meant for those of you who are starting out with relational databases and normalization.

C and E together. Candidate Key Granted, you might not look like the coolest kid in a group of hardened database programmers if you do this. Now it's extremely easy to locate the least amount of attributes you need to determine the rest of the relation: Title! R(A, B, C, D) A —> **B B —>** C C —> {B, D} Which gives this drawing: The Candidate Key of this relation is A, since that’s all you need

Or you can draw it! http://www.informit.com/articles/article.aspx?p=29661&seqNum=3 But we are all beginners in the, you know..beginning. Bcnf Decomposition Knowing the candidate key is also needed to determine the normal form of the relation. But how do you find it? Bcnf Example Second normal form.

An example of how to draw you way to the candidate key Let me show you with an example. Are all the attributes atomical? Is there a non primary attribute that's determined by parts of any candidate key? Later on, when you implement the relation in a database, the candidate key, or one of the keys, will be the primary key of a relation. 3nf Example

Swallow your pride, this is a really good and clear way! Third normal form. StinaQ.me .. So the result is several candidate keys, A, B and C.

You just look at where the dependencies are listed (above the drawing) and see if all those to the left are candidate keys. 4nf Third normal form. A trickier and larger one.

Yes, in this case there is! Which attributes are dependent on which? Fourth normal form. Transitive Dependency That makes A the only primary attribute (an attribute that is part of a candidate key).

Does a non primary attribute exists that is determined by another non primary attribute? There is an arrow from B to C and both of them are non primary attributes, so this relation is not in 3rd normal form. The only non primary attribute is D and it's not determined by parts of a candidate key. This gives you a composite key.

In this case we only have one, so it can't happen. I will go through them one by one. Are all the attributes atomical? I’ll show just one more example before moving on to using this knowledge.

If you know A you can determine the entire relation, but that is also true for B and C. So let’s try it with a relation. Second normal form. What about 4th and Boyce Codd and all the other normal forms, then?

R(A, B, C, D) A —> {B, D} B —> {A, C} C —> B The drawing: And the candidate key will be A, B and C. All you have to do is know how to draw boxes, arrows and what the rules of the normal forms say. I hope this article has made the topic of candidate keys and normal forms somewhat clearer. Deals with the problems that can arise from having multivalued dependencies, and seeing as there are no multivalued dependencies, we can assume that it is good to go for the 4NF!

Using the drawing to determine the normal form of a relation The drawings are also a great help on the way to find out which normal form a relation has. From B you can get to all the other boxes by just following arrows, the same for C and A!