第五章-数据完整性

合集下载

(完整版)第五章_数据库完整性(习题)

(完整版)第五章_数据库完整性(习题)

(完整版)第五章_数据库完整性(习题)一、选择题1.完整性检查和控制的防范对象是( ),防止它们进入数据库。

安全性控制的防范对象是(),防止他们对数据库数据的存取。

A.不合语义的数据 B。

非法用户 C.不正确的数据 D.非法操作2.找出下面SQL命令中的数据控制命令().A。

GRANT MIT C.UPDATE D.SELECT3.下述SQL命令中,允许用户定义新关系时,引用其他关系的主码作为外码的是()。

A。

INSERT B。

DELETE C.REFERENCES D. SELECT4.下述SQL命令的短语中,不用于定义属性上约束条件的是()。

A.NOT NULL短语 B。

UNIQUE短语 C.CHECK短语 D。

HAVING短语二、填空题1.数据库的完整性是指数据的正确性和相容性.2.关系模型的实体完整性在CREATE TABLE中用 primary key 关键字来实现。

3.检查主码值出现不唯一和有一个为空违约情况时,则DBMS拒绝插入或修改。

4.关系模型的参照完整性在CREATE TABLE中用 foreign key关键字来实现。

5.当参照完整性检查出现违约情况时,则DBMS可以采用拒绝、级联和设置为空策略处理。

6.参照完整性的级连操作的关键字是cascade .7.在CREATE TABLE中定义属性上的约束条件,包括not null 、unique 和 check。

8.在CREATE TABLE中定义属性上的约束条件,检查列值唯一用unique 关键字。

9.关系模型的元组上的约束条件的定义,在CREATE TABLE中用check关键字来实现。

10.在Sno(学号)列上创建约束,要求Sno的值在18至22岁之间,约束名Sno_CK。

请写出对应的完整性命名子句constraintSno_CK primary key check(sno between 18 and 22)。

1.A C ;BD 2. A 3。

数据库系统概论第五章完整性

数据库系统概论第五章完整性

一、选择题1.实体完整性要求主属性不能取空值,这一点可通过( )来保证。

A .定义外部键B .定义主键C .用户定义的完整性D .由关系系统自动答案:B2. ( )定义了对参照关系的外部属性值域的约束。

A .实体完整性规则B .用户定义的完整性规则C .参照完整性规则D .以上均不是答案:C3.在如下2个数据库的表中,若雇员信息表EMP 的主键是雇员号,部门信息表DEPT 的主键是部门号。

若执行所列出的操作,哪个操作不能执行( )EMP DEPTA .从雇员信息表EMP 中删除行(’010’,’’王利,’01’,’1200’)B .在雇员信息表EMP 中插入行(’102’,’赵丽’,’01’,’1500’)C .将雇员信息表EMP 中雇员号=’010’的工资改为1600元D .将雇员信息表EMP 中雇员号=’101’的部门号改为’05’答案:D4.关系数据库中,实现主码标识元组的作用是通过( )A .实体完整性规则B .参照完整性规则C .用户自定义的完整性D .属性的值域答案:A5.在关系数据库中,实现“表中任意两行不能相同”的约束是靠( )A .外码B .主码C .属性D .列答案:B6.关系数据库中,实现表与表之间的联系是通过( )A .实体完整性规则B .参照完整性规则C .用户自定义的完整性D .值域答案:B雇员号 雇员名 部门号 工资001 张红 02 2000 010 王利 01 1200056 马明 02 1000101 赵丽 04 1500 部门号 部门名 主任 01 业务部 李林02 销售部 江平 03 服务部 周明 04 财务部 陈胜7.根据关系模式的完整性规则,一个关系中的“主键”()A.不能有两个B.不能成为另一个关系的外部键C.不允许为空D.可以取空值答案:C8.在关系模型中,实现“关系中不允许发现相同的元组”的约束是通过()A.候选键B.主键C.外键D.一般键答案:B二、填空题1.为了维护数据库中数据的完整性,在对关系数据库执行插入时首先应检查__________规则。

数据库系统概论(第五版)王珊第五章课后习题答案

数据库系统概论(第五版)王珊第五章课后习题答案

数据库系统概论(第五版)王珊第五章课后习题答案1什么是数据库的完整性?答:数据库的完整性是指数据的正确性和相容性。

2 .数据库的完整性概念与数据库的安全性概念有什么区别和联系?答:数据的完整性和安全性是两个不同的概念,但是有⼀定的联系。

前者是为了防⽌数据库中存在不符合语义的数据,防⽌错误信息的输⼊和输出,即所谓垃圾进垃圾出( Garba : e In Garba : e out )所造成的⽆效操作和错误结果。

后者是保护数据库防⽌恶意的破坏和⾮法的存取。

也就是说,安全性措施的防范对象是⾮法⽤户和⾮法操作,完整性措施的防范对象是不合语义的数据。

3 .什么是数据库的完整性约束条件?可分为哪⼏类?答完整性约束条件是指数据库中的数据应该满⾜的语义约束条件。

⼀般可以分为六类:静态列级约束、静态元组约束、静态关系约束、动态列级约束、动态元组约束、动态关系约束。

静态列级约束是对⼀个列的取值域的说明,包括以下⼏个⽅⾯: ( l )对数据类型的约束,包括数据的类型、长度、单位、精度等; ( 2 )对数据格式的约束; ( 3 )对取值范围或取值集合的约束; ( 4 )对空值的约束; ( 5 )其他约束。

静态元组约束就是规定组成⼀个元组的各个列之间的约束关系,静态元组约束只局限在单个元组上。

静态关系约束是在⼀个关系的各个元组之间或者若⼲关系之间常常存在各种联系或约束。

常见的静态关系约束有: ( l )实体完整性约束; ( 2 )参照完整性约束; ( 3 )函数依赖约束。

动态列级约束是修改列定义或列值时应满⾜的约束条件,包括下⾯两⽅⾯: ( l )修改列定义时的约束; ( 2 )修改列值时的约束。

动态元组约束是指修改某个元组的值时需要参照其旧值,并且新旧值之间需要满⾜某种约束条件。

动态关系约束是加在关系变化前后状态上的限制条件,例如事务⼀致性、原⼦性等约束条件。

