外键约束和建模

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了外键约束和建模相关的知识,希望对你有一定的参考价值。

声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。

外键约束和建模

对于mysql的关系,我们可以使用建模软件进行数据库表的详细说明,PowerDesigner和sqlyog都可以用来建立关系模型。

PowerDesigner好处在于可以对表进行中文备注,sqlyog不能有中文注释。

PowerDesigner建模示意图如下:

image

sqlyog建模需要点击新架构设计器:

image

建模示意图如下:

image

外键约束可双击关系线添加外键约束,外键约束有四种不同的选项:CASCADE, SET NULL, NO ACTION, RESTRICT。

1.CASCADE : 从父表中删除或更新对应的行,同时自动的删除或更新自表中匹配的行。[ON DELETE CANSCADE和ON UPDATE CANSCADE都被InnoDB所支持。]

2.SET NULL: 从父表中删除或更新对应的行,同时将子表中的外键列设为空。[注意,这些在外键列没有被设为NOT NULL时才有效。ON DELETE SET NULL和ON UPDATE SET SET NULL都被InnoDB所支持。]

3.NO ACTION: InnoDB拒绝删除或者更新父表。

4.RESTRICT: 拒绝删除或者更新父表。[指定RESTRICT(或者NO ACTION)和忽略ON DELETE或者ON UPDATE选项的效果是一样的。]

操作示图如下:

image

四种选项可在下拉列表中设置。

以上是关于外键约束和建模的主要内容,如果未能解决你的问题,请参考以下文章

SQLSERVER外键约束

数据库外键约束?

Oracle定义约束外键约束

主键约束,外键约束,空值约束,默认值约束,唯一约束,检查约束的各个作用是啥?

高级c#中三层架构中存在外键约束怎么删除

怎样在oracle中创建主外键和唯一约束