Oracle FAQ Your Portal to the Oracle Knowledge Grid

Home -> Community -> Usenet -> comp.databases.theory -> Re: Sixth normal form

Re: Sixth normal form

From: Sameeksha <>
Date: Mon, 30 Jul 2007 21:33:51 -0700
Message-ID: <>

On Jul 30, 9:30 pm, Jan Hidders <> wrote:
> On 30 jul, 12:45, Sameeksha <> wrote:
> > Googling out for definition and explanation for sixth normal form only
> > resulted in the following information - "6th normal form states that a
> > relation R should not contain any non-trivial join dependencies". Also
> > everywhere it is stated that this normal form takes into account the
> > temporal (time) dimension to the relational model, and that current
> > implementations like SQL server 2005 do not implement this normal
> > form.
> It would help if you first explained what you already know, so we
> don't spend time on explaining what you already know. Do you know what
> at join dependency is? Do you know when it is trivial?
> Btw. where and in what context did you read that SQL server did not
> support this normal form? That is a rather odd statement since the
> normal form is just about how much to split your relations into
> projections, so strictly speaking it needs no support at all form the
> DBMS. But perhaps support for temporal features was meant?
> > Any more explanation and preferably an example would help in
> > understanding the concept behind this normal form.
> Informally put it says that every distinct fact gets its own relation
> or "if you can split, then you should". So if you have a relation
> Student(student_id, name, address) then the fact that the student with
> a certain id has a certain name is split form the fact the this
> student lives at a certain address. This is different from 5NF since
> there you only split when there is a risk of redundancy or update
> anomalies.
> -- Jan Hidders

Thanks for replying. Some explanations regarding your questions :- 1. Just to explain my concept of join dependency - consider this example - a table contains TeacherId, SkillId and CourseId as fields. These are related by the rule that teacher with certain skills can teach certain courses, however a teacher may possess skills required for a course, but he may not be teaching that course. Here there are 3 join dependencies - (TeacherId, SkillId), (SkillId, CourseId) and (TeacherId, CourseId) which should be separate tables as per the 5th normal form. Please verify whether this concept is nearly correct.

2. My concept of Trivial dependency is this - in case in a table we have id and name and both are unique the dependency of name on id is trivial.

3. Regarding RDBMS support - what you say is correct. The statement is there at, and it is about temporal dimension, not about the sixth normal form.

Now another question after getting more idea about the sixth normal form - If we consider the above example of a table teacherid, skillid and courseid, how will we split it to fit in sixth normal form? If this is not a suitable example for applying the sixth normal form, please give another example which will make the concept clearer.

Thanks again for your help

Sameeksha Received on Mon Jul 30 2007 - 23:33:51 CDT

Original text of this message