日期:2014-05-17  浏览次数:20406 次

数据表定义问题
某企业的员工和部门之间存在如下关系:该企业有多个部门,每个部门有若干员工,如果建立部门和员工之间的数据库,关系模式为:
员工EMP表结构如下:EMPNO(员工编号),ENAME(员工姓名),),MGR(员工经历),HIREDATE(雇用日期),DEPTNO(部门编号)
部门DEPT表格机构如下:DEPTNO(部门编号),DNAME(部门名),LOC(地址)

要求创建如上两个表格,但是有个要求是:只有部门没有员工的时候,才能删除?
请问这句如何在创建表时定义?
谢谢

------解决方案--------------------
这个不是在做表定义的时候做的,如果员工的部门编号是做部门表的外键,那么可以不用考虑你所提到的问题。但可能存在的问题是:对于部门表来说,应该算是一个基本表,引用它编号的表应该较多,所以在删除的时候需要判断引用该表的所有表是否还有此部门的数据,没有就可以删掉,这是一个删除的逻辑处理,或者建议楼主增加个字段,表示该部门是已失效或正在用的。
------解决方案--------------------
直接把员工表中部门编号作为部门表的外键,那么就不用考虑删除是部门表是否为空。实际定义中,对于部门表若为空应该置上失效标志而不是删除表。