Professional Documents
Culture Documents
Erd
Erd
2NF (Second Normal Form): A table is in 2NF if it is in 1NF and has no partial
dependencies. This means that each non-key attribute should depend on the whole
primary key, not just a part of it. To achieve 2NF, we need to identify the partial
dependencies and move them to separate tables. For example, in the given ERD
diagram, the Citizen table has a partial dependency between CitizenID and Address.
The Address attribute does not depend on the whole primary key (CitizenID, Name),
but only on the CitizenID. We can move the Address attribute to a separate table
called CitizenAddress, with attributes CitizenID (FK) and Address. The CitizenID
attribute will be the primary key for the CitizenAddress table. The Citizen table
will then have a one-to-one relationship with the CitizenAddress table.
3NF (Third Normal Form): A table is in 3NF if it is in 2NF and has no transitive
dependencies. This means that each non-key attribute should depend only on the
primary key, not on any other non-key attribute. To achieve 3NF, we need to
identify the transitive dependencies and move them to separate tables. For example,
in the given ERD diagram, the SystemAdministrator table has a transitive dependency
between SystemID and Version. The Version attribute does not depend on the primary
key (SystemID, AdminID), but on another non-key attribute (SystemID). We can move
the Version attribute to a separate table called SystemVersion, with attributes
SystemID (FK) and Version. The SystemID attribute will be the primary key for the
SystemVersion table. The SystemAdministrator table will then have a one-to-many
relationship with the SystemVersion table.
By applying these rules, we can normalize the given ERD diagram to 3NF. You can
find more information and examples on normalization in DBMS in the following links:
A Step-By-Step Guide to Normalization in DBMS With Examples, Normalizing with
Entity Relationship Diagramming, How to Normalize an ERD, Normalization ERD
Exercise, Creating tables using ERD and Normalizing. I hope this helps you
understand the concept of normalization and how to apply it to an ERD diagram. 😊