| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Usenet -> comp.databases.theory -> Re: Advanced SQL
"Jan Hidders" <hidders_at_gmail.com> wrote in message
news:1189173585.627344.49900_at_19g2000hsx.googlegroups.com...
> On 7 sep, 15:43, Jon Heggland <jon.heggl..._at_idi.ntnu.no> wrote:
>> Quoth Evan Keel: >> >> > "David Portas" <REMOVE_BEFORE_REPLYING_dpor..._at_acm.org> wrote in >> > message >> >news:pZSdnfih_oRy5H3bRVnyigA_at_giganews.com... >> >> Call me picky but I am not entirely comfortable with that U.Texas >> >> site, >> >> even though it's a commendable effort overall. >> >> >> "The definition of second normal form states that only tables with >> >> composite primary keys can be in 1NF but not in 2NF" >> >> > They have it right here. All non-key attributes must be dependent on >> > the >> > full key. Only applies to tables with keys composed of multiple >> > columns> >> >> No. There may be dependencies where the left side is empty. >
That's not true, Jan, consider:
{A, B, C} | A --> B /\ {} --> C
If {} --> C holds, then A --> C also holds. Since A --> B /\ A --> C, then A --> BC.
{{A:1, B:2, C:1}
{A:2, B:4, C:1}
{A:3, B:4, C:1}
{A:4, B:3, C:1}}
Clearly A is the only candidate key, even though the FD {} --> C holds.
>> But it's a >> common mistake. If I remember correctly, one of my database textbooks >> "proves" that any relvar with just two attributes is automatically in >> BCNF. >
>
![]() |
![]() |