为数据库中的单个字段存储多个值

时间:2012-05-13 15:36:24

标签: sql database oracle database-design

假设我有一个包含3个字段的表

Person_id,姓名和地址。现在的问题是一个人可以拥有多个地址。原子价值原理说数据应该是原子的。

那么我想如何为一个人存储多个地址?

3 个答案:

答案 0 :(得分:12)

您应该创建一个ADDRESS表,该表具有将其链接到PERSON记录的外键,即PERSON_ID。这是关系数据库的“关系”组件,这就是为什么它比平面文件(就像单个表)更灵活。

答案 1 :(得分:0)

将地址放在第二个表格中,为每个地址指定一个"人物ID",以便地址表中的多行可以引用到人。

答案 2 :(得分:0)

我建议在地址表中添加一个地址类型,以确定它是哪种类型的地址(Home,Vacation,Office)等。类似于:AddType引用一个列表,可以在其中添加更多类型路。