4 . DBMS 的完整性控制机制应具有哪些功能?答:DBMS 的完整性控制机制应具有三个⽅⾯的功能: ( l )定义功能,即提供定义完整性约束条件的机制; ( 2 )检查功能,即检查⽤户发出的操作请求是否违背了完整性约束条件;( 3 )违约反应:如果发现⽤户的操作请求使数据违背了完整性约束条件,则采取⼀定的动作来保证数据的完整性。

信息安全技术期末复习重点

信息安全技术期末复习重点

安全服务:加强数据处理系统和信息传输的安全性的一种服务。

其目的在于利用一种或多种安全机制阻止安全攻击安全机制:用来保护系统免受侦听、阻止安全攻击及恢复系统的机制。

安全攻击:任何危及系统信息安全的活动。

威胁:侵犯安全的可能性,在破坏安全或引起危害的环境,可能性行为或时间的情况下,会出现这种威胁。

也就是说,威胁是利用脆弱性潜在危险。

攻击:对系统安全的攻击,它来源于一种具有智能的威胁。

也就是说,有意违反安全服务和侵犯系统安全策略的(特别是在方法或技巧的)智能行为。

认证:保证通信的实体是它所声称的实体。

存取控制:阻止对资源的非授权使用。

数据保密性:保护数据免于非授权泄露。

连接保密性:保护一次连接中所有的用户数据无连接保密性:保护单个数据块里的所有用户数据选择域保密性:对一次连接或单个数据块里选定的数据部分提供保密性流量保密性:保护那些可以通过观察流量而获得的信息数据完整性:保证收到的数据确实是授权实体所发出的数据具有恢复功能的连接完整性:提供一次连接中所有用户数据的完整性检测整个数据序列存在的修改、插入、删除或重放,且试图恢复之。

无恢复的连接性完整性:提供一次连接中所有用户数据的完整性检测整个数据序列存在的修改、插入、删除或重放,但不尝试恢复。

选择域连接完整性:提供一次连接中传输的单个数据块用户数据中选定部分的数据完整性,并判断选定域是否被修改不可否认性:防止整个或部分通信过程中,任一通信实体进行否认的行为源不可否认:证明消息是有特定方发出的宿不可否认性:证明消息被特定方收到加密:运用数学算法将数据转换成不可知的形式。

数据的变换和复原依赖于算法和零个或多个加密密钥数字签名:附加于数据元之后的数据,是对数据元的密码变换,以使得可证明数据源和完整性,并防止伪造认证交换:通过信息交换来保证实体身份的各种机制流量填充:在数据流空隙中插入若干位以阻止流量分析路由控制:能够为某些数据选择特殊的物理上安全的路线并允许路由变化。

数据库系统概论复习重点

数据库系统概论复习重点

数据库系统概论复习重点第一章绪论1.数据库系统的基本概念:数据库系统是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统、应用系统、数据库管理员构成。

2.数据库管理系统的主要功能:数据定义功能、数据操作功能、数据库的运行管理、数据库的建立和维护。

3.数据模型的分类:概念模型、逻辑模型。

4.概念模型的表示:层次模型、网状模型、关系模型、面向对象模型、对象关系模型。

5.数据管理技术的产生和发展经历的三个阶段:人工管理阶段、文件系统阶段、数据库系统阶段。

6.实体是现实世界中客观存在,且能相互区别的。

7.数据模型的组成要素:数据结构、数据操作、数据的完整性的约束条件。

8.DBS包括DB和DBMS,而DB与DBSM是相互独立的。

9.概念模型独立于操作。

10.数据库三级结构有利于保证数据的安全性和独立性。

11.数据库物理存储视图为内模式12.用户通过DML语言对数据进行操作,其实是在操作外模式中的记录。

13.数据库系统的三级模式结构:外模式、模式、内模式。

14.有了“模式/内模式映像”可以保证数据的物理独立性。

15.数据库系统的核心是——数据库。

16.数据库系统的三级模式存在有二级映像,使之可以有较高的数据独立性。

17.数据库的外部存储方法和存储设备变化不影响逻辑结构,这种情况为物理数据独立性。

第二章关系数据库1.本章重点:关系数据库概念,可以用关系表达式来表达实际问题,可以用元祖表达式来表达实际问题,可以用域表达式来表达实际问题。

可以将这三种表达式相互转换。

2.关系代数运算:并、交、笛卡儿积、选择、投影。

3.常用的关系运算:关系代数、关系演算。

5.“列”可以出自一个域。

6.DBMS和OS之间的关系是:DBMS可以调用OS。

7.关系演算谓词变元可分为:元祖关系、演算关系、域关系演算。

8.若Sno由八位数组成,则此种情况称为:用户定义完整性。

9.一般情况下“R”“S”连接,则“R”“S”必有相同的属性。

第5章 数据库完整性

第5章 数据库完整性

第5章数据库安全性(2课时)数据库的数据保护主要包括数据的安全性和数据的完整性。

数据的安全性是为了保护数据库防止恶意的破坏和非法访问,防范对象是非法用户和非法操作。

数据库的完整性是指数据的正确性和相容性,是为了防止数据库中存在不符合语义的数据,也就是防止数据库中存在不正确的数据,防范对象是不合语义的、不正确的数据。

举例说明数据的完整性(三种完整性各一例)。

为维护数据库的完整性,DBMS必须具备三个功能:1 提供定义完整性约束条件的机制完整性约束条件也称为完整性约束规则,是数据库必须满足的语义约束条件。

SQL标准使用了一系列概念来描述完整性,包括关系模型的实体完整性、参照完整性和用户定义完整性。

这些完整性一般由SQL的DDL语句来实现。

它们作为数据库模式的一部分存入数据字典中。

2 提供完整性检查的方法DBMS中检查数据是否满足完整性约束条件的机制称为完整性检查。

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

检查这些操作执行后数据库中的数据库是否违背了完整性约束条件。

3 违约处理DBMS若发现用户的操作违背了完整性约束条件,就采取一定的动作,如拒绝(NOACTION)执行该操作,或级联(CASCADE)执行其他操作,进行违约处理以保证数据的完整性。

目前商用的DBMS产品都支持完整性控制,即完整性定义、检查控制和违约处理都是由DBMS来实现,不必由应用程序来完成,从而减轻了应用程序员的负担。

5.1 实体完整性是关系的两个不变性之一,关系的主属性的取值不能相同,主属性不能取空值,保证在一个关系中不存在两个完全相同的元组。

5.1.1 实体完整性定义关系模型的实体完整性在CREATE TABLE中用PRIMARY KEY定义。

对单属性构成的码有两种说明方法:一种是定义为列级约束条件;一种是定义为表级约束条件。

