简体   繁体   中英

Database normalization into 3NF or BCNF

I am working on a Database normalization to make it minimum 3NF, but I can't continue only in the last one.

The last table I'have the following keys. ID, Organization_number and name. ID is Primary key. ID can determines ORG_NR and Name, also ORG_NR can determines ID and name. I know that is violation of 3NF. So my questions are, what I should do to make it to 3NF or even BCNF.

If I i Split it into to table, that makes relation one to one.

我的桌子

Functional dependencies determine candidate keys. A primary key is just some CK that you decided to call PK. Other than being CKs, PKs have no role in normalization. Presumably you know that ID is unique (and {} isn't a CK), so it is a CK, which you have made PK. (But you should make that clear.)

Since both {ID} and {ORG_NR} determine all other attributes and no smaller subset of each does, they are both CKs. Presumably the only FDs are the ones that follow from these. (But you should make that clear.) Since all the non-trivial FKs are out of superkeys, this is in BCNF (& so also 3NF).

PS Since you (wrongly) think that this is not in 3NF, find a definition for 3NF and try to show whether it satisfies 3NF.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM