【问题标题】:Trying to normalize a mysql database for call center尝试为呼叫中心规范化 mysql 数据库
【发布时间】:2016-06-25 15:35:33
【问题描述】:

我最近刚在呼叫中心找到一份工作,他们要求我提高他们的数据库效率,并能够快速存储和检索他们的信息。我要为他们建立一个全新的数据库。问题是我在 sql quiet 方面还不是很擅长。但是,如果您可以看一下图片,您能否帮助我指出正确的方向或提供一些提示。业务和客户信息的所有数据都存储在一个大约 40 列的大表中。我确信有一种方法可以标准化这些数据。提前谢谢。

【问题讨论】:

  • 同意@eggyal,但会提供这个快速的:我会分解公司名称和定义它的所有列 - 在此表中放入公司 ID,在新表中放入公司信息 - id 将是执行 JOIN 的 pk。创建新表后,您可以使用该表中的信息填充它,然后从该表中删除这些列。同样,正如我们的第一个响应者所说 - 这是你做的或承认老板他/她需要聘请训练有素的 db pro 来做。祝你好运。
  • 提问前请参考this。当您准备好提问时: 1. 发布您要询问的每个表的结构 2. 发布您的代码;使用正确的格式 3. 请删除 all 绒毛。阅读有关绒毛的更多信息here

标签: mysql database normalization


【解决方案1】:

我对您的数据知之甚少,无法确定目前没有标准化的内容。

规范化的目的是确保永远不会有相同的值存储在数据库的两个不同位置的情况。

因此,如果一家特定的公司可能有 10 条潜在客户,并且这些潜在客户中的每一个都具有相同的 company_nameemployee_sizesales_volume,那么就会出现问题:10 条潜在客户中的每一个都可能具有不同的值那里。一个是“A 公司”,另一个是“A 公司”,另一个是“A 公司”,等等。

相反,您应该有一个包含这些值的 company 表,以及从您的 lead 到该 company 的外键。现在可以在同一家公司拥有大量潜在客户,因为它们都引用相同的底层 company 数据。

只有您知道数据集中的哪些值可能是可重复的,因此需要消除哪些值。

【讨论】:

    猜你喜欢
    • 2011-12-16
    • 2013-07-17
    • 1970-01-01
    • 2011-05-18
    • 2013-06-29
    • 1970-01-01
    • 2011-11-12
    • 1970-01-01
    相关资源
    最近更新 更多