存储无默认值

时间:2009-12-12 09:21:39

标签: sql mysql database-design

可以向我解释一下数据库设计在以下方法中的样子: 让我们说有两个表'玩具'和'愿望清单'。每个愿望清单都有一个玩具,但“玩具”并不包含世界上所有的玩具。为了防止不快乐的孩子,我们可以在称为“杂项”的玩具中添加一行,以便他们可以在文本输入中指定他们喜欢的玩具,这就是问题的开始。我不知道在哪里存储这些数据。

3 个答案:

答案 0 :(得分:2)

我想你自己回答了:

(assuming only one wishlist per customer)

wishlist_items
- customer_id
- toy_id

toys
- toy_id
- description
- type (permanent / customer-defined)

因此,当顾客要求购买未知玩具时,您只需将其写入玩具清单即可。

答案 1 :(得分:0)

嗯......您可能想要在玩具中添加一个列,该列将定义玩具是否由“设计”存在或由用户添加。 所以你仍然可以把玩具当作一个愿望清单,并在列表中的故意和杂项之间分开玩具......

tblTOYS:

TOYID,TOYNAME,SOURCEID

tblTOYSOURCES

SOURCEID,SOURCENAME

答案 2 :(得分:0)

让他们将玩具从“杂项”重命名为他们想要的东西。所以你根本不需要改变数据库结构,孩子们可以看到他们最喜欢的玩具名称而不是“杂项:战斗机器人”。它更人性化。