我是个设计数据库的新手。我想创建一个包含员工信息的数据库(使用mysql)。然后,我将编写Web客户端来显示每个员工的个人资料。到目前为止,我的专栏是:
1) user id
2) first name
3) last name
4) email address
5) phone number
6) fax number
7) department(which will be like a category)最好的设计是将项目1-6列放在一个表中,然后将部门列放在它自己的表中(带有id列)吗?或者我应该让所有的项都有自己的表,给每个表一个额外的id column....and这是#1规范化形式吗?
发布于 2012-12-09 17:28:11
只要你的列都不是多值的(例如,一个员工可以有多个部门),那么你的设计就是最优的。
发布于 2012-12-09 17:28:05
您的第一个解决方案更好,第1项到第6项应该都在同一个表users中。如果您有关于部门的更多信息要存储,则需要有一个特定的表departments,该表至少有两列:id和name,然后在users表中,您将有一个department_id列,该列将存储与departments表中的部门相对应的id。
如果没有存储有关部门的任何其他信息,最好直接将部门名称存储在users表中,以避免每次检索或更新有关用户的信息时都必须连接表。
发布于 2012-12-09 17:28:49
User_Master
------------------
UserID - Primary Key
DeptID - Foreign Key
FirstName
LastName
EmailID
PhoneNumber
FaxNumber
Dept_Master
----------------
DeptID - PrimaryKey
DepartmentNamehttps://stackoverflow.com/questions/13786218
复制相似问题