如果这是一个愚蠢的问题,请原谅我,但我是关系数据库的新手,似乎无法找到答案(可能是因为其他人都知道答案)。
我正在存储测试数据,这些测试数据可能包含各种格式稍有不同的时间(TAI,UTC,GPS等)。我不确定我想在输入之前强制将时间转换为任意一致的格式(或者这可能是最好的方式?),但假设我可以保持灵活性,我打算使用引用表(查找表) )时间类型如此:
ref_time_types
--------------
id (PK)
desc (UTC, GPS, TAI, etc)
我还会有一张表来存储实际时间:
tbl_time
-------------
id (PK)
ref_time_types.id (FK)
seconds
year
.
.
.
我的问题是我非常基本。我应该在这些之间建立双向关系,还是从tbl_time到ref_time_types的单向多对一关系?例如,我想不出任何我希望找到所有UTC时间的原因。这是否是建立双向关系的指导原则?在参考表的关系方面有没有最佳实践?
如果有任何不同,我正在使用python,sqlalchemy和sqlite。
答案 0 :(得分:2)
您确实需要保留格式吗?
ref_time_types
共此外,请使用您的DBMS支持的日期/时间类型 - 我没有看到将各种日期/时间组件拆分到单独的字段的特定原因,除非您实际上想要查询这些个人组件(并希望将它们编入索引)。
我应该在这些之间建立双向关系,还是从tbl_time到ref_time_types的单向多对一关系?
如上所述,在第一种情况下你不需要任何关系(因为只有一个表)。在第二种情况下,关系将是多对一的。