我正在“学习”codeigniter,php和mySql,因为我尝试创建一个“清单”类型的网站,访问者注册,创建项目并询问问题列表,他们必须在哪里输入某些字段
我的mySQL数据库设计有点困难......(实际上完全卡住了)
归结为......
1个项目可以有3种类型之一。 “输入a / b / c”
输入有20个问题
键入b =键入a + 15个问题
输入c =输入b + 15个问题......
所以基本上我希望能够很容易地说,问题A是 A型和/或 B型但不是C
现在,我不知道我在做什么是正确的,但我基本上是制作两张桌子然后在他们之间建立一个“多对多”的关系(我想?) n:m在mySQL工作台中
ProjectType
id
ProjectTypeName
Questions
ID
Title etc...
ProjectType_has_Questions
ProjectType_id
Questions_id
此外,每个问题“CAN,not must”都有3个结果(当前事实)和3个更正(结果改进)。
我不知道这对这里的任何人是否有任何意义,肯定会让我感到困惑: - /
有什么想法吗?
ps:我试图附上一张图片,但看到这是我第一次使用该网站,这是不允许的。
答案 0 :(得分:0)
我会回复我在这里理解的内容。还有一些我在你的问题中评论过的其他问题。
如果您的项目类型将始终聚合 - 也就是说,类型C始终是类型B的超集,它始终是类型A的超集 - 那么对于问题,您只需指定该特定问题的最大项目如果问题出现在类型A和B中,则将问题指定为类型B.如果它将出现在所有三种类型中,则将其指定为类型C.
但是,当你这样做时,你就是在承诺。更灵活的方法是使用包含问题ID和项目类型ID的链接表。每个问题在此表中都可以有一个或多个条目。