我正在学习 CakePHP,我已经完成了教程并开始掌握这些概念。不过,我已经取得了进展,现在正在尝试设计一个调查风格的应用程序,以了解有关相关表和关联实体的更多信息。
我一开始就认为这将是一个相当简单的项目,可以促进我的学习,但我认为我低估了数据库的复杂性,因此我询问是否有人有构建数据库的最佳方法的示例。
我的最终目标是:
- 该应用将包含客户。
- 该应用将包含问题。
- 一个客户可以进行多项调查。
- 调查可以包含许多问题。
- 一项调查可以包含多个答案(每个答案都与调查中的一个问题相关联) 调查)。
我已经从下面的架构开始,但我不确定这是否是最优化或最合适的设计。有人对提议的架构有什么想法吗?我很想听到一些反馈或建议。
最佳答案
我相信您的架构可能会稍微简单一些。 questions_surveys
链接表似乎有点多余,除非您计划在多个调查中重复使用同一问题。除此之外,您满足您列出的要求。答案和调查之间的链接可以省略,因为您可以通过问题实体将答案链接回调查,但是为了方便起见,使用 survey_id
字段也没有什么坏处。
下一步是在 Cake 中设置所有模型关系,其形式为:
- 客户有很多调查
- 调查属于客户
- 调查hasMany问题(或hasAndBelongsToMany,具体取决于是否重复使用问题)
- 问题属于调查
- 问题有一个答案
- 回答belongsTo问题
关于mysql - 调查应用程序的关系数据库架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51684573/