对多个属性构成的码只有一种说明方法:定义为表级约束条件。

第5章数据库完整性

第5章数据库完整性

4. 修改被参照关系中主码的问题
两种策略 不允许修改主码 允许修改主码 违约操作 要修改被参照关系中某些元组的主码值,而 修改被参照关系中某些元组的主码值 中某些元组的主码值, 参照关系中有些元组的外码值正好等于被参 照关系要修改的主码值,如修改Student学号; 照关系要修改的主码值,如修改 学号; 学号
受限插入:系统将拒绝向 关系插入 关系插入( 受限插入:系统将拒绝向SC关系插入(99001, , 1,90)元组. , )元组. 递归插入:系统将首先向 递归插入:系统将首先向Student关系插入 关系插入 Sno=99001的元组,然后向 关系插入 的元组, 的元组 然后向SC关系插入 (99001,1,90)元组. , , )元组.
级联修改 修改被参照关系中主码值同时, 修改被参照关系中主码值同时,用相同的方法修改 参照关系中相应的外码值; 参照关系中相应的外码值; 受限修改 拒绝此修改操作. 拒绝此修改操作.只当参照关系中没有任何元组的 外码值等于被参照关系中某个元组的主码值时, 外码值等于被参照关系中某个元组的主码值时,这 个元组的主码值才能被修改; 个元组的主码值才能被修改; 置空值修改 修改被参照关系中主码值, 修改被参照关系中主码值,同时将参照关系中相应 的外码值置为空值; 的外码值置为空值;
实体完整性
表中的Sno, Cno定义为码 例:将SC表中的 表中的 定义为码
CREATE TABLE SC ( Sno CHAR(7) NOT NULL, Cno CHAR(4) NOT NULL, Grade SMALLINT, PRIMARY KEY (Sno, Cno), );
实体完整性
实体完整性检查和违约处理
3.在参照关系中插入元组时的问题 在参照关系中插入元组时的问题

数据库应用基础第五章数据完整性

