数据库 - 扁平化与标准化

时间:2011-01-19 20:37:27

标签: database database-design

当数据库“被夷为平地”而不是标准化时,它们意味着什么?

2 个答案:

答案 0 :(得分:12)

“Flattened out”通常指的是一个数据库,其中有一个(或很少)非常大的表。

“规范化”是指数据是否已组织到结构良好的相关表中。这通常会通过将值拉入单独的表并通过ID与其相关来减少表中行的值重复。

有关详细信息,请参阅Database Normalization

答案 1 :(得分:5)

规范化数据库的组织是为了最大限度地减少数据冗余,并通常通过相关表生成小而结构良好的关系。一个例子可能是客户和他/她的所有订单。在规范化的数据库中,您将拥有至少两个(可能更多)表。客户表和订单表以某种方式连接在一起。在扁平化结构中,客户和订单数据可能位于单个表中。

报告数据库往往被非规范化以允许更快地检索数据(可能需要许多连接),而生产或事务数据库(OLTP)倾向于(或应该)使用表之间建立的外键更加规范化。 / p>