按照表emp和dept的對應(yīng)關(guān)系,一個部門可以有多個員工,而一個員工只屬于某一個部門;因此,可以設(shè)置emp表中的empno為主鍵約束,deptno為外鍵約束;也可以設(shè)置dept表中的deptno為主鍵約束。
正確答案是:B: 設(shè)置emp表中的deptno為外鍵約束
專業(yè)分析:
在關(guān)系數(shù)據(jù)庫中,外鍵約束用于確保數(shù)據(jù)的一致性和完整性。外鍵是指一個表中的某個字段,它引用另一個表中的主鍵字段。通過外鍵約束,可以確保引用的記錄在被引用的表中是存在的。
具體到題目中給出的兩個表:
1. 表emp(empno, ename, sal, deptno):
- empno:員工的工號,通常是主鍵。
- ename:員工的姓名。
- sal:員工的工資。
- deptno:員工所在部門的編號。
2. 表dept(deptno, dname):
- deptno:部門的編號,通常是主鍵。
- dname:部門名稱。
分析選項(xiàng):
A: 設(shè)置emp表中的empno為外鍵約束
- empno是emp表中的主鍵,不應(yīng)該是外鍵。
B: 設(shè)置emp表中的deptno為外鍵約束
- deptno是emp表中的字段,它引用了dept表中的deptno字段(主鍵),因此可以設(shè)置為外鍵約束,確保員工記錄中的部門編號在部門表中是有效的。
C: 設(shè)置dept表中的deptno為外鍵約束
- deptno是dept表中的主鍵,不應(yīng)該是外鍵。
D: 無法設(shè)置外鍵約束
- 這是不正確的,因?yàn)橥耆梢栽O(shè)置外鍵約束來確保數(shù)據(jù)完整性。
因此,正確答案是B: 設(shè)置emp表中的deptno為外鍵約束。