如何回答这个面试问题?

时间:2010-04-03 06:30:55

标签: database-normalization

因为我在1 - 2年之间经历了我应该对这个面试问题说什么......

规范化有哪些类型? 我应该说所有正常形式还是什么?

3 个答案:

答案 0 :(得分:6)

面试的问题太广泛了 - 它可能会填满一本小书。我只记得关于前3种正常形式的几个要点(额外学分的4和5)。 Here's对它们进行了一些不错的总结。

如果我正在采访你并提出问题,我想听听大多数数据库设计人员至少努力争取3NF的其他任何事情,但是出于X的原因应该能够偏离这一点。知道什么时候偏离正常化,为什么比知道定义更重要和更有说服力。

答案 1 :(得分:2)

了解正常形式的正式定义能够给出一些真实世界的例子,这将是对这个问题的一个很好的答案。

答案 2 :(得分:1)

FWIW,我认为这是一个愚蠢的问题,除非直接从大学那里采访那些没有太多要求而且理论的人。当他们教授规范化时,他们教给我的第一件事就是“我们现在将解释这些[规范化]步骤,但请记住,一旦你理解它,你就不会用正常形式来思考,因为3NF会自然而然地”。他们是对的。

更好的面试问题是“这个架构出了什么问题?”并“为以下数据设计架构......”。因为它们表现出对基本原则的应用的,实用的知识。