我想学习CakePHP,我已经完成了教程,并开始掌握这些概念。然而,我已经取得了进展,现在我正在尝试设计一个调查风格的应用程序,以了解更多关于相关表和相关实体的信息。
我突然想到这将是一个非常简单的项目来进一步学习,但我认为我低估了数据库的复杂性,因此我想问是否有人有任何关于构建数据库的最佳方法的例子。
我的最终目标是:
- 该应用程序将包含客户
- 该应用程序将包含问题
- 客户可以进行多次调查
- 调查可以包含许多问题
- 调查可以包含许多答案(每个答案都与调查(
我从下面的模式开始,但我不确定这是最优化还是最合适的设计。有人对提议的方案有什么想法吗?我很乐意听取一些反馈或建议。
建议的数据库模式
我相信您的模式可以稍微简单一点。questions_surveys
链接表似乎有些多余,除非您计划在多个调查中重复使用同一个问题。除此之外,您还可以满足您的要求。答案和调查之间的链接可以省略,因为你可以通过问题实体将答案链接回调查,但为了方便起见,使用survey_id
字段没有坏处。
您的下一步将是在Cake中设置所有模型关系,其形状为:
- 客户有许多调查
- 调查归属客户
- 调查hasMany问题(或hasAndBelongToMany,取决于是否重复使用问题(
- 问题属于调查
- 问题有一个答案
- 回答归属问题