[设为首页] [加入收藏]
澳门精准三肖_澳门开奖现场直播_澳门六合最快开奖结果_626969澳门资料大全
网站首页 澳门精准三肖 澳门开奖现场直播 澳门六合最快开奖结果 626969澳门资料大全 福建新闻 福建新闻频道 福建新闻中心
您的当前位置:主页 > 福建新闻中心 >  
怎样实现良好的数据库设计?
2020-10-16 19:57    来源: 未知      点击:

无论是应用程序,还是数据库如何变化,数据始终是最重要的部分。通常,数据是系统存在的首要目的。这就是为什么,我们不应该只把数据库系统看作是保存数据的黑盒子,而要将其看成验证和防止数据腐化的工具。

要做到这一点,就要有健壮和深思熟虑的数据库设计。当然,业务逻辑是在应用层编码,它确保数据在到达数据库之前的格式是正确的。

但是,谁能保证网络故障或缺陷不会放行不可靠的“客人”?此外,应用层并不是通往数据库的唯一的“门”。我们可以使用导入脚本、维护脚本,DBA 和开发人员也会与之交互。我们可以在底层采取预防措施确保在数据存储前总是进行检查。

拥有健壮、可靠的数据也有助于开发和测试。将一个列设置为 Not Null 可以省掉许多假设该列为空的测试场景,还能简化代码,让开发人员不用(几乎)每次访问它之前都检查值。

在强调了良好的数据库设计的重要性后,让我们看看可以使用哪些工具来实现它。

这无疑是良好设计的首要原则。这里,我们不打算深入研究规范化规则,只是想强调它的重要性。

另一件要注意的事情是定义适当的属性类型。这不仅可以提高数据库的性能,还能在存储数据前验证数据。所以,我们应该在“integer”、“numeric”字段中保存数值数据;在“timestamp”、“timestamptz”字段中保存时间戳;在“bit”、“char(1)”或“boolean”字段中保存布尔值等等。

日期值得特别注意。如果 Date 属性假设只有日期部分(OrderDate,ReleaseDate),请使用没有时间部分的 Date 类型。如果你只需要保留时间(StartTime,EndTime),就使用合适的时间类型。

如果不需要指定精度,则将其指定为零(“time(0)”)。对带有时间部分的日期,有一个问题是,你必须总是截断时间部分,只显示日期,并且当你要在与数据库所在时区不同的地方显示时,要确保格式化后不会显示成昨天或明天。当跳转到夏令时的时候,带有时间部分的日期时间加减也可能出现问题。

下一篇:没有了

 推荐新闻
 酷图热图
 热点文章
Power by DedeCms