微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

数据库设计 – 什么时候应该反规范化?

我想我们都熟悉 database normalization.

我的问题是:当您想要对表进行非规范化时,您使用了哪些指导原则?

解决方法

在OLAP操作时进行非规范化,在OLTP时进行规范化(来自Denormalization部分下的链接文章)

Databases intended for online transaction processing (OLTP) are
typically more normalized than databases intended for online
analytical processing (OLAP). OLTP applications are characterized by a
high volume of small transactions such as updating a sales record at a
supermarket checkout counter. The expectation is that each transaction
will leave the database in a consistent state. By contrast,databases
intended for OLAP operations are primarily “read mostly” databases.
OLAP applications tend to extract historical data that has accumulated
over a long period of time. For such databases,redundant or
“denormalized” data may facilitate business intelligence applications.
Specifically,dimensional tables in a star schema often contain
denormalized data. The denormalized or redundant data must be
carefully controlled during extract,transform,load (ETL) processing,
and users should not be permitted to see the data until it is in a
consistent state. The normalized alternative to the star schema is the
sNowflake schema. In many cases,the need for denormalization has
waned as computers and RDBMS software have become more powerful,but
since data volumes have generally increased along with hardware and
software performance,OLAP databases often still use denormalized
schemas.

Denormalization is also used to improve performance on smaller computers as in computerized cash-registers and mobile devices,since these may use the data for look-up only (e.g. price lookups). Denormalization may also be used when no RDBMS exists for a platform (such as Palm),or no changes are to be made to the data and a swift response is crucial.

原文地址:https://www.jb51.cc/mssql/79783.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