![]() |
1
0
嗯,我会稍微改变一下。把所有的日期/时间放在一个单独的表中(我现在称它为日期,但你也可以称它为时间或时间戳,等等),并且用坦克很多对很多。(我使用了表填充级别。) 水箱的液位存储在FillLevels表中。
公司:
Tanks:
FillLevels:
日期:
我很抱歉没有一个闪亮的图表给你,但我知道这有点道理。 或者,您可以在FillLevels表中创建一个日期时间字段,而不是使用日期表,这取决于您打算如何查询数据库。 |
![]() |
2
2
数据建模和数据库设计并不完全相同,即使人们经常使用ER图来总结数据库模式。 日期或由日期和时间组成的时间戳没有“虚幻”的意思。它们是抽象的事实并不重要。银行账户也是抽象的。 不管你是要有一个日期表还是时间戳,这都是另一回事。在实践中,我发现有一个表可以对报告数据库中的每个日期或每个工作进行编目非常有帮助。有了适当的属性,即使企业有自己古怪的财政日历,也可以轻松地生成每周、每月、季度或每年的报告。有些属性可能与内置在SQL中的函数是冗余的,但即使这样,这也是一个相对不重要的设计决策。 |
![]() |
3
1
|
![]() |
developer · 带外键的SQL表设计 5 月前 |
![]() |
relatively_random · 确保两个表之间一致的共同参考 7 月前 |
![]() |
b126 · 在两种不同的Oracle模式上执行相同查询的速度差异很大 1 年前 |
![]() |
robertspierre · 在多对多关系中自动删除未引用的行 1 年前 |
![]() |
Michael Samuel · MYSQL在以下情况下自动创建索引 7 年前 |