精华内容
下载资源
问答
  • 定义参照完整性
    千次阅读
    2020-05-18 11:03:18

    关系模型的参照完整性在CREATE  TABLE 中用FOREIGN   KEY 短语定义哪些列为外码,用REFERENCES短语指定这些外码参照哪些表的主码。

    例如:关系SC中一个元组表示一个学生选修的某门课程的成绩,(Sno,Cno)是主码,Sno,Cno分别参照引用Student表的主码和Course表的主码。

      定义SC中的参照完整性

        

     CREATE  TABLE  Student

          (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   Student(Cno),  //在表级定义参照完整性

          );

    更多相关内容
  • 定义参照完整性

    千次阅读 2020-03-31 22:32:54
    定义参照完整性的概念: 现实世界中的实体之间往往存在着某种联系,在关系模型中实体及实体之间的联系都是用关系来描述的,因此可能存在着关系与关系间的引用。 例如:学生实体和专业实体可以用下面的关系模式表示,...

    定义参照完整性的概念:
    现实世界中的实体之间往往存在着某种联系,在关系模型中实体及实体之间的联系都是用关系来描述的,因此可能存在着关系与关系间的引用。
    例如:学生实体和专业实体可以用下面的关系模式表示,其中主键用下划线标识:
    学生(学号,姓名,性别,年龄,班级编号)
    班级(班级编号,班级名称,年级,班级最大人数)

    这两个关系之间存在着属性的引用,即学生关系引用了班级关系的主键“班级编号”。显然,学生关系中的“班级编号”值必须在班级关系中确实存在的班级编号,即班级关系中有该班的记录。这也就是说,学生关系中的“班级编号”的取值需要参照班级关系中“班级编号”的取值,“班级编号”是班级关系的主键,在学生关系中“班级编号”是外键。

    定义参照完整性约束定义外键与主键之间的引用规则,即外键的取值或为空,或者等于被参照关系中的某个主键的值,需要遵守以下规则:
    (1)被参照表已经使用create table语句创建,或者必须是当前正在创建的表,后者称为自参照表,即参照表与被参考表时同一个表;
    (2)必须为被参照表定义主键或候选键;
    (3)必须在被参照表的表名后面指定列或列名的组合,这个列或列组合必须是被参照表的主键和候选键;
    (4)尽管主键是不能够包含空值的,但允许外键中出现空值。这意味着,只要外键的非空值出现在指定的主键中,这个外键的内容就是正确的;
    (5)外键对应列的数目必须和被参照表的主键对应列的数目相同;
    (6)外键对应列的数据类型必须和被参照表的主键对应的列的数据类型相同;
    (7)外键只可以用在使用存储引擎innodb创建的表中,其他引擎不支持外键。

    创建表的同时,创建外键约束,参照完整性约束方式定义外键,语法:
    (1)列级方式:字段名 数据类型 references 被参照表名(列名)
    (2)表级方式:constraint 外键约束名字 foreign key (列名1,…,列名n) references
    被参照表(列名1,…,列名n)。
    例1:
    先创建被参照表tb_class,该表包括班级编号,班级名称,所属院系,年级,班级最大人数,建表如下:
    use db_school;
    create table tb_class
    (
    classno char(6) primary key,
    classname varchar(20) ,
    department varchar(30) ,
    grade int,
    classnum int
    constraint uq_class unique(classname)
    );
    再创建参照表tb_student,要求以列级参照完整性约束方式定义外键。
    create table tb_student
    (
    studentno char(10) prmiary key,
    studentname varchar(20),
    sex char(2),
    birthday date,
    classno char(6) references tb_class(classno)
    );
    再创建参照表tb_student,要求以表级参照完整性约束方式定义外键。
    create table tb_student
    (
    studentno char(10),
    studentname varchar(20),
    sex char(2),
    birthday date,
    classno char(6) ,
    constraint pk_studentno primary key(studentno),
    constraint fk_classno foreign key(classno) references tb_class(classno)
    );
    上面的语句中,constraint fk_student foreign key (classno)references tb_class(classno) 完成外键约束命名和定义;

    添加表约束,用alter table…add constraint语句为参照表添加外键约束,语法如下:
    alter table 参照表 add constraint 外键约束名 foreign key(参照表外键字段1,
    …字段名n) references 被参照表表名(被参照表字段名1,…字段名n);
    例:为上面的tb_student中的 classname添加外键,约束名为fk_classname,sql语句如下:
    alter table tb_student add constraint fk_classname foreign key(classname) references tb_class(classname);
    删除表外键约束,语法如下:
    alter table 参照表 drop foreign key 外键约束名;
    例如:alter table tb_student drop foreign key fk_classno;

    展开全文
  • 数据库完整性之参照完整性

    千次阅读 2022-02-09 22:06:27
    完整性约束关系模型的参照完整性参照完整性定义参照完整性检查参照完整性违约处理使用navicat设置字段外键/参照完整性约束 关系模型的参照完整性     数据表字段的外键约束属于数据库设计——...

    关系模型的参照完整性


         数据表字段的外键约束属于数据库设计—— 关系模型的参照完整性 的内容。
        关系模型的参照完整性是指:在创建表create table的SQL语句中,用foreign key短语定义哪些列/字段作为当前数据表的外键,用references短语指明这些外键参照哪些表的主码。

    参照完整性定义

        关系模型的参照完整性使用场景举例如下:     假定现在有学生表student(主键:sno)、选课表sc(主键sno、cno)、课程表course(主键:cno),那么:sc选课表的主键(sno,cno)的取值就需要参考学生表student的主键sno和课程表course的主键cno。
        那么,在创建sc表时,其SQL语句如下:
    CREATE TABLE sc
    	(sno CHAR(11)) NOT NULL,
    	(cno CHAR(10)) NOT NULL,
    	grade SMALLINT,
    	#指定主键
    	PRIMARY KEY(sno,cno),
    	//定义参照完整性
    	FOREIGN KEY (sno) REFERENCES student(sno),
    	FOREIGN KEY (cno) REFERENCES course(cno)
    

    参照完整性检查

        通过为sc表定义参照完整性,那么,sc表的主键(sno,cno)取值,就和student学生表的主键sno、course课程表的主键cno联系起来了。
        那么,合理的情况应当是:对被参照表(student或者course)、参照表(sc)执行增加、删除、修改操作时,有可能会破坏这种参照完整性规则。
        例如:当某个学生A转校或是退学,他在student表中的记录信息会被抹除,sno字段值当然也不会再存在,那么,sc选课表的主键(sno,cno)对于学生A这条记录的sno字段值无从参考,就出现了违反参照完整性的情况。因此,必须对参照完整性进行检查,以保证两个表的相容性。

    在这里插入图片描述

    参照完整性违约处理

        当出现上图中给出的违背参照完整性规则的情况时,数据库管理系统就需要根据不同的策略执行相应的处理。一般有如下几种规则:


        前提:现有数据表A、B,数据表A的creator字段参考了数据表B的admin字段(或者说:在创建数据表A时,指定数据表B的admin字段作为外键,与A表的creator相关联),暂时称表B为父表、表A为子表。以下策略都是在描述:当父表执行某项操作时,DBMS需要对A表执行的操作。
         (1)拒绝(NO ACTION)操作     不允许该操作进行,这也是默认处理策略。

        (2)级联(CASCADE)操作
        当删除/修改父表B中的某一条记录,导致子表A的某一条或者几条记录不一致时,同时删除/修改子表A中所有不一致的若干条记录。

        (3)设置为空值(SET NULL)
        当删除/修改父表B中的某一条记录,导致子表A的某一条或者几条记录不一致时,就将子表A中所有不一致的若干条记录中的creator字段设置为空-null。


         例如:给定规则-
        ①当删除表student中的记录时,级联删除sc表中的记录;
        ②当删除表course中的记录,并将导致SC表中的记录不一致时,拒绝执行此次删除操作;
        ③当更新表student、course中的记录时,级联更新sc表中的记录。
        则SQL语句如下,
    CREATE TABLE sc
    	(sno CHAR(11)) NOT NULL,
    	(cno CHAR(10)) NOT NULL,
    	grade SMALLINT,
    	#指定主键
    	PRIMARY KEY(sno,cno),
    	//定义参照完整性
    	FOREIGN KEY (sno) REFERENCES student(sno)
    		#当删除表student中的记录时,级联删除sc表中的记录
    		ON DELETE CASCADE
    		#当更新表student中的记录时,级联更新sc表中的记录
    		ON UPDATE CASCADE, 
    	FOREIGN KEY (cno) REFERENCES course(cno)
    		#当删除表course中的记录,并将导致SC表中的记录不一致时,拒绝执行此次删除操作
    		ON DELETE NO ACTION
    		#当更新表course中的记录时,级联更新sc表中的记录
    		ON UPDATE CASCADE
    

    使用navicat设置字段外键/参照完整性约束

        使用navicat设置字段外键/参照完整性约束也是在创建数据表的时候指定的,只需将创建数据表的选项卡切换至“外键”,按照上述原理进行指定即可。当然,具体如何指定,还需要根据具体的应用场景来确定。

    在这里插入图片描述

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

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

    数据的完整性 :

    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版    -------王珊、萨师煊)

    展开全文
  • (1)提供定义完整性条件约束的机制(实体完整性,参照完整性,用户定义完整性) (2)提供完整性检查的方法(一般在 insert 、update 、delete、等语句执行后检查) (3)违约处理 完整性约束条件的分类 ①就...
  • 5.2 参照完整性

    2022-01-23 20:05:26
    5.2 参照完整性
  • 参照完整性

    万次阅读 2019-04-10 20:52:17
    参照完整性,指多表之间的设计,主要使用外键约束。 – 多表设计有:一对多,多对多,一对一。 – 1、一对多 – 客户和订单的,一个客户可以有多张订单,一张订单属于一个客户。 CREATE TABLE customers( id int,...
  • 掌握参照完整性定义和维护方法。 掌握用户自定义完整性的定义和维护方法。 三、 实验步骤 (一) 实体完整性实验 定义实体完整性,删除实体完整性。能够写出两种方式定义实体完整性的SQL语句:创建表时定义实体...
  • 7.1.1创建表时定义参照完整性 7.1.1.1列级参照完整性 列定义时加上关键字 REFERENCES ref_table_name(ref_key) 7.1.1.2表级参照完整性 7.1.1.2.1表定义时,在语句最后加上 CONSTRAINT ref_key_name FOREIGN KEY (ref...
  • SQL语句(八)参照完整性

    万次阅读 多人点赞 2018-07-20 13:07:06
    1.参照完整性 参照完整性主要是定义外码,将一个关系的主码放在...1.创建表时定义参照完整性 ①先定义nation3的实体完整性,再定义supplier3在nation3上的列级参照完整性 CREATE TABLE nation3(/*国家表*/ natio...
  • 数据库完整性5.1 实体完整性5.1.1 实体完整性定义5.1.2 实体完整性检查和违约处理5.2 参照完整性5.2.1 参照完整性定义5.2.2 参照完整性检查和违约处理小结5.3 用户定义的完整性5.3.1 属性上的约束条件不允许取空值列...
  • 数据完整性 要想了解这三类完整性约束首先要了解什么是数据完整性。数据完整性是指数据库中存储的数据是有意义的或正确的,和现实世界相符。...实体完整性和参照完整性是关系模型必须满足的完整性约束...
  • 实验三:完整性语言实验 ...定义参照完整性、删除参照完整性,能够写出两种方式定义参照完整性的SQL语句 (1)创建表时定义参照完整性 (2)创建表后定义参照完整性 (3)验证参照完整性约束是否起作用 实验重点与
  • 数据库实验六 完整性语言实验 ...写出两种方式定义参照完整性的 SQL 语句:创建表时、创建表后定义参照完整性。 针对具体应用语义,选择 NULL/NOT NULL/DEFAULT/UNIQUE/CHECK 等,定义属性上的约束条件。
  • 1.熟悉和掌握数据库的创建和表的方法 2.熟悉和掌握创建三类数据完整性(实体完整性、参照完整性和用户自定义)约束 掌握用命令方式管理数据的基本操作
  • mysql 设置参照完整性

    千次阅读 2015-08-21 17:17:00
    什么的参照完整性: 简单的来说,就是在A表里面有一组属性K(可以是多个)是A表的主键,在B表中有一组对应的属性F(也可以是多个),但F不是B表主键,则对于B表中每个元组(也就是每一行)在F上的值必须为空值或者...
  • ①提供定义完整性约束条件的机制 ②提供完整性检查的方法 ③进行违约处理 实体完整性 1、定义实体完整性 关系模型的实体完整性在CREATE TABLE中用PRIMARY KEY定义。对单属性构成的码有两种说明
  • 参照完整性违约处理

    千次阅读 2017-03-10 19:42:23
    参照完整性违约处理 (1) 拒绝(NO ACTION)执行 不允许该操作执行。该策略一般设置为默认策略 (2) 级联(CASCADE)操作 当删除或修改被参照表(Student)的一个元组造成了与参照表(SC)的不一致,则删除或...
  • 数据库实验四-数据控制(完整性部分)
  • 一、参照完整性 参照完整性指的就是多表之间的设计,主要使用外键约束。 多表设计: 一对多、多对多、一对一设计 1.一对多 关联主要语句: constraint cus_ord_fk foreign key (customer_id) REFERENCES customer(id) ...
  • 关系的完整性-参照完整性

    千次阅读 2019-06-29 10:30:44
    (首先理解弄透实体完整性,实体完整性规则是最好理解的,再来理解参照完整性就不难了) 2.参照完整性 现实世界中的实体之间往往存在某种联系,在关系模型中实体及实体间的联系都是用关系来描述的,这样就自然...
  • 数据完整性分为实体完整性、域完整性、参照完整性。 2.1实体(行)完整性 (实体完整性中的实体指的是表中的行,因为一行记录对应一个实体) 实体完整性规定表的一行在表中是唯一的实体,不能出现重复。 实体完整性...
  • 2020-11-25

    2020-11-25 20:49:49
    掌握实体完整性,参照完整性,用户自定义完整性的定义和维护方法。 实验器材: 计算机 Microsoft SQL Server Management Studio 18 SQL Sever 2019 实验内容: 1.实体完整性实验: 定义实体完整性,删除实体完整性,...
  • 参照完整性约束

    千次阅读 2021-06-21 20:46:39
    参照完整性是指通过定义一张表中外键与另一张表中主键之间的引用规则来约束这两张表之间的联系。 参照完整性相关术语 从表:含有外键且参照其他表的表,如车辆表。从表亦称作“子表”或“参照表”。 主表:被...
  • 数据完整性的分类在关系模型中,提供了实体完整性,参照完整性,用户定义完整性。二.实体完整性2.1什么是实体?实体是一个数据对象,指的是客观存在并可以相互区分的事物,比如学生,老师等。一个实体在数据库中对应...
  • (1)分别定义ScoreDB数据库中各基表的主键、外键,实现实体完整性约束和参照完整性约束; (2)往student表插入一条跟已有的学号相同的学生数据,验证实体完整性约束; (3)向score表中插入一条数据,其中数据中的...
  • 第5章 数据库完整性 数据库的完整性(integrity)是指数据的正确性(correctness)和相容性(compatibility)。正确性指数据符合现实语义、反映实际状况的;相容性指数据库的同一对象在不同关系表中的数据符合逻辑。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 70,263
精华内容 28,105
关键字:

定义参照完整性

友情链接: dspbios入门.rar