数据库设计 - 仪表板

标签 database database-design sqlite

我正在尝试为用作仪表板的网络应用程序设计数据库架构。

  1. 可以有任意数量的仪表板(用户可以创建新的仪表板)
  2. 每个仪表板都与团队相关联(每个仪表板大约 10-25 个团队)
  3. 每个团队都有成员(每个团队约 10 名成员)
  4. 每个成员都有姓名、角色、电子邮件
  5. 每个团队通过表格提交每周报告(大约 12 个问题。除了一个问题外,每个团队的所有问题都相同)
  6. 表单响应存储在数据库中。
  7. 根据每周的表单回复,警告会显示在信息中心(网络应用程序)上。有团队问题、成员错过的 session 数量等字段

到目前为止我做了什么 enter image description here 这是设计数据库的正确方法吗?这可以改进吗?我正在使用 Django 创建 Web 应用程序和 SQLite3 数据库。

最佳答案

看来您的开端不错。根据您列出的业务规则,您可能希望根据 #7 扩展您的设计。例如,您提到该团队参加 session ,但成员没有此操作的分支。

我认为需要改进的另一个领域是#5。尽管一开始您可能认为最多有 12 个问题,但您的数据库模型应该构建为适应 future 的需求:您的表单响应应该至少由四个表(Survey、Question、SurveyQuestion、SurveyResponse)组成。

关于数据库设计 - 仪表板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40859605/

相关文章:

ruby-on-rails - 营业时间与员工时间关系的推荐数据库设计

mysql - 构建具有复杂内部化支持的站点

database-design - Google Cloud Spanner 中的自动增量

php - PHP和SQLite-将某些列值相乘

mysql - mysql 中的简单存储过程。错误

php - 使用android连接mysql

Android:在我的程序中处理 SQLite 数据库

sql - 在 SQLite 中如何实现多对多关系

php - PDO 加一值

php - 如何使用 ajax 和 php 将 mysql 表移动到下一行和上一行?