数据库应用基础第五章数据完整性
12
5.2 约束的类型
1 PRIMARY KEY 约束 2 FOREIGN KEY 约束 3 UNIQUE 约束 4 CHECK 约束 5 DEFAULT 约束
13
约束是一种强制数据完整性的 book_id borrower_id lend_date back_date
标准机078制9 。 960651
[[CONSTRAINT constraint_name] {PRIMARY KEY
所在列的数据类型
[CLUSTERED|NONCLUSTERED]
创建约[C束LU的S列|TUE的RN名EIQD称|UNEONCLUSTERED] |[FOREIGN KEY] REFERENCES新建约束的名称
ref_table [(ref_column)]
(3)引用完整性 引用完整性用于在输入或删除记录
时,例:保对持于表之Lib间ra已ry定_D义B数的据关库系中。的
book_info 表和 class 表,引用完整性 基于 book_info 表中的外键 (class_id) 与 class 表中的主键 (class_id) 之间 的关系 。
8
1 数据完整性的类型
{(column_name[,...])}
24
② FOREIGN KEY 约束
ALTER TABLE table_name
被FOREIGN
ADD CONSTRAINT constrainKtE_Yn约a束m参e 照的表的名
FOREIGN KEY {(column_nam称e[,...])} REFERENCES ref_table {(column_name[,...])} [ON DELETE {CASCADE|NO ACTION}] [ON UPDATE {CASCADE|NO ACTION}]

第五章 数据库完整性

第五章 数据库完整性
7
例2:将SC表中的SNO、cno属性组定义为码 create table sc (sno char(9) not null, cno char(4) not null, grade smallint, primary key(sno,cno) )
8
5.1.2 实体完整性的违约处理

对于实体完整性的检查,包括:
在子表中修改外码(也是主属性)的策略


6. 在参照关系(子表)中修改外码(同时是主码 属性 )。与在参照关系中插入元组类似,可以 有2种策略: 受限修改 递归修改 RDBMS在实现参照完整性时: 需要向用户提供定义主码、外码的机制。 向用户提供按照自己的应用要求选择处理依 赖关系中对应的元组的方法。
6
5.1 实体完整性
5.1.1 定义实体完整性 例1:将student表中的sno属性定义为码 create table student (sno char(9) primary key, sname char(20) not null, ssex char(2), sage smallint, sdept char(20) )
26
5.4 完整性约束命名子句


1. 完整性约束命名子句 Constraint <完整性约束条件名><完整性约 束条件> 例5.10 建立学生登记表 student,要求学号在 90000—99999 之间,姓名不能取空值,年 龄小于30,性别只能是“男”或者“女”
5

数据库完整性控制机制


DBMS完整性控制机制: 1. 提供定义完整性约束条件的机制:提供定义数 据完整性约束条件的方法,完整性约束条件作为 模式的一部分存入数据库中; 2. 提供完整性检查的方法:进行完整性检查,检 查数据是否满足约束条件; 3. 进行违约处理:若有违反,采取相应措施(拒 绝、报告、改正)处理。 完整性子系统:DBMS中执行完整性控制的子系统。 其功能为监督事务的执行,测试其是否违反完整性 约束条件;若有违反,则分情况进行预定的处理。

05_数据库完整性

05_数据库完整性
检查记录中主码值是否唯一的方法:
全表扫描.依次判断表中每条记录的主码值与 将插入记录上的主码值(或修改的新主码值) 是否相同.十分耗时. 在主码上自动建立索引(如B+树索引).可大 大提高效率.
5.2 参照完整性
5.2.1 参照完整性定义
在CREATE TABLE中用FOREIGN KEY短语来定 义哪些列为外码,用REFERENCES短语指明这 些外码参照哪些表的主码. 见课本P154 [例3]
定义触发器(续)
INSERT,UPDATE和DELETE三个选项是指定在表或视图 上执行哪些数据修改语句时将激活触发器的关键字.必须 至少指定一个选项.在触发器定义中允许使用以任意顺序 组合的这些关键字.如果指定的选项多于一个,需用逗号 分隔这些选项. AS后是触发器要执行的操作. CREATE TRIGGER 权限默认授予定义触发器的表所有者, sysadmin 固定服务器角色成员以及 db_owner 和 db_ddladmin 固定数据库角色成员,并且不可转让.
ALTER TABLE <表名> DROP < 完整性约束条件名>
5.6 触发器(Trigger)
触发器是用户定义在关系表上的一类由事件驱动的 特殊过程.一旦定义,任何用户对表的增,删,改 操作均由服务器自动激活相应的触发器,在DBMS 核心层进行集中的完整性控制.触发器类似于约束, 但是比约束更加灵活,可实施比FOREIGN KEY约 束,CHECK约束更为复杂的检查和操作,具有更 精细和更强大的数据控制能力.
定义触发器(续)
当你创建一个触发操作时,通常需说明所指的是触发语句 作用之前还是之后的列值.由于此种原因,我们用两个取 有特殊名字的虚拟表格来测试触发语句的作用:deleted 和inserted(在内存中,触发器完成运行后,这些表就不 能再访问). 这些表和指定触发器的表具有相同的结构. deleted表保 存受delete和update影响的行的副本.inserted表保存在 insert和update之后添加到触发器中的行的副本.

《Sql Server数据库原理与应用》教学大纲(2022版)

《Sql Server数据库原理与应用》教学大纲(2022版)

《Sql Server数据库原理与应用》教学大纲英文名称:Principles and Application of Database课程代码:课程类别:专业选修课课程性质:选修开课学期:大四第一学期总学时:36(讲课:18,实训18)总学分:2考核方式:平时考勤、作业、课堂表现、期末大作业先修课程:《大学计算机基础》《Python语言与数据分析》适用专业:一、课程简介本课程以功能强大的关系数据库管理系统MySQL作为平台,全面系统地介绍SQL Server 的管理操作和应用开发,将基础知识和实际应用有机结合起来,主要内容有数据库系统概论、MySQL安装和操作、创建数据库和创建表、表数据操作、数据查询、视图和索引、数据完整性、T-SQL程序设计、存储过程、触发器、系统安全管理、备份和恢复、事务和锁定。

本课程主要通过理论授课加实训的方式完成教学,理论授课24学时,实训12学时。

考核方式由平时考勤、实训作业、课堂表现和期末大作业构成。

二、课程目标及其对毕业要求的支撑通过本课程的学习,学生将对数据库技术的基本概念、原理、方法和技术有较深刻的理解,掌握SQL语言查询和编程的基本技术,掌握数据库系统安装、配置、管理和维护的基本技能,具备管理和开发简单数据库应用系统的能力,提高学生分析和解决实际问题的能力,为将来从事相关工作打下基础。

三、课程教学要求第一章数据库概述教学内容:第一节数据库系统1.数据与信息2.数据存储单元—服务器3.数据库系统的构成4.数据库系统的特点第二节数据库类型1.数据库模型2.关系型数据库3.非关系型数据库第三节关系型数据库MySQL1.为什么使用MySQL2.MySQL的发展简史3.MySQL的版本分类与发展4.企业如何选择MySQL版本第四节本章小结学生学习预期成果:1.了解与数据库相关的基本概念2.掌握常见的数据库类型及各自的特点3.理解MySQL的工作原理教学重点:1.数据库类型2.关系型数据库MySQL教学难点:1.数据库类型2.关系型数据库MySQL第二章环境的安装与基本配置教学内容:第一节虚拟化平台1.系统虚拟化2.搭建实验平台3.虚拟平台的基本使用第二节CentOS系统的部署1.CentOS系统2.系统下载3.最小化安装CentOs第三节MySQL的安装与配置1.MySQL安装方式2.Yum方式安装3.源码编译方式安装4.初始化数据库第四节本章小结学生学习预期成果:1.熟练掌握Linux操作系统环境下MySQL的安装与基本配置方法2.掌握VMware Workstation中搭建虚拟化环境的方法3.了解MySQL的配置参数4.熟悉MySQL安装过程中的报错和相应解决方法教学重点:1.CentOS系统的部署2.MySQL的安装与配置教学难点:1.CentOS系统的部署2.MySQL的安装与配置;第三章MySQL数据操作教学内容:第一节SQL语句1.SQL简介2.SQL分类第二节数据类型1.数值类型2.字符串类型3.日期和时间类型第三节存储引擎1.MySQL的存储引擎2.常用引擎MyISAM和InnoDB的区别3.存储引擎的选择第四节库与表的基础操作1.库操作2.表操作第五节表的高级操作1.数据的插入2.修改数据表3.删除表内容4.更新数据第六节本章小结学生学习预期成果:1.了解SQL语句的基本分类2.掌握使用结构化查询语句进行数据操作的方法3.掌握数据库不同存储引擎的差异4.掌握常见的数值类型并学会合理运用教学重点:1.数据类型2.存储引擎3.库与表对的基本操作4.表的高级操作教学难点:1.数据类型2.存储引擎3.库与表对的基本操作4.表的高级操作第四章数据库表单查询教学内容:第一节基础查询1.创建基本的数据表环境2.查询所有字段3.查询指定字段第二节条件查询1.关系运算符2.多条件查询第三节高级查询1.排序查询2.聚合函数3.分组查询4.HAVING字句5.LIMIT分页第四节本章小结学生学习期望成果:1.掌握使用SQL语句进行基础查询的方法2.掌握SQL语句中不同条件的表达方法3.熟练使用高级的查询方式对数据进行查询分析教学重点:1.基础查询2.条件查询3.高级查询教学难点:1.基础查询2.条件查询3.高级查询;第五章数据的完整性教学内容:第一节实体完整性1.主键与主键约束2.唯一约束3.自动增长列第二节域完整性1.非空约束2.默认值约束第三节引用完整性1.外键与外键约束2.删除外键约束第四节索引1.普通索引2.唯一索引3.索引过多引发的问题第五节本章小结学生学习期望成果:1.了解数据对的约束原则2.掌握主键、外键约束的用法3.掌握索引的实际应用方法4.掌握常见的约束原则教学重点:1.域完整性2.引用完整性3.索引教学难点:1.域完整性2.引用完整性3.索引第六章数据库多表查询教学内容:第一节表与表之间的关系1.一对一关系2.一对多关系3.多对一关系4.多对多关系第二节多表查询1.合并结果集2.关于笛卡尔积3.内连接4.外连接5.自然连接6.嵌套查询第三节本章小结学生学习期望成果:1.了解数据表之间的关系2.掌握多表数据的查询方法3.理解多表查询中的连接规则和笛卡儿积4.熟悉数据表之间的嵌套查询教学重点:1.表与表之间的关系2.多表查询教学难点:1.表与表之间的关系2.多表查询第七章权限与账户管理教学内容:第一节权限表第二节账户管理1.登录和退出数据库2.创建和删除用户3.修改账户密码4.删除与修改用户名第三节权限管理1.MySQL的权限2.授予权限3.查看权限4.收回权限第四节本章小结学生学习期望成果:1.了解什么是权限表2.掌握数据库用户权限的设置方法3.熟悉数据库配置文件的基本设置4.掌握MySQL访问控制的方法教学重点:1.权限表2.账户管理3.权限管理教学难点:1.权限表2.账户管理3.权限管理第八章存储过程与触发器教学内容:第一节存储过程1.存储过程概述2.存储过程优缺点3.创建存储过程4.查看存储过程5.删除存储过程第二节触发器1.触发器概述2.创建触发器3.查看触发器4.删除触发器第三节本章小结学生学习期望成果:1.了解什么是存储过程2.掌握存储过程的相关操作方法3.熟悉触发器的基本概念4.掌握触发器的使用方法和应用场景教学重点:1.存储过程2.触发器教学难点:1.存储过程2.触发器第九章数据库事务和锁机制教学内容:第一节事务管理1.事务的概念2.事务的创建和回滚3.并发与并行4.事件的ACID特性5.事件的隔离级别6.隔离级别的选取第二节锁机制1.MySQL锁定机制简介2.InnoDB锁类型3.锁监控与优化第三节本章小结学生学习期望成果:1.理解事务的基本概念2.熟悉事务的四个特性3.掌握事务的相关操作方法和隔离级别4.掌握锁机制的原理和使用方法教学重点:1.事务管理2.锁机制教学难点:1.事务管理2.锁机制第十章 MySQL数据备份教学内容:第一节数据备份概述1.数据备份原则2.备份类型的划分第二节物理备份1.Tar打包备份2.LVM快照备份3.Xtrabackup备份第三节逻辑备份第四节本章小结学生学习期望成果:1.了解什么是数据库备份2.掌握数据库备份和恢复的方法3.掌握数据迁移的操作流程4.掌握数据库的导入和导出方法教学重点:1.物理备份2.逻辑备份教学难点:1.物理备份2.逻辑备份第十一章日志管理教学内容:第一节日志的分类1.错误日志2.二进制日志3.慢查询日志4.中继日志5.Redo日志和Undo日志6.查询日志第二节日志应用第三节本章小结学生学习期望成果:1.了解数据库中常见的日志种类2.掌握二进制日志的操作方法3.掌握错误日志的操作方法4.熟悉慢查询等其他日志应用教学重点:1.日志分类2.日志应用教学难点:1.日志分类2.日志应用第十二章主从复制教学内容:第一节主从复制原理1.复制过程2.基本架构3.复制模式第二节一主一从复制1.基于位点的主从复制2.基于GRID的主从复制第三节多主从复制1.双主双从搭建流程2.关于keepalived第四节复制延迟与死机处理第五节本章小结学生学习期望成果:1.了解MySQL主从复制的原理2.掌握配置一主一从集群的基本流程3.掌握向集群添加从服务器的方法4.熟悉多主多从集群的配置参数和配置流程教学重点:1.一主一从复制2.多主多从复制3.复制延迟与死机处理教学难点:1.一主一从复制2.多主多从复制3.复制延迟与死机处理第十三章 MySQL读写分离教学内容:第一节数据库代理1.基本原理2.常见的数据库中间件第二节Mycat实现读写分离1.基本环境2.配置流程第三节本章小结学生学习期望成果:1.掌握数据库代理的基本原理2.熟悉企业中常用的数据库中间件3.掌握Mycat实现读写分离的配置流程4.掌握读写分离配置中使用到的关键参数教学重点:1.数据库代理2.Mycat实现读写分离教学难点:1.数据库代理2.Mycat实现读写分离四、建议教学安排五、课程成绩评定基本考核方法:通过考勤、作业、课堂表现等评定学生平时成绩(占50%),通过期末大作业评定学生理论成绩(期末大作业占50%)情况综合评价学生成绩。

数据库系统概论第五章数据库的完整性PPT课件

数据库系统概论第五章数据库的完整性PPT课件
用户自定义完整性是指根据业务 规则和需求,自定义约束条件来 维护数据的准确性和一致性。
02 数据完整性的实现方式
实体完整性
实体完整性定义
确保表中每条记录的唯一性,通常通过主键约 束来实现。
主键约束
主键是表中的一个或多个字段的组合,其值唯 一标识表中的每条记录。
主键的作用
确保表中数据的唯一性,防止重复记录的出现。
数据库完整性技术面临的挑战和机遇
数据量爆炸式增长
01
随着大数据时代的来临,数据库完整性面临数据量爆炸式增长
带来的存储、处理和管理挑战。
法规遵从与隐私保护
02
随着法规对数据保护的要求日益严格,数据库完整性需满足法
规遵从和隐私保护的需求。
技术创新与市场机遇
03
数据库完整性技术的发展将带来新的市场机遇,推动相关产业
参照完整性定义
维护数据库表之间的关系,确保引用数据的 一致性和准确性。
级联更新和删除
当父表中的数据发生变化时,自动更新或删 除子表中的相关数据。
外键约束
通过在子表中设置外键来引用父表的主键, 确保子表中数据与父表数据的一致性。
更新和删除规则
定义当父表中的数据发生变化时,如何处理 子表中的相关数据。
视图完整性
THANKS FOR WATCHING
感谢您的观看
视图完整性定义
基于一个或多个表的查询结果 集创建视图,并确保该结果集
的完整性。
视图的作用
提供了一个虚拟表,可以基于 现有表的数据进行查询和操作 。
视图的限制
通过在视图上定义约束来确保 数据的完整性和准确性。
视图与数据操作
对视图进行查询、更新、插入 和删除操作时,必须遵守视图

第五章-完整性控制

第五章-完整性控制
拒绝(NO ACTION)执行
默认策略
级联(CASCADE)操作
设置为空值(SET-NULL)
对于参照完整性,除了应该定义外码,还应定 义外码列是否允许空值
参照完整性检查和违约处理(续)
1、在被参照关系中删除元组的问题 2、在参照关系中插入元组时的问题 3、在参照关系中,修改外码的问题 4、修改被参照关系中主码的问题
参照完整性的常见实现机制包括:
外键(Foreign Key)
检查(Check) 触发器(Trigger) 存储过程(Stored Procedure)
5.2.1 参照完整性定义(续)
在输入或删除记录时,可以用来保持所有表之间定
义的关系,以确保键值在所有表中一致。 关系模型的参照完整性定义
完整性定义(续)
一条完整性规则可以用一个五元组 (D,O,A,C,P) 表示:
(1)D(Data) 约束作用的数据对象; (2)O(Operation) 触发完整性检查的数据库操作,即当用户 发出什么操作请求时需要检查该完整性规则,是立即检查 还是延迟检查; (3)A(Assertion) 数据对象必须满足的断言或语义约束,这 是规则的主体; (4)C(Condition) 选择A作用的数据对象值的谓词; (5)P(Procedure) 违反完整性规则时触发的过程。
违约处理
如果发现用户的操作请求使数据违背了完整性约束条件, 则采取一定的动作来保证数据的完整性。
违约处理(续)
违反实体完整性规则和用户定义的完整性规则的操 作:
一般是拒绝执行 违反参照完整性的操作:
拒绝执行
接受这个操作,同时执行一些附加的操作,以保证数 据库的状态正确
第五章 数据库完整性

《数据库》第五章 数据完整性与约束

《数据库》第五章 数据完整性与约束
约束) 强制两个表之间的关系. –外键约束要求对于定义约束的列中的每个值,
必须与引用表中指定的列的值匹配。
15
Inspur Education
▪ 外键约束
–外键约束相关的概念:
oracle– 中外是键其常:他外表用键的约主约束 键定 列束义。中的的用引用法了其他表的的列或列集,一般
– 引用键:外键引用的其他表的唯一键或主键。 – 从表或子表:包含外键的表。此表的值依赖于引用表的唯一
–实例:在已创建的表dept_20中添加
oracleemp中lo常yee用_id约和束h的ir用e_d法ate 列的组合外键约
束A并LTE启R T用ABL:E dept_20
ADD CONSTRAINT fk_empid_hiredate FOREIGN KEY (employee_id, hire_date) REFERENCES job_history(employee_id, start_date)
▪ 唯一性约束
–实例:为已存在的warehouses表的
oraclwear中eh常ous用e_i约d,束wa的re用hou法se_name列,添加名
whAL_TuERnTqA为BLE的wa唯reh一ous性es 约束
ADD CONSTRAINT wh_unq UNIQUE (warehouse_id, warehouse_name)
25
Inspur Education
▪ 检查性约束
–检查性(check)约束即要求每一行的一列或
oracl多e列中的常值用,必约须束满的足用指定法条件。
–检查约束的主要好处是具有非常灵活的完整性 规则的能力。
26
Inspur Education

第五章王珊,萨师煊版《数据库系统概论》讲义及课后习题答案

第五章王珊,萨师煊版《数据库系统概论》讲义及课后习题答案

完整性约束条件分类
六类完整性约束条件

静态列级约束 静态元组约束 静态关系约束 动态列级约束 动态元组约束 动态关系约束
• • • • •
完整性约束条件(续)
对象状态 动态 动态列级约束 ④ 静态列级约束 ① 动态元组约束 ⑤ 动态关系约束 ⑥
静态
静态元组约束 静态关系约束 ② ③

元组
关系
对象粒度
4. 修改被参照关系中主码的问题
• 两种策略 (1)不允许修改主码 (2)允许修改主码
允许修改主码策略
• 违约操作 ♦要修改被参照关系中某些元组的主码值, 而参照关系中有些元组的外码值正好等 于被参照关系要修改的主码值 ♦要修改参照关系中某些元组的主码值, 而被参照关系中没有任何元组的外码值 等于被参照关系修改后的主码值
允许修改主码策略
例:将Student关系中Sno=950001的元组中Sno 值改为960123。而SC关系中有 4个元组的 Sno=950001 – 级联修改:将SC关系中4个Sno=950001元组 中的Sno值也改为960123。如果参照关系同时 又是另一个关系的被参照关系,则这种修改操 作会继续级联下去。
一般是拒绝执行
• 违反参照完整性的操作:
– 拒绝执行 – 接受这个操作,同时执行一些附加的操作,以保证 数据库的状态正确
三、参照完整性的实现
例:职工-部门数据库包含职工表EMP和部门表DEPT
1 DEPT关系的主码为部门号Deptno 2 EMP关系的主码为职工号Empno, 外码为部门号Deptno 称DEPT为被参照关系或目标关系,EMP为参照关系
3.在参照关系中插入元组时的问题
• 受限插入 – 仅当被参照关系中存在相应的元组,其主码值 与参照关系插入元组的外码值相同时,系统才 执行插入操作,否则拒绝此操作。 • 递归插入 – 首先向被参照关系中插入相应的元组,其主码 值等于参照关系插入元组的外码值,然后向参 照关系插入元组。

第5章 数据完整性

第5章 数据完整性

第5章数据完整性【学习目标】Microsoft SQL Server 2005系统提供了一系列保证数据完整性的方法和机制,例如约束、默认值和规则等。

其中约束技术是应用最为广泛的保证数据完整性的方法。

本章将主要介绍有关数据库完整性的技术与方法。

本章学习要点:◆数据完整性的基本概念与类型◆约束的概念与类型◆默认值的概念与类型◆规则的概念与类型【学习导航】数据完整性是指数据库系统中数据在逻辑上的一致性和准确性,是保证数据库中数据质量的一种重要手段,是数据库设计好坏的一项重要指标,同时也是现代数据库系统的一个重要特征。

我们都有在网上注册帐户的经历,在注册信息的时候,我们经常会遇到用户名已经存在、密码少于规定的长度、电子邮件必填、出生日期有效、身份证号码是否正确等一系列的限制,实际上这些限制就是保证数据完整性的一些手段,主要的目的就是为了保证用户所填写的内容正确、有效。

本章主要内容见图5-1所示的学习导航。

图5-1 本章学习导航5.1 概述当对数据库进行一系列的操作后,如添加、修改、删除后,数据可能会出现被破坏或相关数据不一致的情况,那么如何防止和解决这些问题的出现呢?这不仅仅需要管理人员和操纵人员的认真和负责,更需要建立一个保障机制,要么防止这些问题发生,要么发生这些问题时可以及时地发现。

数据完整性就是解决这些问题的一种机制。

数据完整性就是指存储在数据库中的数据的一致性和准确性。

在评价数据库的设计时,数据完整性是数据库设计好坏的一项重要指标。

根据数据完整性机制所作用的数据对象和范围不同,数据完整性可以分为实体完整性、域完整性、参照完整性和用户定义完整性4种。

1.实体完整性实体完整性,也可以称为行完整性。

实体是指表中的记录,一个实体就是表中的一条记录。

实体完整性要求在表中不能存在完全相同的记录,而且要求每条记录都要具有一个唯一的标识符,这种标识符一般称为主键值。

这样就可以保证数据所代表的任何事物都不存在重复、可以区分。

大连海事大学2024年硕士自命题复试大纲 F07 数据库

大连海事大学2024年硕士自命题复试大纲  F07 数据库

大连海事大学硕士研究生入学考试大纲考试科目:数据库考试内容(一)要求熟知的章节第一章:绪论第二章:关系数据库第三章:关系数据库标准语言——SQL第四章:数据库安全性控制第五章:数据库完整性第六章:关系数据理论第七章:数据库设计第八章:数据库编程第九章:关系系统及其查询优化第十章:数据库恢复第十一章:并发控制(二)主要内容1、数据管理的发展阶段及每个阶段的特点。

2、数据、数据库、数据库管理系统的概念,DBMS提供的数据控制功能。

3、数据模型的概念,组成数据模型的三要素。

4、概念模型、实体、属性、码、候选码、外码、域、实体型、实体集的概念。

5、实体间的联系及E-R模型。

6、实际的数据库系统支持的主要数据模型,基本层次联系,层次模型、网状模型的数据结构。

7、数据库系统的三级模式结构、两级映象功能、数据的物理独立性和逻辑独立性。

8、数据库系统的组成。

9、关系的定义及关系的特性,关系模式的表示,元组、属性、主属性、码、候选码、非码属性、全码、外码的概念10、关系模型的三类完整性:实体完整性、参照完整性和用户定义完整性11、关系代数的运算:传统的集合运算(并、交、差、笛卡儿积)和专门的关系运算(选择、投影、连接、除法)12、关系数据语言的特点,关系操作的特点。

SQL语言的四个特点13、SQL语言的数据定义功能:包括对基本表、索引和视图的建立修改和删除,语法格式14、掌握查询(SELECT)语句功能和应用(单表、多表连接、嵌套、集函数)。

15、掌握修改(UPDATE)、删除(DELETE)和插入(INSERT)语句的应用16、SQL数据控制功能(GRANT、REVOKE)17、基本表、视图的概念,视图的作用。

18、关系系统查询优化的一般策略19、(平凡与非平凡的)函数依赖、完全函数依赖、部分函数依赖、传递函数依赖、函数依赖、(平凡与非平凡的)多值依赖20、关系规范化:第一范式、第二范式、第三范式、BC范式、4NF的定义,将一个非规范化的表转化为三范式的表的步骤。

第五章 数据完整性

第五章 数据完整性

RDBMS在实现参照完整性时: 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) –一般地,当对参照表和被参照表的操作违反 ON DELETE CASCADE 了参照完整性,系统选用默认策略,即拒绝执 ON UPDATE CASCADE, FOREIGN KEY (Cno) REFERENCES Course(Cno) 行。如果想让系统采用其它的策略则必须在创 ON DELETE ON ACTION 建表的时候显式说明。 ON UPDATE CASCADE,
–完ቤተ መጻሕፍቲ ባይዱ性:真实地反映现实世界
An Introduction to Database System
二、DBMS的完整性控制机制
1. 定义功能 一个完善的完整性控制机制应该允许用户定义各类完整性约束条件。 2. 检查功能

