I am sure you've all run across the idea of 'required' duplication of information in your databases. This is the idea of for instance, a person in the employees table can also be a customer but you must enter the information twice, once in the employees table and once in the customers table.
Not 'really' a big deal, but we are investigating methods to automatically handle this without entry duplication.
In this simple example, we see unique information as a 'Person' so we have a Persons table
Persons
- PersonId
- LastName
- FirstName
Then we have an Employees table
Employees
- PersonId
- SocialSecurityNumber
And we have a Customers table
Customers
- PersonId
- ShipAddress
- BillAddress
I wish I knew at the moment how 'abstract' the Person is going to be to say, 'we won't create a Person Entity (datarow) directly, but I would like to have that as an option in my pocket if needed.
I am wondering the best way to handle this and use typed DataSets.
What is the best design path to design Typed DataSets for Employees and Customers. Is this a simple matter of two DataTables with a DataRelation? Or is it better/cleaner to Design a PersonData DataSet and have everything MustInherit (DataTable, DataRow, etc) in the DataSet?
I want it to be as straight foreward as possible from a UI and/or BusinessLayer developer. I want to keep the hoop jumping down to a bare minimum and still maintain a high standard of 'usefulness'.
I hope I wasn't too vague or hard to understand, we are only in the process of thinking about this idea/design.
Best regards,
CN