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

时间:2010-08-02 17:21:28

标签: php mysql normalization

我有一张存放邮递员覆盖范围的表格。它有两个字段

postmanid covering_pincode

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

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

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

OR

2.按照

等每个单独的字段显示每个密码
postmanid->1, covering_pincode->626123,
postmanid->1, covering_pincode->626124,
postmanid->1, covering_pincode->626432, 
postmanid->1, covering_pincode->654564

请帮助哪一个最适合通过密码搜索表格

3 个答案:

答案 0 :(得分:9)

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

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

答案 1 :(得分:2)

你真正想要的是第二张表

covering_pincodeid-→1,postmanid-大于1,convering_pincode-> 626123 covering_pincodeid-大于2,postmanid-→1,convering_pincode-> 626124 covering_pincodeid-→3,postmanid-大于1,convering_pincode-> 626125

答案 2 :(得分:2)

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

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