对桌子设计感到困惑。如何存储多个数据

Posted

技术标签:

【中文标题】对桌子设计感到困惑。如何存储多个数据【英文标题】:Confused about table design. How to store multiple data 【发布时间】:2011-03-24 08:10:39 【问题描述】:

我有一个用于存储邮递员覆盖区域的表格。它有两个字段

邮递员 覆盖密码

我要实现的是,当用户在文本框中输入密码时,会显示覆盖该密码的邮递员列表。

我的疑问是,我如何在表格中输入值

1. Multiple pincodes stored in single row like  
postmanid->1, covering_pincode-> 626123, 626124, 626432, 654564

2.按每个单独的字段存储每个密码,例如

postmanid->1, covering_pincode->626123,
postmanid->1, covering_pincode->626124,
postmanid->1, covering_pincode->626432, 
postmanid->1, covering_pincode->654564

请帮忙看看哪个最适合通过密码搜索表格

【问题讨论】:

【参考方案1】:

规范化规则说:使用第二个!

http://dev.mysql.com/tech-resources/articles/intro-to-normalization.html

【讨论】:

【参考方案2】:

你真正想要的是第二张桌子

covering_pincodeid->1,postmanid->1,convering_pincode->626123 coverage_pincodeid->2,postmanid->1,convering_pincode->626124 covering_pincodeid->3,postmanid->1,convering_pincode->626125

【讨论】:

【参考方案3】:

我会将每个值作为单独的行存储在您的表中,这样可以更轻松地添加/编辑/删除新值,而无需附加或提取单个密码。

在数据库表上使用compound key,您不需要主键,也不应该有重复。

【讨论】:

以上是关于对桌子设计感到困惑。如何存储多个数据的主要内容,如果未能解决你的问题,请参考以下文章

对何时使用 JMS(或一般的队列)与数据库感到困惑

Eclipse 对导入感到困惑(“可从多个模块访问”)

对 Spring-Data DDD 存储库模式感到困惑

对如何设置我的 .xcdatamodel 进行版本控制感到困惑

不平衡的模型,对采取啥步骤感到困惑

对 swift 中的可选值感到困惑