14

数据库规范化仍然是“事情”吗?

当我在数据库课程中学习时,我们学习了所有级别的规范化,并被告知我们必须始终这样做。

现在,随着所有NoSQL运动,似乎不再需要规范化?

4

4 回答 4

14

这取决于使用数据库的应用程序类型。

对于 OLTP 应用程序(主要是数据输入,具有许多 INSERT、UPDATE 和 DELETES 以及 SELECT),标准化通常是一件好事。

对于 OLAP 和报告应用程序,规范化没有帮助。SELECT 查询将针对非规范化模式运行得更快,这可以通过视图来实现。

您还可以在这些非常流行的类似问题中找到一些有用的信息:

我应该标准化我的数据库吗?

就数据库而言,“为了正确性而规范化,为了性能而去规范化”是正确的口头禅吗?

规范化数据库对资源的影响是什么?

如何说服某人规范化数据库?

使用规范化表真的更好吗?

于 2010-01-31T19:53:44.420 回答
8

NoSQL不是灵丹妙药:它只是一种可以更好地适应某些情况的技术。对于关系型数据,RDBMS 不会很快消失。

于 2010-01-31T19:52:52.313 回答
3

经验法则“JOIN 的处理能力很昂贵”。我在为大小项目创建数据库时使用。包含用户名、地址等数据的表格应始终进行规范化,因为它们最近很少被访问,您如何使用所教示例进行教学。现在近年来web2.0数据、应用程序、移动服务等实际上已经采取了不同类型的数据,随着内存代码的丰富甚至更低,它可以节省处理能力将它们都放在同一个“表”上而不是规范化它。

于 2014-03-24T14:31:30.887 回答
2

是的,因为事务系统总是正常化,否则您可能会在以后遇到重大问题。对于将用于报告/OLAP 非规范化模式的数据库可能非常有用。

于 2010-10-30T12:48:17.557 回答