【发布时间】:2013-07-30 01:43:18
【问题描述】:
我正在尝试了解数据库规范化,我了解总体思路,但什么是正确的方法,什么是多余的。
例如,我有一个标准的员工部门数据库作为第一步。
表格是
EMPLOYEES:
id, first_name, last_name, dob, email, city, address, department_name
因此,为了将其标准化为第一步,我会将部门名称移动到单独的表中,并在必要时以多对一的形式加入。
EMPLOYEES:
id, first_name, last_name, dob, email, city, address, department_id
DEPARTMENTS
id, name
这是否足以进行规范化,还是将除department_id 之外的所有其他字段移动到像employees_meta 这样的第二个表更好?想象一下,如果我们在描述员工的表中还有 20 个字段,那么什么是正常的?
如果我们谈论的是优化网页,正确的规范化是只将我们在处理员工表时始终显示的字段以及我们不经常使用的所有其他信息移动到不同的表中吗?
【问题讨论】:
-
规范化处理实体。代表模型中实体的所有内容都应该分开(规范化)。到目前为止,您的标准化看起来还不错:o)
-
谢谢,这是一个简短而美好的定义,可惜它在 cmets 中 :)
-
thanx,但为什么评论不好?
-
是的,我会说这是一个很好的答案
-
您可以为该评论投票;)
标签: mysql database database-design