We have a project running where i need to do some ETL work into a new database that created was by a different company. While going through the database diagram given to me by the developers i saw that there was a circular reference on 4 of the tables:
I can't upload the diagram but here is a general structure of the tables:
CASE
- ID (PK) CaseStatusInfo (FK)
- SignOffPlanning (FK)
- SignOffReportReview (FK)
- SignOffQuarterlyReview (FK)
CaseStatusInfo
- ID (PK)
- CaseId (FK)
SignOffPlanning
- ID (PK)
- CaseId (FK)
SignOffReportReview
- ID (PK)
- CaseId (FK)
SignOffQuarterlyReview
- ID (PK)
- CaseId (FK)
How these Info tables linked to the Case table will be used is that it will be storing historic statuses of a case by having the primary key stored within each Info table. This really does make logical sense but i feel that it might have been better to normalize these tables even further to keep the historic data in those normalized tables.
My question is: What problems could arise from having this type of database structure instead of further normalizing the tables?