I have a table with the following structure:
WorkerPersons
-------------------------------
ID (PK)
PersonID (Indicates which version of Person the record describes)
SomeColumn1 (data specific to Worker)
SomeColumn2 (data specific to Person)
....
SomeColumnN
-------------------------------
As you can see, this is a denormalized table that contains data both working and personal (and many versions of one person) in one table. My desire is to normalize this table, however, since the table contains a lot of data (many columns), I need to be sure which columns should go to the Workers table and which columns to the Person table. The result should be as follows:
Workers Persons
----------------------- ---------------------
ID ID
PersonID (now a FK) PersonColumn1
WorkerColumn1 PersonColumn2
WorkerColumn2 ...
... PersonColumnN
WorkerColumnN
----------------------- ---------------------
To do this, I need to analyze what data differs within the Personality above all unique people (which are shared by PersonID in WorkerPersons). For instance:
WorkerPersons
-------------------------------------------------------
ID PersonID Column1 Column2 Column3
-------------------------------------------------------
1 PersonA 10.1 John Doe Single
2 PersonA 10.1 John Doe Single
3 PersonA 10.1 John Doe Married
4 PersonB 09.2 Sully Single
5 PersonB 09.2 Sullivan Single
3 PersonA 2 PersonB. Column1 Person, . Column 2 Column3 Person, Person.
, 10 , , 40 . Eeach 500 5 .
script, , . script, , Person . , . LAG , .
.
,