我正在为一个自动化的饮料混合机器人开发一个数据库,我被如何创建数据库卡住了。
在一个表格中,我列出了每种可能的配料(可口可乐、百事可乐、斯米诺夫-红色标签、Skyy等)。第二个表,列出了哪些成分是可用的。第三个表指定了混合饮料配方。我的问题出现在混合饮料桌上。
例如,如果我想订购一台螺丝刀,机器人会查看是否有伏特加,以及是否有橙汁。但是,如果饮料配方需要特定类型的伏特加(例如Smirnoff - Red Label),我会希望机器人只使用Smirnoff,而不是任何类型的伏特加。
那么,对于如何开发这样一个应用程序的数据库,有人有什么建议吗?我完全被这个问题难住了。
提前谢谢。
发布于 2012-03-23 16:45:15
听起来你的食材需要某种层次结构。因此,你会有“通用”,如“可乐”,“伏特加”,“朗姆酒”等,然后是“品牌”,如“可口可乐”,“斯米诺夫”,“百加得”等。
实现这一点的一种方法是使用两个表:
Generics
ID - Name
1 - Cola
2 - Vodka
etc
Ingredients
ID - Generic_id - Name
1 - 1 - Coca-Cola
2 - 1 - Pepsi
3 - 2 - Smirnoff - Red Label
4 - 2 - Absolut
etc另外,这听起来有点像家庭作业。如果是这样的话你应该这样标记它...
发布于 2012-03-23 16:41:17
你应该再增加一个表“不合适的类别”(例如:果汁,伏特加,龙舌兰)和参考配料表与FK。然后更改您的收据表格,它应该包含类别或确切的不适当作为收据的一部分。
然后,当机器人寻找一个不合适的词时,它可以决定它是否有确切的不合适的词,或者可以从类别列表中选择。
发布于 2012-03-23 16:42:48
将配料分成两张表:ingredient_types (即伏特加、果汁、软饮料)和ingredients (即斯米诺、橙汁、可乐)。在食谱中引用一种配料类型(“伏特加”)或特定配料(“斯米诺夫”)。
https://stackoverflow.com/questions/9836075
复制相似问题