按照表emp和dept的对应关系,一个部门可以有多个员工,而一个员工只属于某一个部门;因此,可以设置emp表中的empno为主键约束,deptno为外键约束;也可以设置dept表中的deptno为主键约束。
正确答案是:B: 设置emp表中的deptno为外键约束
专业分析:
在关系数据库中,外键约束用于确保数据的一致性和完整性。外键是指一个表中的某个字段,它引用另一个表中的主键字段。通过外键约束,可以确保引用的记录在被引用的表中是存在的。
具体到题目中给出的两个表:
1. 表emp(empno, ename, sal, deptno):
- empno:员工的工号,通常是主键。
- ename:员工的姓名。
- sal:员工的工资。
- deptno:员工所在部门的编号。
2. 表dept(deptno, dname):
- deptno:部门的编号,通常是主键。
- dname:部门名称。
分析选项:
A: 设置emp表中的empno为外键约束
- empno是emp表中的主键,不应该是外键。
B: 设置emp表中的deptno为外键约束
- deptno是emp表中的字段,它引用了dept表中的deptno字段(主键),因此可以设置为外键约束,确保员工记录中的部门编号在部门表中是有效的。
C: 设置dept表中的deptno为外键约束
- deptno是dept表中的主键,不应该是外键。
D: 无法设置外键约束
- 这是不正确的,因为完全可以设置外键约束来确保数据完整性。
因此,正确答案是B: 设置emp表中的deptno为外键约束。