检查用户发出的操作请求是否违背了完整性约束条件
例:银行数据库 中“借贷总金额应平 衡”的约束就应该是 延迟执行的约束
An Introduction to Database System
[例6] 建立部门表DEPT,要求部门名称Dname列取值唯一, 部门编号Deptno列为主码。
CREATE TABLE DEPT (Deptno NUMERIC(2) NOT NULL, Dname CHAR(9) UNIQUE, Location char(10), PRIMARY key (Deptno) );
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

SQL Server实用教程
2013年8月9日星期五
Page 2
5.1 数据完整性的基本概念
数据完整性包括实体完整性、域完整性、参照完整性和用 户定义的完整性。 1.实体完整性(Entity Integrity) 实体完整性用于保证数据库中数据表的每一个特定实体都 是唯一的。它可以通过主键约束(PRIMARY KEY)、 唯一键约束(UNIQUE)、索引或标识属性 (IDENTITY)来实现。 2.域完整性(Domain Integrity) 域完整性就是保证数据库中的数据取值的合理性,即保证 指定列的数据具有正确的数据类型、格式和有效的数据范 围。通过为表的列定义数据类型以及检查约束 (CHECK)、默认定义(DEFAULT)、非空(NOT NULL)和规则实现限制数据范围,保证只有在有效范围 内的值才能存储到列中。
SQL Server实用教程 2013年8月9日星期五 Page 10
5.2.2 唯一键(UNIQUE)约束
可使用UNIQUE约束确保在非主键列中不输入重 复值。在允许空值的列上保证唯一性时,应使用 UNIQUE约束而不是PRIMARY KEY约束,不过 在该列中只允许有一个NULL值。一个表可以定 义 多 个 UNIQUE 约 束 , 但 只 能 定 义 一 个 PRIMARY KEY约束。FOREIGN KEY约束也可 引用UNIQUE约束。
SQL Server实用教程
2013年8月9日星期五
Page 13
(2)向已有表中添加唯一约束 其语法格式如下。 ALTER TABLE 表名 ADD [CONSTRAINT 约束名] UNIQUE (列名 1[,…n]) [,…]) (3)删除唯一约束 其语法格式如下。 ALTER TABLE 表名 DROP CONSTRAINT 约束名
SQL Server实用教程
2013年8月9日星期五
Page 9
(3)删除主键约束 其语法格式如下。 ALTER TABLE 表名 DROP CONSTRAINT 约束名 例如要删除cj表中的主键约束,可以利用如下语句: ALTER TABLE cj DROP CONSTRAINT pk_xhkch 注意:向表中添加主键约束时,SQL Server 将检 查现有记录的列值,以确保现有数据符合主键的规 则,所以在添加主键之前要保证主键列没有空值和 重复值。
SQL Server实用教程
2013年8月9日星期五
Page 7
【例5.1】删除原有kc表,重新创建kc表,字段定义不变, 同时将课程号设置为主键。 USE xsgl DROP TABLE kc GO CREATE TABLE kc ( 课程号 CHAR(4) NOT NULL CONSTRAINT pk_kch PRIMARY KEY, 课程名 CHAR(16) NOT NULL, 学分 SMALLINT, 学时数 SMALLINT )
SQL Server实用教程
2013年8月9日星期五
Page 3
3.参照完整性(Referential Integrity) 参照完整性定义了一个关系数据库中,不同的表中列之间 的关系(父键与外键)。要求一个表中(子表)的一列或 列组合的值必须与另一个表(父表)中的相关一列或列组 合的值相匹配。被引用的列或列组合称为父键,父键必须 是主键或唯一键,通常父键为主键,主键表是主表。 引用父键的一列或列组合称为外键,外键表是子表。如果 父键和外键属于同一个表,则称为自参照完整性。子表的 外键必须与主表的主键相匹配,只要依赖某一主键的外键 存在,主表中包含该主键的行就不能被删除。 当增加、修改或删除数据库表中记录时,可以借助参照完 整性来保证相关联表之间数据的一致性。
SQL Server实用教程
2013年8月9日星期五
Page 11
1.利用Management Studio定义(删除)唯一性约束 2.利用T-SQL语句定义(删除)唯一性约束 (1)在创建表时创建唯一性约束 其语法格式如下。 语法格式1: CREATE TABLE 数据表名 (列名 数据类型 [CONSTRAINT 约束名] UNIQUE [CLUSTERED︱NONCLUSTERD][,…]) 语法格式2: CREATE TABLE 数据表名 ( [CONSTRAINT 约束名] UNIQUE [CLUSTERED︱ NONCLUSTERD] (列名1[,…n]) [,…]) 说明:语法格式1定义单列唯一约束,语法格式2定义多列组 合唯一约束。
SQL Server实用教程 2013年8月9日星期五 Page 18
--创建不检查现有数据的检查约束 ALTER TABLE XS WITH NOCHECK ADD CONSTRAINT ck_dh CHECK ([电话] LIKE '[0-9][0-9][0-9][0-9][09][0-9][0-9][0-9]') GO
SQL Server实用教程
2013年8月9日星期五
Page 5
5.2 约束
约束是通过限制列中数据、行中数据以及表之间数据取值 从而保证数据完整性的非常有效和简便的方法。 5.2.1 主键(PRIMARY KEY)约束 PRIMARY KEY约束在表中定义一个主键,唯一的标识 表中的行。一个表只能有一个PRIMARY KEY约束。 当 向 表 中 的 现 有 列 添 加 PRIMARY KEY 约 束 时 , SQL Server将检查列中现有的数据以确保现有数据遵从主键 的规则,即无空值、无重复值。 当PRIMARY KEY约束由另一表的FOREIGN KEY约束引 用时,不能删除被引用的PRIMARY KEY约束,要删除 它,必须先删除引用的FOREIGN KEY约束。 每个表都应有一个主键。主键可以是一列或列组合。
SQL Server实用教程
2013年8月9日星期五
Page 20
注意:在默认情况下,检查约束同时作用于新数 据和表中已有的数据,可以通过关键字WITH NOCHECK禁止CHECK约束检查表中已有的数据。 与其他约束不同的是,CHECK约束可以通过 NOCHECK和CHECK关键字设置为无效或重新有 效。 其语法格式如下。 ALTER TABLE 表名 NOCHECK CONSTRAINT 约束名︱CHECK CONSTRAINT 约束名
SQL Server实用教程
2013年8月9日星期五
Page 19
(3)删除检查约束 其语法格式如下。 ALTER TABLE 表名 DROP CONSTRAINT 约束名 【例5.7】删除xs中的电话列的检查约束。 ALTER TABLE xs DROP CONSTRAINT ck_dh GO
SQL Server实用教程
2013年8月9日星期五
Page 16
1.利用Management Studio定义(删除)检查约束 2.利用T-SQL语句定义(删除)检查约束 (1)在创建表时创建检查约束 其语法格式如下。 CREATE TABLE 数据表名 (列名 数据类型 [CONSTRAINT 约束名] CHECK (逻辑表达 式) [,…]) (2)向已有表中添加检查约束 其语法格式如下。 ALTER TABLE 表名 WITH NOCHECK ADD [CONSTRAINT 约束名] CHECK (逻辑表达式) [,…])
SQL Server实用教程定义的完整性(User-defined Integrity) 这是由用户定义的完整性。用户可以根据自己的 业务规则定义不属于任何完整性分类的完整性。 由于每个用户的数据库都有自己独特的业务规则, 所以系统必须有一种方式来实现定制的业务规则, 即定制的数据完整性约束。 用户定义的完整性可以通过自定义数据类型、规 则、存储过程和触发器来实现。
SQL Server实用教程 2013年8月9日星期五 Page 17
【例5.6】 在xs表中增加一个字段“电话(CHAR(8)”,为电话列添加检 查约束,要求每个新加入或修改的电话号码为8位数字,但对表中现有的 记录不进行检查。 USE xsgl GO ALTER TABLE xs ADD 电话 char(8) null --向学生表中插入一条电话号码为7位数字的记录 INSERT xs(学号,姓名,性别,出生时间,专业,总学分,电话) VALUES(2009030108,'耿娇','女','91/6/6','电子商务',19, '4501310') GO --创建不检查现有数据的检查约束 ALTER TABLE xs WITH NOCHECK ADD CONSTRAINT ck_dh CHECK ([电话] LIKE '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]') GO
SQL Server实用教程
2013年8月9日星期五
Page 14
【例5.4】给kc表中课程名字段添加唯一约束。 USE xsgl GO ALTER TABLE kc ADD CONSTRAINT ix_kcm UNIQUE(课程名) GO 【例5.5】删除kc_new中的唯一约束。 USE xsgl GO ALTER TABLE kc_new DROP CONSTRAINT ix_kcm1 GO
SQL Server实用教程
2013年8月9日星期五
Page 15
5.2.3 检查(CHECK)约束
CHECK约束是限制用户输入某一列的数据取值, 即该列只能输入一定范围的数据。 CHECK约束可以作为表定义的一部分在创建表时 创建,也可以添加到现有表中。表和列可以包含 多个CHECK约束。允许修改或删除现有的 CHECK约束。 在现有表中添加CHECK约束时,该约束可以仅作 用于新数据,也可以同时作用于已有的数据。默 认设置为CHECK约束同时作用于已有数据和新数 据。当希望现有数据维持不变,则使用约束仅作 用于新数据选项。
相关文档
最新文档