2017-05-08 58 views
0

感谢您打开此文章。我需要你对MySQL DB标准化的帮助。 我有10个销售人员,销售东西,而且我的支持团队中很少有人为销售人员进行电话营销。因此无论如何,他们正在考虑什么是标准化桌子的最佳方式,但考虑到销售人员经常退出,所以我必须将他们的数据库转移到另一个销售代理数据库。许多相同输入的特定MySQL规范化

目前我只有一张桌子。将所有东西放入一张桌子或分成许多其他小桌子是更好的办法。目前我的表看起来像这样

ID,MB,COMPANY_NAME,城市,company_owner,phone_no1,phone_no2,app_status,sales_agent,cc_agent,three_options,EXP_DATE,cc_comment,sales_comment,input_date,call_made,状态

ID = AI PK UQ

MB =是唯一的关键,我提供

COMPANY_NAME,城市,company_owner,cc_comment,sales_comment,input_date,call_made,phone_no1和phone_no2应该是在一个表中,因为它的所有不同。对?

sales_agent = I have 10 people 
cc_agent = I have 3 people 
app_status = I have 3 statuses to select, so it has to be one out of three 
status = I have 15 statuses to pick from, it has to be only one of those 

因此,也许一个表的所有可变东西,另一个for sales_agent,另一个cc_agent,app_status和状态?

预先感谢您。

回答

0

很多较小的表格更好。规范化的目标是消除重复数据,并提高参照完整性。你可以通过很多小表和外键来实现这一点。

创建表格结构时,您需要查找名词。当你使用名词短语的方法时,识别可能的表更容易。在你的情况下,我看到名为company_name,company_owner等的列。创建一个名为'Company'的表,并为其指定id,名称,所有者,城市,州,邮编等。

您有销售人员,支持人们。但他们都是员工。所以另一个可能的表是'Employee',job_title是一个列。

真的花时间想出数据库结构,并尝试将数据库转换为3rd normal form