我正在尝试为用作仪表板的网络应用程序设计数据库架构。
- 可以有任意数量的仪表板(用户可以创建新的仪表板)
- 每个仪表板都与团队相关联(每个仪表板大约 10-25 个团队)
- 每个团队都有成员(每个团队约 10 名成员)
- 每个成员都有姓名、角色、电子邮件
- 每个团队通过表格提交每周报告(大约 12 个问题。除了一个问题外,每个团队的所有问题都相同)
- 表单响应存储在数据库中。
- 根据每周的表单回复,警告会显示在信息中心(网络应用程序)上。有团队问题、成员错过的 session 数量等字段
到目前为止我做了什么 这是设计数据库的正确方法吗?这可以改进吗?我正在使用 Django 创建 Web 应用程序和 SQLite3 数据库。
最佳答案
看来您的开端不错。根据您列出的业务规则,您可能希望根据 #7 扩展您的设计。例如,您提到该团队参加 session ,但成员没有此操作的分支。
我认为需要改进的另一个领域是#5。尽管一开始您可能认为最多有 12 个问题,但您的数据库模型应该构建为适应 future 的需求:您的表单响应应该至少由四个表(Survey、Question、SurveyQuestion、SurveyResponse)组成。
关于数据库设计 - 仪表板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40859605/