Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MYSQL:我应该为两种类型的用户使用两个表,它们有相同的字段和不同的字段吗?_Mysql_Database Design - Fatal编程技术网

MYSQL:我应该为两种类型的用户使用两个表,它们有相同的字段和不同的字段吗?

MYSQL:我应该为两种类型的用户使用两个表,它们有相同的字段和不同的字段吗?,mysql,database-design,Mysql,Database Design,我有两种类型的用户 1.雇员。 2.员工朋友 两个用户都有公共字段 1.名字 2.中间名 3.姓氏 4.手机号码 5.电话号码 6.城市地址 7.电子邮件(用作登录) 8.密码 9.注册日期 10更新帐户日期 员工朋友用户没有此字段 1.员工id 2.公司名称。 3.公司分支机构 4.职位 他们将使用相同的登录表单。编辑版(感谢纳瓦尔和帕特里克·詹姆斯·麦克杜格尔) 第一个表(用户)应包含字段1-10(第一个列表)和新字段fk_employees(第二个表的外键,如果是employees_fri

我有两种类型的用户 1.雇员。 2.员工朋友

两个用户都有公共字段
1.名字
2.中间名
3.姓氏
4.手机号码
5.电话号码
6.城市地址
7.电子邮件(用作登录)
8.密码
9.注册日期
10更新帐户日期

员工朋友用户没有此字段
1.员工id
2.公司名称。
3.公司分支机构
4.职位

他们将使用相同的登录表单。

编辑版(感谢纳瓦尔和帕特里克·詹姆斯·麦克杜格尔)

第一个表(用户)应包含字段1-10(第一个列表)和新字段fk_employees(第二个表的外键,如果是employees_friend,则为null)

第二个表(员工)应包含字段1-4(第二个列表)

编辑版本(感谢纳瓦尔和帕特里克·詹姆斯·麦克杜格尔)

第一个表(用户)应包含字段1-10(第一个列表)和新字段fk_employees(第二个表的外键,如果是employees_friend,则为null)


第二个表(雇员)应该包含字段1-4(第二个列表)

我对这一点的看法与我对面向对象编程的看法相同。若雇员扩展了用户,那个么雇员应该是具有额外信息的用户。我想要两张桌子

用户
(可能包含添加id字段的公共字段) &
Employees
(包含4个额外的员工字段和一个引用用户表中唯一标识符的字段。)


关于我的建议的更多信息可以在这里找到:

我对这一点的看法与我对面向对象编程的看法相同。若雇员扩展了用户,那个么雇员应该是具有额外信息的用户。我想要两张桌子

用户
(可能包含添加id字段的公共字段) &
Employees
(包含4个额外的员工字段和一个引用用户表中唯一标识符的字段。)


关于我的建议的更多信息可以在这里找到:

我建议创建两个单独的表,作为用户和用户朋友,使用上述字段

现在使用以下查询创建一个视图:

select employeeID,email,password from users
union
select friendID,email,password from user_friends

查询此视图以获取应用程序中的登录信息。

我建议使用上述字段创建两个单独的表作为用户和用户朋友

现在使用以下查询创建一个视图:

select employeeID,email,password from users
union
select friendID,email,password from user_friends

查询此视图以获取应用程序中的登录信息。

这是另一种方式,对吗?第二张表应该是关于员工对响应的感谢。为什么员工/朋友应该包含他/她不会放置数据的四个字段?@nawfal:不,我不这么认为。每个人都存在于employee表中。如果此人是员工的朋友,则其在员工的朋友记录中有一个外键。@Luke94 employee\u friend\u用户没有员工需要的额外字段。每个人都有前10个字段。@Luke94这是一个错误的设计。为什么员工朋友会有另一个表,而实际上它的列数较少?这是另一种方式,对吗?第二张表应该是关于员工对响应的感谢。为什么员工/朋友应该包含他/她不会放置数据的四个字段?@nawfal:不,我不这么认为。每个人都存在于employee表中。如果此人是员工的朋友,则其在员工的朋友记录中有一个外键。@Luke94 employee\u friend\u用户没有员工需要的额外字段。每个人都有前10个字段。@Luke94这是一个错误的设计。为什么employees\u friend会有另一个表,而实际上它的列数较少?感谢我的想法,我分离了employees\u friend没有的4个字段,并创建了名为employees\u company\u details的新表。感谢感谢我有了这个想法,我将员工朋友没有的4个字段分开,并创建了一个名为“员工公司详细信息”的新表。谢谢