SQL第6章—约束.ppt
《SQL第6章—约束.ppt》由会员分享,可在线阅读,更多相关《SQL第6章—约束.ppt(42页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第6章章 数据完整性数据完整性 6.1 完整性的概念完整性的概念 6.2 约束的类型约束的类型 6.3 约束的创建约束的创建 6.4 查看约束的定义查看约束的定义 6.5 删除约束删除约束1 16.1 完整性的概念完整性的概念完整性的概念完整性的概念完整性的概念完整性的概念 数据完整性指存储在数据库中的数据完整性指存储在数据库中的数据完整性指存储在数据库中的数据完整性指存储在数据库中的数据正确无误数据正确无误数据正确无误数据正确无误并且并且并且并且相关数据相关数据相关数据相关数据具有一致性具有一致性具有一致性具有一致性。数据完整性可分为以下四种:数据完整性可分为以下四种:数据完整性可分为以下
2、四种:数据完整性可分为以下四种:1 1、实体完整性、实体完整性、实体完整性、实体完整性:要求在表中:要求在表中:要求在表中:要求在表中不能不能不能不能存在两条完全存在两条完全存在两条完全存在两条完全相相相相同同同同的记录。的记录。的记录。的记录。实现实体完整性的方法有:实现实体完整性的方法有:实现实体完整性的方法有:实现实体完整性的方法有:主键约束、惟一索引、主键约束、惟一索引、主键约束、惟一索引、主键约束、惟一索引、唯一约束、指定唯一约束、指定唯一约束、指定唯一约束、指定IDENTITYIDENTITY属性属性属性属性。2 26.1 完整性的概念完整性的概念2 2、域完整性、域完整性、域完整
3、性、域完整性:要求向表中指定列输入的数据必须具有正确:要求向表中指定列输入的数据必须具有正确:要求向表中指定列输入的数据必须具有正确:要求向表中指定列输入的数据必须具有正确的数据类型、格式及有效的数据范围。的数据类型、格式及有效的数据范围。的数据类型、格式及有效的数据范围。的数据类型、格式及有效的数据范围。实现域完整性的方法有:实现域完整性的方法有:实现域完整性的方法有:实现域完整性的方法有:检查约束、外键约束、非空约束、检查约束、外键约束、非空约束、检查约束、外键约束、非空约束、检查约束、外键约束、非空约束、规则及在建表时设置的数据类型规则及在建表时设置的数据类型规则及在建表时设置的数据类型
4、规则及在建表时设置的数据类型。3 3、参照完整性、参照完整性、参照完整性、参照完整性:指作用于有关联的表通过主键和外键或主:指作用于有关联的表通过主键和外键或主:指作用于有关联的表通过主键和外键或主:指作用于有关联的表通过主键和外键或主键和惟一键间的关系,使表中的键值在相关表中保持一致。键和惟一键间的关系,使表中的键值在相关表中保持一致。键和惟一键间的关系,使表中的键值在相关表中保持一致。键和惟一键间的关系,使表中的键值在相关表中保持一致。实现参照完整性的方法有:实现参照完整性的方法有:实现参照完整性的方法有:实现参照完整性的方法有:外键约束外键约束外键约束外键约束4 4、用户定义的完整性、用
5、户定义的完整性、用户定义的完整性、用户定义的完整性:指应用领域需要遵守的约束条件。:指应用领域需要遵守的约束条件。:指应用领域需要遵守的约束条件。:指应用领域需要遵守的约束条件。3 3第第6章章 数据完整性数据完整性 6.1 完整性的概念完整性的概念 6.2 约束的类型约束的类型 6.3 约束的创建约束的创建 6.4 查看约束的定义查看约束的定义 6.5 删除约束删除约束4 46.2 约束的类型约束的类型 1 1、NOTNULLNOTNULL(非空)约束非空)约束非空)约束非空)约束 2 2、PRIMARYKEYPRIMARYKEY(主键)约束(主键)约束(主键)约束(主键)约束3 3、UNI
6、QUEUNIQUE(惟一)约束(惟一)约束(惟一)约束(惟一)约束4 4、CHECKCHECK(检查)约束(检查)约束(检查)约束(检查)约束 5 5、FOREIGNKEYFOREIGNKEY(外健)约束外健)约束外健)约束外健)约束 6 6、DEFAULTDEFAULT(默认)约束默认)约束默认)约束默认)约束5 5第第6章章 数据完整性数据完整性 6.1 完整性的概念完整性的概念 6.2 约束的类型约束的类型 6.3 约束的创建约束的创建 6.4 查看约束的定义查看约束的定义 6.5 删除约束删除约束6 66.3 约束的创建约束的创建使用使用使用使用 CREATETABLECREATETA
7、BLE 或者或者或者或者 ALTERTABLEALTERTABLE CREATETABLECREATETABLE是在创建表时创建约束是在创建表时创建约束是在创建表时创建约束是在创建表时创建约束 ALTERTABLEALTERTABLE是在一个已有的表上添加约束是在一个已有的表上添加约束是在一个已有的表上添加约束是在一个已有的表上添加约束可添加可添加可添加可添加单列单列单列单列或或或或多列多列多列多列约束约束约束约束 若约束应用于单列,称为若约束应用于单列,称为若约束应用于单列,称为若约束应用于单列,称为列级约束列级约束列级约束列级约束 若约束引用了多列,称为若约束引用了多列,称为若约束引用了多
8、列,称为若约束引用了多列,称为表级约束表级约束表级约束表级约束,一般此类约束,一般此类约束,一般此类约束,一般此类约束都是在表创建完成后再进行添加约束都是在表创建完成后再进行添加约束都是在表创建完成后再进行添加约束都是在表创建完成后再进行添加约束.7 76.3 约束的创建约束的创建CREATETABLECREATETABLE table_nametable_name(column_namecolumn_name data_typedata_type.n n DEFAULTDEFAULT constant_expressionconstant_expressionCONSTRAINT=0=0an
9、dandSscoreSscore=100)=100)23236.3.3 创建检查约束创建检查约束同步案例参见实训教程同步案例参见实训教程p144p144页页 同步任务同步任务4-14-1 同步任务同步任务4-24-224246.3.3 创建检查约束创建检查约束CHECK CHECK 约束的注意事项:约束的注意事项:在每次执行在每次执行在每次执行在每次执行 INSERTINSERT 或者或者或者或者 UPDATEUPDATE 语句的时候语句的时候语句的时候语句的时候校验数据值校验数据值校验数据值校验数据值可以引用同表中的其他列可以引用同表中的其他列可以引用同表中的其他列可以引用同表中的其他列,但
10、但但但不能引用其他表中不能引用其他表中不能引用其他表中不能引用其他表中的列的列的列的列不能包含子查询不能包含子查询不能包含子查询不能包含子查询列级列级列级列级 CHECKCHECK约束可省略名字,让系统自动生成约束可省略名字,让系统自动生成约束可省略名字,让系统自动生成约束可省略名字,让系统自动生成表达式可以用表达式可以用表达式可以用表达式可以用 ANDAND以及以及以及以及 OROR连接以表示复杂逻连接以表示复杂逻连接以表示复杂逻连接以表示复杂逻辑辑辑辑CHECKCHECK约束中可使用系统函数约束中可使用系统函数约束中可使用系统函数约束中可使用系统函数25256.3.4 创建默认约束创建默认
11、约束1)使用SQL语句为已存在的表创建默认约束,其语法格式如下:ALTER TABLEALTER TABLE table_name table_name ADD CONSTRAINTADD CONSTRAINT constraint_name constraint_name DEFAULTDEFAULT constant_expressionconstant_expression FORFOR column_name column_name 26266.3.4 创建默认约束创建默认约束例例例例5 5:教教教教师师师师表表表表上上上上,为为为为学学学学历历历历字字字字段段段段tdegreetde
12、gree创创创创建建建建一一一一个个个个默默默默认认认认约约约约束束束束,其默认值为其默认值为其默认值为其默认值为 本科本科本科本科。T-SQLT-SQL语句如下:语句如下:语句如下:语句如下:ALTERTABLEALTERTABLE teacherteacher ADDCONSTRAINTADDCONSTRAINT df_xuelidf_xueli DEFAULTDEFAULT 本科本科本科本科 FORFOR tdegreetdegree GOGO27276.3.3 创建默认约束创建默认约束同步案例参见实训教程同步案例参见实训教程p144p144页页 同步任务同步任务5528286.3.4
13、创建默认约束创建默认约束DEFAULT DEFAULT 约束的注意事项:约束的注意事项:DEFAULTDEFAULT约束创建时将检查表中的现存数据约束创建时将检查表中的现存数据约束创建时将检查表中的现存数据约束创建时将检查表中的现存数据DEFAULTDEFAULT约束约束约束约束只对只对只对只对 INSERTINSERT语句有效语句有效语句有效语句有效每列只能定义一个每列只能定义一个每列只能定义一个每列只能定义一个 DEFAULTDEFAULT约束约束约束约束不能和不能和不能和不能和“标识标识标识标识”属性共同使用属性共同使用属性共同使用属性共同使用为具有为具有为具有为具有 PRIMARYKE
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQL 约束
限制150内