首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据库设计--哪一个是最好的?

数据库设计--哪一个是最好的?
EN

Stack Overflow用户
提问于 2012-12-09 17:24:53
回答 6查看 179关注 0票数 0

我是个设计数据库的新手。我想创建一个包含员工信息的数据库(使用mysql)。然后,我将编写Web客户端来显示每个员工的个人资料。到目前为止,我的专栏是:

代码语言:javascript
复制
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规范化形式吗?

EN

回答 6

Stack Overflow用户

发布于 2012-12-09 17:28:11

只要你的列都不是多值的(例如,一个员工可以有多个部门),那么你的设计就是最优的。

票数 2
EN

Stack Overflow用户

发布于 2012-12-09 17:28:05

您的第一个解决方案更好,第1项到第6项应该都在同一个表users中。如果您有关于部门的更多信息要存储,则需要有一个特定的表departments,该表至少有两列:idname,然后在users表中,您将有一个department_id列,该列将存储与departments表中的部门相对应的id。

如果没有存储有关部门的任何其他信息,最好直接将部门名称存储在users表中,以避免每次检索或更新有关用户的信息时都必须连接表。

票数 1
EN

Stack Overflow用户

发布于 2012-12-09 17:28:49

代码语言:javascript
复制
User_Master
------------------

UserID - Primary Key
DeptID  - Foreign Key
FirstName
LastName
EmailID
PhoneNumber
FaxNumber


Dept_Master
----------------

DeptID - PrimaryKey
DepartmentName
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13786218

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档