请帮我分析下数据库的设计、

[复制链接]
查看11 | 回复1 | 2011-5-9 22:18:41 | 显示全部楼层 |阅读模式
我做一个员工信息管理系统、希望做个强壮点的数据库、数据库里有几个表、user(用户登陆信息表)、staff(员工基本信息表)、section(部门表)、salary(工资表)、
问题:
1、现在我登陆需要帐号和密码、帐号我想从staff(员工信息)的name(名字)字段里取、而密码需要从user表里取、如何设计user表和staff的字段(比如外键主键的、)
2、我注册一个新员工、把员工的基本信息存放到staff里、pw(密码)存放到user里、需要一一对应、删除时候都要删除、增加时候都要有、
可能我问的不是很准确。或是查询语句问题、
请帮我分析下、查询语句最好也帮我分析下、
比如:staff(
ID 主键
Name 非空
。。。

user(
外键为staff的ID
Password非空

如果我要是查询员工信息的话、密码岂不是被看到了?
如果我要是查询语句改改的话一个外键应该足够了、
select user.password,staff.staffName fromuser,staff where staffID=007;
这样登陆帐号和密码应该解决了吧?

回复

使用道具 举报

千问 | 2011-5-9 22:18:41 | 显示全部楼层
1,既然user表是用户登录信息表,何须还把密码放在另一个表里?何况staff表应该放员工信息进去,而不是密码之类。另外,两张表合一张表岂不是更好?如果要这么做,那按照满足范式条件来说,两个表,用ID作为外键都行。2,使用级联操作,有外键的引用了,找到外键对应的另一个表信息,进行操作就可以了。建表的字段设计,应该按照你的需求来了。这个就不好说了。但注意几点,主键,外键的引用,满足建表要求等 查询员工信息时候,不查询密码不就不显示了么?密码问题,再细分深点,使用MOD5加密以后插入数据库,那么安全性就提高了。还有 select user.password,staff.staffName fromuser,staff where s
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行