我有这样的表
员工
Id | IdEmployee | Employee | Address | Phone_num |
1 | EM10000 | Jack | wall st. | 9000010 |
2 | EM10001 | Paul | elm st. | 9000010 |
3 | EM10002 | George | ex st . | 9000010 |
技术员
id | IdTech | TechName | Address | phone_num |
1 | TE10000 | Gabut | Hello st. | 9000010 |
2 | TE10001 | Polnaref | coding st. | 9000010 |
3 | TE10002 | Rafioli | stack st. | 9000010 |
管理员
id | IdAdmin | username | password | phone_num |
1 | AM10000 | sim1 | 1234 | 9000010 |
2 | AM10001 | sim2 | luvcoding | 9000010 |
3 | AM10002 | sim3 | okaymate | 9000010 |
如何让表技术人员和员工成为用户,以便他们可以在登录表单中使用他们的信息作为用户名?另外,我希望技术人员和员工的每个Id(不是“AutoIncrement”ID)都会成为用户名。
如何像这样管理数据库?
还是应该在两个表中添加密码列? (员工和技术员)
或者我应该像这样制作一张桌子?
(新)管理员
id | Id | username | password | phone_num |
1 | AM10000 | sim1 | 1234 | 9000010 |
2 | AM10001 | sim2 | luvcoding | 9000010 |
3 | AM10002 | sim3 | okaymate | 9000010 |
4 | AM10003 | EM10000 | test1 | NULL |
5 | AM10004 | EM10001 | test2 | NULL |
6 | AM10005 | EM10002 | test3 | NULL |
7 | AM10006 | TE10000 | 1234 | NULL |
8 | AM10007 | TE10001 | ok123 | NULL |
技术人员和员工(独立表)之间没有任何关系
答案 0 :(得分:1)
在您的情况下,您最好以规范化形式制作表格,如下所示:
<强>员工强>
from plotly.offline import download_plotlyjs, init_notebook_mode, iplot
from plotly.graph_objs import *
init_notebook_mode()
trace1 = Histogram(
x=data_mil.country,
y=data_mil.NS,
opacity=0.75
)
data = [trace1]
layout = Layout(barmode='overlay')
fig = Figure(data=data, layout=layout)
iplot(fig, filename='overlaid histogram')
<强>技术人员强>
IdEmployee | Employee | Address | Phone_num
EM10000 | Jack | wall st. | 9000010
EM10001 | Paul | elm st. | 9000010
EM10002 | George | ex st . | 9000010
<强>管理员强>
IdEmployee | TechName
TE10000 | Gabut
TE10001 | Polnaref
这可确保您没有复制数据,并确保您可以使用外键正确关联表。
因此,如果您的管理员有IdAdmin&#39; EM10002&#39;,请使用以下查询获取该员工的密码:
IdEmployee | Password
TE10001 | hashed_pass1
EM10002 | hashed_pass2
以下是foreign key用法的另一个示例。
要更多地了解规范化,请查看this thread。