如何做好数据库设计?

时间:2018-01-25 20:58:09

标签: sql-server database-design

我需要设计一个统计数据库。

我的用户拥有自己的统计信息并且每天每30分钟都有一次数据,例如:

时间|数据

10:44 |一些数据

11:13 |另一个数据

11:43 |数据示例

...

23:32 |数据示例

例如,我想在2017年4月21日获得所有数据,因此我将根据2017年4月21日获得所有这些字段。

问题是 - 如何为这种情况正确设计数据库?

这张照片显示了我出现的数据库。

enter image description here

2 个答案:

答案 0 :(得分:1)

这看起来很复杂。我期待:

  • 表用户 user_id ,姓名)
  • 表user_statistic user_id,datetime ,数据)

(主键是斜体。)

答案 1 :(得分:1)

我使用两张桌子:

User:
    id (PK), name
    unique index (name)

Data:
    id (PK), user_id (FK), date (YYYY-MM-DD), time (HH:MM:SS), data

    index (user_id, date)

通过这种设计,您可以很快地为任何用户检索任何特定日期的数据。