Mysql表结构,更好的解决方案

Mysql表结构,更好的解决方案,mysql,database-normalization,Mysql,Database Normalization,不知是否有人能帮我。我有两个表,联系人和潜在客户-用户从一个表单向这些表中插入新的潜在客户(由contactID连接的潜在客户+联系人),虽然有额外的编码,但效果足够好,可以将数据插入两个表中,并在插入前将contactID创建到潜在客户表中 将这两个表合并为一个表是否更好?这样,潜在客户和联系人信息将存储在一个表中,不考虑编码,我不知道为什么这么多示例表明这是一个更好的解决方案 我担心的是GDPR规则非常接近,我们需要设置一个联系人删除日期和潜在客户删除日期,这两个日期总是不同的 希望这是有意

不知是否有人能帮我。我有两个表,联系人和潜在客户-用户从一个表单向这些表中插入新的潜在客户(由contactID连接的潜在客户+联系人),虽然有额外的编码,但效果足够好,可以将数据插入两个表中,并在插入前将contactID创建到潜在客户表中

将这两个表合并为一个表是否更好?这样,潜在客户和联系人信息将存储在一个表中,不考虑编码,我不知道为什么这么多示例表明这是一个更好的解决方案

我担心的是GDPR规则非常接近,我们需要设置一个联系人删除日期和潜在客户删除日期,这两个日期总是不同的


希望这是有意义的

两个表被认为更好,因为当您需要每个
lead
行具有任意数量的
contact
行(从零到数千)时,它们提供了一个干净、规范化的数据模型。有无数关于规范化的教程

如果现在和将来,每个
潜在客户
都只有一个
联系人
,您当然可以使用一个表

如果您需要不同的潜在客户和联系人隐私清除日期,则应在每个表中添加时间戳列。那你每天晚上都可以做这样的事情

   UPDATE contact 
      SET givenname='-purged-',
          surname='-purged-',
          addr='-purged-',
          phone='-purged-'
    WHERE input_date <= CURDATE() - INTERVAL 3 MONTH
更新联系人
设置givenname='-purpled-',
姓氏='-清除-',
地址='-清除-',
电话='-清除-'

其中input_date两个表被认为更好,因为当您需要每个
lead
行具有任意数量的
contact
行(从零到数千)时,它们提供了一个干净、规范化的数据模型。有无数关于规范化的教程

如果现在和将来,每个
潜在客户
都只有一个
联系人
,您当然可以使用一个表

如果您需要不同的潜在客户和联系人隐私清除日期,则应在每个表中添加时间戳列。那你每天晚上都可以做这样的事情

   UPDATE contact 
      SET givenname='-purged-',
          surname='-purged-',
          addr='-purged-',
          phone='-purged-'
    WHERE input_date <= CURDATE() - INTERVAL 3 MONTH
更新联系人
设置givenname='-purpled-',
姓氏='-清除-',
地址='-清除-',
电话='-清除-'

您可以将表模式发布到哪里?另外,我建议使用单独的表来表示不同的数据。我假设联系人总是一个人。领导总是公司吗?每个潜在客户是否从未有超过一个联系人?(每个公司限制一个联系人似乎有些奇怪。)联系人总是一个人,潜在客户是潜在产品销售的实际细节(单个)。每个联系人最多可以有10条线索扫描您是否发布了表架构?另外,我建议使用单独的表来表示不同的数据。我假设联系人总是一个人。领导总是公司吗?每个潜在客户是否从未有超过一个联系人?(每个公司限制一个联系人似乎有些奇怪。)联系人总是一个人,潜在客户是潜在产品销售的实际细节(单个)。每个联系人最多可以有10个潜在客户感谢您的出色回答,一个联系人最多可以有10个独特的潜在客户,因此我猜答案是目前的2个表格。目前,这些表是通过contactID链接的,因此每个触点都可以有多条引线,稍后我将这些引线拉过以按触点显示所有引线。Msany再次感谢。也许我会坚持使用2,只需创建额外的代码,从单个表单插入/更新/编辑。非常感谢您的出色回答,一个联系人最多可以有10个独特的潜在客户,因此我猜答案是目前的2个表。目前,这些表是通过contactID链接的,因此每个触点都可以有多条引线,稍后我将这些引线拉过以按触点显示所有引线。Msany再次感谢。也许我会坚持使用2,只需创建额外的代码,以便从单个表单插入/更新/编辑。。