I've seen different database designs in different projects. Some of them claim that from son to grandparent one should go through the parent (intuitively correct); in others there is a lot of duplication.
Which is right?
In the Son
table, column ParentID
also determines GreatParentID
. This violates third normal form.
All else being equal, implementing normal form is a reasonable idea.