用户和员工在同一张表中还是在不同的表中?[英] Users and Staff in the same table or separate tables?

本文是小编为大家收集整理的关于用户和员工在同一张表中还是在不同的表中?的处理方法,想解了用户和员工在同一张表中还是在不同的表中?的问题怎么解决?用户和员工在同一张表中还是在不同的表中?问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

我必须决定为我的应用程序设计我的数据库.到目前为止,我有存储这些字段的用户表:

**USERS**
RecID - auto increment
UserID - unique id (Primary key)
UserName
Password
Salt
TempPassword
FirstName
LastName
Email
SystemAdmin
QuestionID
Answer
Active
CreateDate
CreateUID

此表存储有关用户的所有信息.该应用程序名为员工中还有另一个部分.根据他们想在表单上看到的规格

**STAFF**
First name 
Last name 
Middle Initial 
Position
Email 
Comments

您可以看到,员工在用户表中已经存在一些字段,例如first,姓氏和电子邮件.最重要的是,员工记录不必成为用户.换句话说,员工记录永远不会登录系统,他们不需要所有用户信息/字段,但用户可能是员工.因此,我不确定该怎么办.我应该为员工创建另一个桌子吗?这将导致一些冗余数据,因为员工的记录可能已经是用户表中的记录.同时,我想保留在用户表中没有登录信息的员工记录.拥有两个单独的表可以使数据库清洁但多余.在这种情况下,最好的方法是什么?另外,我正在考虑将来的效率和查询数据.如果有人可以提供一些有帮助的建议或示例.预先感谢.

推荐答案

或创建第三个表:Contact保存一般联系信息:

Contact
--------------
Id   <-- primary key - links to ContactId in linked tables
FirstName
LastName
Email
ContactTypeId -- perhaps to enable identification?
etc...

然后链接到工作人员和用户的联系人表:

Staff
-----------
Id
ContactId <-- foriegn key
Position
etc...

Users
------------
Id
ContactId <-- foriegn key
Username
Password
etc....

然后,您将联系信息集中存储在同一表中,并且可以链接到需要存储联系类型数据的任何表.

本文地址:https://www.itbaoku.cn/post/1794016.html