- 数据库完整性 - 包括实体完整性、参照完整性和用户定义的完整性 - 参照完整性 - 定义及作用 - 通过外码指明参照关系 - 限制外码取值:为空值或被参照表主码值 - 外码定义方法 - 创建表时定义 - 修改表时定义 - 使用AutoTable语句和AddConstant字句 - 示例:SC表中外码SNumber参照Student表主码SNumber - 示例:SC表中外码CNumber参照Course表主码CNumber - 外码的作用机制 - 建立表间关系 - 保障数据正确性和相容性 - 违约处理策略 - 拒绝操作 - 插入不符合条件的元组 - 修改外码值为不存在的主码值 - 级联操作 - 删除被参照表元组时级联删除参照表相关记录 - 更新被参照表主码值时级联更新参照表外码值 - 设置为空值 - 条件:外码允许取空值 - 应用语义环境决定是否可行 - 示例分析 - 插入、修改、删除操作中的违约处理 - 外码取值约束的实际效果 - 总结与思考 - 学习内容回顾 - 思考题:表中外码是否存在及其取值约束 - 下节课预告 - 用户自定义的完整性