【发布时间】:2012-12-29 14:23:43
【问题描述】:
我有一个想法,我想要执行,但在涉及表之间的关系时,我的数据库设计非常生疏。我希望能够在 3 个<input type="text"> 字段中输入 3 种成分,然后搜索所有包含这些成分的食谱。
我有 3 张桌子...
- 成分
- 食谱
- 菜单
粗体的列是我的主键,我希望斜体的列是外键。
示例 - iName 是 iName1 iName2 和 iName3 的主键。
成分
iName - iType
食谱
mName - iName1 - iName2 - iName3 - 方法
菜单
mName - mDiscription - 过敏
我的问题是……我的表之间的关系是否足够有效,可以满足我的需求?例如,如果我想加入查询会是什么
SELECT mName, mDiscripton, mAllergy
FROM menu
WHERE iName1 = input etc etc
任何关于该主题的说明都会有很大帮助,我已经有一个表版本的数据库并且我使用的查询工作正常,我只想重新设计我的数据库并修改我的查询以适应。
【问题讨论】:
-
拼写:
mDiscripton应该是mDescription,而且现在一般不使用列 (imo) 中的表前缀,混合大小写也不会使用。menu.description好多了。
标签: mysql database one-to-many rationale