I went through some tutorials on BCNF and got that a relation with two attributes is always in BCNF.

My question

What if a relation with two attributes has no prime or non-prime attributes? That is, the attributes A and B do not determine each other and are simply in 1NF. From 2NF onward, the question of prime and non-prime attributes appear.

Anybody there to clarify the matter? Thanks in advance.

  • 1
    "A 3NF table that does not have multiple overlapping candidate keys is guaranteed to be in BCNF". With only 2 attributes, it is impossible to have multiple overlapping composite candidate keys. The case that you are presenting for 'has no prime or non-prime attributes' is not even in 1NF. en.wikipedia.org/wiki/Boyce%E2%80%93Codd_normal_form – SQLRaptor Jun 18 '19 at 17:36
  • Tutorialspoint says that in 1NF, presence of primary key must be ensured while Wikipedia talks about atomic, single values in the domain of an attribute but not about primary key. I'm confused. – PS Nayak Jun 18 '19 at 17:56
  • Other websites also talk about the primary key (single or composite) to be one of the fundamental criteria to be in 1NF. Thus in a 2 attribute relation, if A->B and not vice-versa, then it is definitely in BCNF. Am I correct? – PS Nayak Jun 18 '19 at 18:04
  • 1
    To be in 1NF you must have an identifying attribute, a key. without it you will allow duplicate rows. Date's definition for 1NF is that if and only if the table is "isomorphic to some relation" = it satisfies the following conditions: 1- There's no top-to-bottom ordering to the rows. 2- There's no left-to-right ordering to the columns. 3- There are no duplicate rows. 4- Every row-and-column intersection contains exactly one value from the applicable domain. 5- All columns are regular. – SQLRaptor Jun 18 '19 at 18:45
  • 1
    @SQLRaptor I agree with all your comment with the minor correction that a key can be empty (no attributes). It is a bit degenerative case but still such a relation satisfies all your 5 criteria. (All attributes would be non-prime, there would be max 1 rows so no duplicates, etc). – ypercubeᵀᴹ Jun 18 '19 at 18:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.