Jump to content

Normalization


This topic is 641 days old. Please don't post here. Open a new topic instead.

Recommended Posts

Hi, 

I've got a question about normalization ...

I have a FileMaker solution were I've consolidated the "User" and the "Contacts" into one table since the beginning.

The reason I did this is because the "User" and the "Contact" carried the same data; FName, MName, LName, Phone, Address, City, State, Zip ... etc.

I am involved with a MySQL developer and they want complete separation between the "User" and the "Contact" and they say for "Security" ... and I say OK ... please clarify.

Here is my question ... what happens when the "User" becomes a "Customer" ... the MySQL developer says that we would create a contact card for the "User" in the "Contacts" table.

So now we have the normalization issue where we carry the same information in two different data tables.

What is the security issues the MySQL developer is talking about.

What is so wrong with using the contacts table as the table for all "People" ... I see no difference.   The contacts table has proven to be a very reliable and convenient place to keep everything in one place, one data table ... at least for the FileMaker solution.  Not sure about what is going on with the MySQL database.

Can I get some insight here ??  I would be grateful.

Thank you.

 

Link to comment
Share on other sites

In proper normalization you could even consider 3 tables:

- the core table with People info

- a table for Customers where the Person is just represented by a foreign key to the People table, the other attributes in the Customer table just describe customer attributes such as "customer since", or "tier" or whatever else is relevant

- a table for Contacts where the person similarly is just represented by a foreign key to the People table and where you track attributes for the contact that you wouldn't track on the people table, such as "last contacted", ... or other such stuff

So data normalization doesn't automatically mean having redundant data.

From a security point of view it is somewhat easier and more transparent to set rights on the Customer table and Contacts table separately.  Easier to maintain without possibly inadvertently also exposing other data that you don't want to.

  • Like 1
Link to comment
Share on other sites

This topic is 641 days old. Please don't post here. Open a new topic instead.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.