建立数据库时,既然SQL语言可以实现多表连接,那为什么还要建立表间的一对一,一对多这些关系呢?
2个回答
展开全部
追问
再问一下:删掉了一门课程,可是发现以前学生这门课的记录(比如说上个学期的)也被删掉了,这怎么办?
追答
两种方法:
一。你在定义外部关键字级联操作的时候选择NO ACTION就可以了
二。如果子表有相关记录,禁止主表删除对应记录。
外建约束有下面几种,各自定义三种也是操作
更新规则:指定修改父表中关键字 (key) 值时所用的规则。 操作:1.主表更新,子表对应记录更新;2.子表有记录,主表对应记录不得更新;3.主表改,子表不动作
删除规则;指定删除父表中的记录时所用的规则。 操作:1.主表删除,子表对应记录删除;2.子表有记录,主表对应记录
不得删除;3.主表删除,子表不动作
插入规则;指定在子表中插入新的记录或更新已存在的记录时所用的规则。 操作只有两种:1.主表外键不匹配,子表不得插入;2.子表不动作。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询