关系型数据库_字段约束和表关系

一、字段约束

对字段内数据的约束

主键约束(Primay Key):

  值唯一,且非空。  命名:pk_表名_列名

支持:Oracle、MySQL

唯一约束(Unique):

  值唯一,可以有一个空。  命名:un_表名_列名

支持:Oracle、MySQL

检查约束(Check):

  自定义约束,对值进行限制。  命名:ck_表名_列名

支持:Oracle

注意:MySQL虽然不支持,但是可以使用Check关键字,没有效果。

非空约束(Not null):

  值不为空。

支持:Oracle、MySQL

注意:MySQL中允许空值存入字段,Oracle不允许空值存入字段。空值:''

外键约束(Foregin Key):

  值必须为其它表已经存在的数据。  命名:fk_表名_列名

 


二、表关系

表与表之间的连接。

一对多:

  使用外键约束实现,外键约束在多方。

例子:

  学生表、教室表。

  规定:多个学生使用一个教室。

  所以:在学生表里添加一个外键指向教室表。


 一对一:

  使用外键约束+唯一性约束实现,约束可在任意一方。

例子:

  演员表,角色表。

  规定:每个角色只能由一个演员扮演。

  所以:在角色表添加一个外键指向演员表,然后给这个外键添加唯一约束。


多对多:

  借助一个中间表,中间表里面使用联合主键约束+外键约束实现。

例子:

  商品表、订单表。

  规定:每个商品可以被多次下单。

  所以:创建一个中间表,表内有两个字段,分别为指向商品表的外键和指向订单表的外键,同时两个字段组成一个联合主键。


注意:在删除数据时,从有外键的表开始删除。

 

posted @ 2022-12-11 13:12  在博客做笔记的路人甲  阅读(123)  评论(0编辑  收藏  举报