精华内容
下载资源
问答
  • 用户定义完整性约束

    千次阅读 2020-03-31 22:40:15
    2.用户定义完整性约束: 用户定义的完整性规则,包括非空约束、自增约束、默认值约束等、check约束以及触发器约束,本次主要学习非空约束、自增约束、默认值约束,check约束以及触发器约束在这里暂时不做介绍。 ...

    用户定义完整性约束:
    用户定义的完整性规则,包括非空约束、自增约束、默认值约束等、check约束以及触发器约束,本次主要学习非空约束、自增约束、默认值约束,check约束以及触发器约束在这里暂时不做介绍。
    非空约束(not null):
    非空约束是指字段的值不能为null,null值就是没有值或值空缺,不是空串(‘ ’), 对于使用了非空约束的字段,如果用户在添加数据时没有给其指定值,数据库系统会报错。在mysql中,非空约束的定义可以使用 create table 或alter table语句,在某个列定义后面加上关键字 not null作为限定词,来约束该列的取值不能为空。
    (1)创建表时,为字段添加非空约束,语法如下:
    create table 表名(
    字段名 数据类型 not null,
    …,
    字段名 数据类型
    )engine=存储引擎;
    例:在数据库db_school中定义班级表book1时,给字段booknum定义非空约束。
    use db_school;
    create table book1 (
    id int(4),
    booknum varchar(6) not null,
    name varchar(25)
    );
    (2)修改表,给已经存在的字段添加非空约束,语法如下:
    alter table 表名 modify 字段名 数据类型 not null;

    例:使用alter table...modify语句给已有字段id添加非空约束。
    

    create table book1 (
    id int(4),
    booknum varchar(6),
    name varchar(25)
    );
    alter table book1 modify id int not null;

    (3)修改表,添加新的字段并添加非空约束条件,语法如下
    alter table 表名 add 新字段名 新数据类型not null;
    例:已有book1表,向表中新增作者字段author_name, 数据类型为char(10)、非空.
    create table book1 (
    id int(4),
    booknum varchar(6),
    name varchar(25)
    );
    alter table book1 add auther_name char(10) not null;

    (4)删除表中字段的非空约束,语法如下:
    alter table 表名 modify字段名 数据类型 null;
    例:已有表book1,删除字段id的非空约束。
    create table book1 (
    id int(4) not null,
    booknum varchar(6),
    name varchar(25)
    );
    alter table book1 modify id int(4) null;

    默认值(default)约束:
    默认值约束用于指定一个字段的默认值。如果没有在该字段值填写数据,则该字段将自动填入这个默认值。
    (1)创建表时,给字段增加默认值约束,语法如下:
    create table 表名(
    字段名 数据类型 default 默认值,
    …,
    字段名 数据类型
    )engine=存储引擎;
    例:在数据库db_school中定义成员表persons时,给字段city定义默认值约束。
    create table persons(
    id_p int ,
    lastname varchar(10) ,
    firstname varchar(10),
    address varchar(100),
    city varchar(20) default ‘shanghai’
    );
    以上创建的表persons中,对城市‘city’给了默认值,在插入数据的时候如果不输入其他值,给一个default,mysql会自动给默认值’shanghai’

    (2) 修改表,对表中已有的字段设置默认值,语法如下:
    alter table 表名 alter 字段名 set default ‘默认值’;
    例:使用alter table…alter语句给表persons已有字段id_p添加默认值0
    create table persons(
    id_p int ,
    lastname varchar(10) ,
    firstname varchar(10),
    address varchar(100),
    city varchar(20) default ‘shanghai’
    );
    alter table persons alter id_p set default 0;

    (3)修改表,在表中新增字段且为该字段设置默认值,方法如下:
    alter table 表名 add 新字段名 新数据类型 default ‘默认值’;
    例:给表persons增加字段sex表示性别,char(10),并且设置默认值 ‘男’;
    create table persons(
    id_p int ,
    lastname varchar(10) ,
    firstname varchar(10),
    address varchar(100),
    city varchar(20) default ‘shanghai’
    );
    alter table persons add sex char(10) default ‘男’;

    (4)删除表中某个字段的默认值,方法如下:
    alter table表名 alter 字段名 drop default;
    例:删除表persons性别字段sex的默认值
    alter table persons alter sex drop default;

    展开全文
  • 要想了解这三类完整性约束首先要了解什么是数据完整性。数据完整性是指数据库中存储的数据是有意义的或正确的,和现实世界相符。关系模型中三类完整性约束: – 实体完整性(Entity Integrity) – 参照完整性...

    数据完整性

    要想了解这三类完整性约束首先要了解什么是数据完整性。数据完整性是指数据库中存储的数据是有意义的或正确的,和现实世界相符。关系模型中三类完整性约束:
    – 实体完整性(Entity Integrity)
    – 参照完整性(Referential Integrity)
    – 用户定义的完整性(User-defined Integrity) •
    实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称作是关系的两个不变性,应该由关系系统自动支持

    实体完整性

    • 保证关系中的每个元组都是可识别的和惟一的 • 指关系数据库中所有的表都必须有主键,而且表中不允
    许存在如下记录:
    – 无主键值的记录
    – 主键值相同的记录
    • 原因:实体必须可区分
    例如:
    在这里插入图片描述
    上图就出现了主键值(学号是主键)重复的情况。当在表中定义了主键时,数据库管理系统会自动保证数据的实体完整性,即保证不允许存在主键值为空的记录以及主键值重复的记录。

    参照完整性

    也称为引用完整性
    • 现实世界中的实体之间往往存在着某种联系,在关系模型中,实体以及实体之间的联系都是用关系来表示的,这样就自然存在着关系与关系之间的引用
    • 参照完整性就是描述实体之间的联系的
    • 参照完整性一般是指多个实体或关系之间的关联关系
    在这里插入图片描述
    此完整性涉及到了外键:
    • 参照完整性规则就是定义外键与被参照的主键之间的引用规则
    • 外键一般应符合如下要求:
    – 或者值为空
    – 或者等于其所参照的关系中的某个元组的主键值

    用户定义完整性

    • 也称为域完整性或语义完整性
    • 是针对某一具体应用领域定义的数据约束条件
    • 反映某一具体应用所涉及的数据必须满足应用语义的要求
    • 实际上就是指明关系中属性的取值范围,防止属性的值与应用语义矛盾
    • 关系模型应提供定义和检验这类完整性的机制,以便用统一的系统方法处理它们,而不要由应用程序承担这一功能

    展开全文
  • 完整性检查:(数据库管理系统中检查数据是否满足完整性约束条件的机制称为完整性检查。) 一般在INSERT、UPDATE、DELETE语句执行后开始检查,也可以在事务提交时检查。 违约处理: 拒绝(NO ACTION)...

    数据库完整性:数据的正确性(是指数据是符合现实世界语义,反映了当前实际状况的)、数据的相容性(是指数据库同一对象在不同关系表中的数据是符合逻辑的)

    数据的完整性 :

    1. 防止数据库中存在不符合语义的数据,也就是防止数据库中存在不正确的数据
    2. 防范对象:不合语义的、不正确的数据

    完整性检查:(数据库管理系统中检查数据是否满足完整性约束条件的机制称为完整性检查。)

          一般在INSERT、UPDATE、DELETE语句执行后开始检查,也可以在事务提交时检查。

    违约处理:

    拒绝(NO ACTION)执行该操作

    级连(CASCADE)执行其他操作

    一、实体完整性

    关系模型的实体完整性 (根据定义位置不同)

    • CREATE  TABLE中用PRIMARY KEY定义
    • 单属性构成的码有两种说明方法
    1. 定义为列级约束条件
    2. 定义为表级约束条件
    • 对多个属性构成的码只有一种说明方法
    1. 定义为表级约束条件

    实体完整性检查和违约处理

    插入或对主码列进行更新操作时,关系数据库管理系统按照实体完整性规则自动进行检查。

    包括:

    • 检查主码值是否唯一,如果不唯一则拒绝插入或修改 检查主码的各个属性是否为空,
    • 只要有一个为空就拒绝插入或修改

    二、参照完整性

    关系模型的参照完整性定义

    • 在CREATE  TABLE中用FOREIGN KEY短语定义哪些列为外码
    • 用REFERENCES短语指明这些外码参照哪些表的主码

    eg:

    CREATE TABLE SC          

    (  Sno    CHAR(9)  NOT NULL,            

    Cno     CHAR(4)  NOT NULL,              

    Grade    SMALLINT,            

    PRIMARY KEY (Sno, Cno),                                                  /*为多主码所以必须在表级定义实体完整性*/                

    FOREIGN KEY (Sno) REFERENCES Student(Sno),                     /*在表级定义参照完整性*/                

    FOREIGN KEY (Cno) REFERENCES Course(Cno)                       /*在表级定义参照完整性*/            

     );

    参照完整性检查和违约处理

    • 一个参照完整性将两个表中的相应元组联系起来
    • 对被参照表和参照表进行增删改操作时有可能破坏参照完整性,必须进行检查

    eg:(四种可能破坏的情况)

    1. SC表中增加一个元组,该元组的Sno属性的值在表Student中找不到一个元组,其Sno属性的值与之相等。
    2. 修改SC表中的一个元组,修改后该元组的Sno属性的值在表Student中找不到一个元组,其Sno属性的值与之相等。
    3. 从Student表中删除一个元组,造成SC表中某些元组的Sno属性的值在表Student中找不到一个元组,其Sno属性的值与之相等。
    4. 修改Student表中一个元组的Sno属性,造成SC表中某些元组的Sno属性的值在表Student中找不到一个元组,其Sno属性的值与之相等 。

     

    被参照表(例如Student)

     

    参照表(例如SC)

     

    违约处理

    可能破坏参照完整性

        插入元组

    拒绝

    可能破坏参照完整性

        修改外码值

    拒绝

    删除元组

      可能破坏参照完整性

    拒绝/级连删除/设置为空值

    修改主码值

     可能破坏参照完整性

    拒绝/级连修改/设置为空值

    参照完整性违约处理

    (1) 拒绝(NO ACTION)执行 不允许该操作执行。该策略一般设置为默认策略

    (2) 级联(CASCADE)操作 当删除或修改被参照表(Student)的一个元组造成了与参照表(SC)的不一致,则删除或修改参照表中的所有造成不一致的元组

    (3)设置为空值(SET-NULL) 当删除或修改被参照表的一个元组时造成了不一致,则将参照表中的所有造成不一致的元组的对应属性设置为空值。

    三、用户定义的完整性

    (针对某一具体应用的数据必须满足的语义要求)

    属性上的约束条件

    • 列值非空(NOT NULL) 、

    eg: CREATE TABLE SC         (  Sno CHAR(9)  NOT NULL,    .......);   ##若有表级定义的主属性则默认非空。

    • 列值唯一(UNIQUE)

    eg:

    CREATE TABLE DEPT         (   Deptno  NUMERIC(2),             Dname  CHAR(9)   UNIQUE NOT NULL,                                     /*要求Dname列值唯一, 并且不能取空值*/           ..............         );

    • 检查列值是否满足一个条件表达式(CHECK)

     eg:      Ssex  CHAR(2)  CHECK (Ssex IN (‘男’,’女’))                                   /*性别属性Ssex只允许取'男'或'女' */

                Grade   SMALLINT CHECK (Grade>=0 AND Grade <=100),                  /*Grade取值范围是0到100*/

    元组上的约束条件

    (用CHECK短语定义元组上的约束条件,即元组级的限制)

    同属性值限制相比,元组级的限制可以设置不同属性之间的取值的相互约束条件

     CHECK (Ssex='女' OR Sname NOT LIKE 'Ms.%')                    /*定义了元组中Sname和 Ssex两个属性值之间的约束条件*/

    四、完整性约束命名子句

    CONSTRAINT <完整性约束条件名><完整性约束条件>

    • <完整性约束条件>包括NOT NULL、UNIQUE、PRIMARY KEY短语、FOREIGN KEY短语、CHECK短语等

    eg:建立学生登记表Student,要求学号在90000~99999之间,姓名不能取空值,年龄小于30,性别只能是“男”或“女”。

    CREATE TABLE Student      

    (   Sno  NUMERIC(6)      

             CONSTRAINT C1 CHECK (Sno BETWEEN 90000 AND 99999),      

        Sname  CHAR(20)        

            CONSTRAINT C2 NOT NULL,    

        Sage  NUMERIC(3)      

            CONSTRAINT C3 CHECK (Sage < 30),        

        Ssex  CHAR(2)          

           CONSTRAINT C4 CHECK (Ssex IN ( ‘男’,'女')),          

           CONSTRAINT StudentKey PRIMARY KEY(Sno)  ) ;           ###在Student表上建立了5个约束条件,包括主码约束(命名为StudentKey)以及C1、C2、C3、C4四个列级约束。

    使用ALTER TABLE语句修改表中的完整性限制

    eg:去掉上例Student表中对性别的限制。        

    ALTER TABLE Student         DROP CONSTRAINT C4;

    五、断言

    • 使用 CREATE ASSERTION语句,通过声明性断言来指定更具一般性的约束。
    • 可以定义涉及多个表的或聚集操作的比较复杂的完整性约束。
    • 断言创建以后,任何对断言中所涉及的关系的操作都会触发关系数据库管理系统对断言的检查,任何使断言不为真值的操作都会被拒绝执行

    创建断言

    CREATE ASSERTION<断言名><CHECK 子句>   ###<CHECK 子句>中的约束条件与WHERE子句的条件表达式类似。

    eg:限制数据结构课程最多20名学生选修

    CREATE    ASSERTION    ASSE_SC_DB_NUM     ###断言名   

    CHECK (20 >= (select count(*)                   /*此断言的谓词涉及聚集操作count的SQL语句*/               

             From Course,SC              ###多表 

             Where   SC.Cno=Course.Cno    and        Course.Cname ='数据结构')     );

    删除断言

    语句格式为 :DROP ASSERTION <断言名>;

    如果断言很复杂,则系统在检测和维护断言的开销较高,这是在使用断言时应该注意的。

    六、触发器

    • 触发器是用户定义在关系表上的一类由事件驱动的特殊过程  
    • 触发器保存在数据库服务器中
    • 任何用户对表的增、删、改操作均由服务器自动激活相应的触发器
    • 触发器可以实施更为复杂的检查和操作,具有更精细和更强大的数据控制能力

    定义触发器

    表的拥有者才可以在表上创建触发器

    触发器只能定义在基本表上,不能定义在视图上

    触发器名可以包含模式名,也可以不包含模式名

    同一模式下,触发器名必须是唯一的

    触发器名和表名必须在同一模式下

     CREATE TRIGGER <触发器名>                    ##触发事件发生,触发器被激活

     {BEFORE | AFTER} <触发事件> ON <表名>        ##触发器在事件前或后被激活

    REFERENCING NEW|OLD ROW AS<变量>        ##指出引用的变量

    FOR EACH  {ROW | STATEMENT}               ##行级触发器(FOR EACH ROW) 语句级触发器(FOR EACH STATEMENT)

     [WHEN <触发条件>]<触发动作体>

    触发事件

    1. 触发事件可以是INSERT、DELETE或UPDATE也可以是这几个事件的组合
    2. 还可以UPDATE OF<触发列,...>,即进一步指明修改哪些列时激活触发器

    触发器类型

    • 行级触发器(FOR EACH ROW)
    • 语句级触发器(FOR EACH STATEMENT)

    eg:在例5.11的TEACHER表上创建一个AFTER UPDATE触发器,触发事件是UPDATE语句:

                UPDATE TEACHER SET Deptno=5;    

    假设表TEACHER有1000行    

    • 如果是语句级触发器,那么执行完该语句后,触发动作只发生一次
    • 如果是行级触发器,触发动作将执行1000次

    触发条件

    • 触发器被激活时,只有当触发条件为真时触发动作体才执行;否则触发动作体不执行。
    • 如果省略WHEN触发条件,则触发动作体在触发器激活后立即执行

    触发动作体

    • 触发动作体可以是一个匿名PL/SQL过程块,也可以是对已创建存储过程的调用
    • 如果是行级触发器,用户都可以在过程体中使用NEW和OLD引用事件之后的新值和事件之前的旧值
    • 如果是语句级触发器,则不能在触发动作体中使用NEW或OLD进行引用 如果触发动作体执行失败,激活触发器的事件就会终止执行,触发器的目标表或触发器可能影响的其他对象不发生任何变化 

     

    eg:     定义一个BEFORE行级触发器,为教师表Teacher定义完整性规则“教授的工资不得低于4000元,如果低于4000元,自动改为4000元”。

    CREATE TRIGGER     Insert_Or_Update_Sal          

    BEFORE INSERT OR UPDATE ON Teacher                                     /*触发事件是插入或更新操作*/          

    FOR EACH ROW                                           /*行级触发器*/          

    BEGIN                                         /*定义触发动作体,是PL/SQL过程块*/            

              IF (new.Job='教授') AND (new.Sal < 4000)            

                     THEN  new.Sal :=4000;                

                END IF;        

    END;             

    激活触发器

    多个触发器时执行顺序规则

    • 执行该表上的BEFORE触发器;
    • 激活触发器的SQL语句;
    • 执行该表上的AFTER触发器。

    删除触发器

    删除触发器的SQL语法:      

    DROP TRIGGER <触发器名> ON <表名>;

    触发器必须是一个已经创建的触发器,并且只能由具有相应权限的用户删除。

     

     

     

    学习自(数据库系统概论  第5版    -------王珊、萨师煊)

    展开全文
  • 定义完整性约束

    千次阅读 2021-04-12 18:15:17
    在关系模型中,提供了实体完整性、参照完整性用户定义完整性等三项规则。下面将分别介绍MySQL中对数据库完整性三项规则的设置和实现方式。 主要内容: 1)实体完整性 2)用户自定义的完整性 3)参照完整性 实体...

    关系模型的完整性规则是对关系的某种约束条件。在关系模型中,提供了实体完整性、参照完整性和用户定义的完整性等三项规则。下面将分别介绍MySQL中对数据库完整性三项规则的设置和实现方式。
    主要内容:
    1)实体完整性
    2)用户自定义的完整性
    3)参照完整性
    实体完整性
    实体(entity)是一个数据对象,是指客观存在并可以相互区分的食物,实体完整性规则(Entity intergrity Rule)是指关系的主属性,即主码(主键)的组成不能为空,也就是关系的主属性不能是空值(null)
    参照完整性
    参照完整性规则(referential lntegrity Rule)就是定义外码(外键)和主码(主键)之间的引用规则,它是对关系间引用数据的一种限制。
    参照完整性的定义为:或属性(或属性组)F是基本关系R的外码,它与基本关系S的主码K相对应,则对于R中每个元祖在F上的值只允许两种可能,即要么取空值(F的每个属性值均为空值),要么等于S中某个元祖的主码值。其中,关系R与S可以是不同的关系,也可以是同意关系,而F与K是定义在同一域中。
    用户定义的完整性
    用户定义完整性规则(User_defined lntegrity Rule)是针对某一应用环境的完整性约束条件,它反映了某一具体应用所涉及的数据应满足的要求。

    展开全文
  • 完整性约束:实体完整性:primary key 参照完整性:foreign key() references 表名(列名) on (增删改)(no action,cascade,set null) 用户自定义完整性:check() 完整性约束命名子句:constraint 名字 约束字句 ...
  • 关系完整性约束

    千次阅读 2019-06-15 14:25:21
    用户定义完整性 域完整性是保证数据库字段取值的合理性。 属性值应是域中的值,这是关系模式规定了的。除此之外,一个属性能否为NULL,这是由语义决定的,也是域完整性约束的主要内容。 包括检查(CHECK)、...
  • 1.2 域完整性约束完整性约束的作用:限制此单元格的数据正确,不对其它单元格起作用,域代表当前单元格 域完整性约束:数据类型、非空约束(not null)、默认值约束(default) check约束(mysql不支持)check...
  • 实验2 建立表和定义完整性约束

    千次阅读 2019-05-17 09:54:10
    实验名称:建立模式、表和定义完整性约束。 实验内容:在实验1建立的数据库的基础上,参照图3-4和表3-10建立表和定义完整性约束。 实验目的:熟练掌握表的建立和数据完整性速描定义方法,实践DBMS提供的...
  • 用户自定义完整性是针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。主要包括非空约束、唯一约束、检查约束、主键约束、外键约束 1、非空约束(Not Null Constraint)  ...
  • 违反完整性约束的解决办法2) 执行上面(1)的存储过程 (3)使用dom命令连接数据库,然后执行下面的语句
  • 主键约束(1)创建表时定义完整性约束(2)修改表的主键3.外键约束(1)参照完整性(2)设置外键的原则:(3)对已有的表添加外键(4)在创建表时创建外键4.检查约束5.唯一性约束 何云辉 CSDN 1.非空约束   &...
  • MySQL完整性约束

    千次阅读 2019-09-12 11:38:49
    数据完整性约束是在表和字段上强制执行的数据检验规则,为了防止不规范的数据进入数据库,在用户对数据进行插入、修改、删除等操作时,DBMS自动按照一定的约束条件对数据进行监测,主要是对空值和重复值的约束,使不...
  • 完整性约束的SQL定义

    千次阅读 2013-03-31 13:31:44
    完整性约束的SQL定义:http://www.cnblogs.com/2007/archive/2007/08/24/868428.html 更新数据库时,表中不能出现不符合完整性要求的记录,以保证为用户提供正确、有效...SQL把各种完整性约束作为数据库模式定义的一部
  • 一、实体完整性 实体完整性要求每个表都有唯一标识符,每一个表中的主键字段不能为空或者重复的值。 二、参照完整性 参照完整性要求关系中不允许引用不存在的实体。设定相应的更新删除插入规则来更新参考表。 ...
  • 关系数据库——关系的完整性约束

    千次阅读 2019-04-09 08:38:38
    介绍关系型数据库完整性约束——实体完整性,参照完整性、用户自定义完整性
  • 用户定义完整性

    千次阅读 2020-04-28 10:38:57
    1.概述:用户可以自定义完整性机制,由数据库管理系统检查,并给出检查结果。 2.约束条件的种类: 2.1属性上的约束条件: 2.1.1列值非空(NOT NULL) 2.1.2 列值唯一 (UNIQUE) 2.1.3 l列值是否满足一个表达式...
  • 数据库完整性约束

    千次阅读 2017-04-05 09:19:17
    介绍数据库完整性
  • SQL完整性约束

    千次阅读 2019-06-04 16:24:58
    1.数据定义语句: DDL:create、alter、drop、truncate(表结构) 2.数据操纵语句: DML:insert、delete、update、select 3.数据控制语句: DCL: 授权:grant、收回权限:revoke 4.失误控制语句: TCL:开启事务...
  • 数据库关系模型的三类完整性约束

    千次阅读 2019-02-25 10:12:10
    关系模型中有三类完整性约束,分别是:实体完整性,参照完整性,用户定义完整性 实体完整性 定义:实体完整性是用于保证关系数据库中每个元组都是可区分的,唯一的。 它的意思就是说数据表中每一行都应该有办法...
  • 本文对三种完整性约束,在创建表时以及创建表后如何给约束命名(列级、表级)做了介绍。 最后介绍了在约束命名的条件下,如何删除约束。 1.为约束起命名时,用到的关键字CONSTRAINT。 2.需要注意的是,在同一数据库...
  • 基于《数据库系统概论》和《数据库系统概念》,阐述了数据库的用户定义完整性及其相关概念并基于MySQL数据库和SQL语言进行实现
  • 完整性约束对数据库的重要性; 实体完整性的创建、修改和维护; 域完整性的创建、修改和维护; 参照完整性的创建、修改和维护; 用户定义完整性的创建、修改和维护。
  • MySQL之完整性约束

    2017-07-18 15:59:08
    文章转自:原文地址 ...约束机制(数据约束):主要描述数据结构内数据间的语法、词义联系、他们之间的制约和依存关系,以及数据动态变化的规则,以保证数据的正确、有效和相容。 作为数据库的一种数据模型,
  • 数据库之超详细的完整性约束

    千次阅读 2020-08-12 15:57:03
    数据库之超详细的完整性约束  数据库的完整性是指数据的正确性和相容性。数据库是否具备完整性关系到数据库系统能否真 实地反映现实世界,因此维护数据库的完整性是非常重要的。  数据库的完整性可分为实体完整性...
  • 前言数据库的完整性是指数据库正确性和相容性,是防止合法用户使用数据库时向数据库加入不符合语义的数据,从而保证了数据库中的数据是正确的,避免非法的更新操作。1、主键...
  • 完整性约束

    万次阅读 2016-11-15 21:43:28
    数据完整性简介业务规则会指定一些条件和关系,它们要么必须始终为真,要么必须始终为假。例如,每个公司会定义其有关工资、 雇员人数、 库存跟踪,等方面的政策。保持数据的数据完整性很重要,它由数据库管理员或...
  • 关系模型的完整性约束

    千次阅读 2018-07-29 00:11:11
    关系的完整性约束分为三类: 实体完整性:关系必须有主键,且不能为空; 参照完整性:维护实体之间的引用关系,外键可以为空,或者其值为参照关系对应的主键值; 用户定义的完整性:由应用环境决定,针对具体关系...
  • 数据库课堂笔记4-完整性约束

    万次阅读 2018-12-10 11:08:33
    完整性约束 数据库完整性概述 完整性约束是加在数据库模式上的一个具体条件,它规定什么样的数据能够存储到数据库系统中。 例如: 学生的年龄必须是整数,取值范围为14--29; 学生的性别只能是“男”或“女”; ...
  • MySQL数据完整性约束

    千次阅读 2019-01-09 18:29:22
    在MySQL中提供了多种完整性约束。 1、主键约束 主键可以是表中的某一列,也可以是表中的多个列所构成的一个组合;其中,由多个列组合而成的主键也称为复合主键。在MySQL中,主键列必须遵守以下规则。 (1)每一个...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 104,513
精华内容 41,805
关键字:

用户定义完整性约束