设计数据库

sca*_*cci 6 database-design sql-server-2008

我目前正在尝试为我正在开发的新项目设计数据库.我的问题源于规范化和非规范化......我想弄清楚的是你应该始终将规范化到最大程度吗?数据将是用户将很少修改的信息,并且通常与数据视图报告/视图交互.

所以我的第一次尝试是对数据进行规范化,但是当我深入了解项目并意识到他们很少会添加/更改数据时,我认为从一开始就对结构进行非规范化可能会更好.

任何智慧的话......未来他们可能会比今天更多地与数据交互,但它仍然不会像订单系统或CRM系统那样.

总是欣赏输入.

--S

Mit*_*eat 4

设计 OLTP 数据库的通常建议是标准化3NF

然而,数据仓库或 OLAP 数据库的最佳实践是非规范化为事实表和支持维度表(星型模式)。

所以这取决于你的精确使用scanario。从你的描述看来你有更接近OLAP的东西。

我会首先将所有内容标准化,然后如果存在性能问题,请考虑非标准化。

如果您的报告涉及大量聚合,那么SQL Server 索引视图可能会对您有所帮助,并且您应该创建索引来尝试覆盖您的查询工作负载。