完整性约束.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《完整性约束.ppt》由会员分享,可在线阅读,更多相关《完整性约束.ppt(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、完整性约束现在学习的是第1页,共28页回顾使用SQL Server Management Studio工具创建数据库,创建数据表使用命令行方式创建数据库,修改数据库,创建数据表,修改表结构SQL Server中的基本的数据类型现在学习的是第2页,共28页目标理解数据库完整性的概念熟练掌握实体完整性、域完整性、参照完整性的概念及其在应用数据库设计中的应用现在学习的是第3页,共28页概述、专业术语在上一章我们学习了如何创建、修改、删除数据库表,但没有很好的关心属性是否重复、是否复合;属性值是否有条件约束,等等,我们把这类问题归纳为数据库完整性问题。本章的内容将讲述数据库的数据完整性概念及应用。现在
2、学习的是第4页,共28页SQLSQL与与T-SQLT-SQL之区别之区别(1)SQL语言SQL语言是关系型数据库的标准语言(只是数据库能够识别的指令)(2)T-SQL语言是标准SQL语言的加强版,在标准的SQL命令之上进行了扩充.现在学习的是第5页,共28页T-SQLT-SQL的组成的组成T-SQL语言由以下4部分组成:DDL(数据定义语言)DCL(数据控制语言)TCL(事务控制语言)DML(数据操作语言)其它:变量说明、流程控制、功能函数定义变量、判断、分支、循环结构等日期函数、数学函数、字符函数、系统函数等现在学习的是第6页,共28页数据库完整性约束概念正确性:数据的合法性有效性:数据是否
3、属于定义的范围相容性:多用户多任务情况下,保证更新时不出现与实际不一致的情况正确性正确性有效性有效性相容性相容性数据完整性数据完整性防止错误的数据进入数据库防止错误的数据进入数据库现在学习的是第7页,共28页数据库完整性约束概念哪些地方需要应用数据完整性?计算工资32OO+500=?输入18位身份证号码310104?学号学号姓名姓名性性别别年年龄1001牛皮男01002老大难8881002咪咪女19学号学号姓名姓名年年龄1001牛皮151002老大181004咪咪19课程号程号名称名称学分学分8001C/C+48002JAVA58003Oracle6学号学号课程号程号成成绩1001801155
4、100580027510048001950输入学员信息输入学员成绩现在学习的是第8页,共28页数据库完整性约束概念数据完整性包括:(1)实体完整性(Entity Integrity)(2)域完整性(Domain Integrity)(3)参照完整性(Referential Integrity)(4)用户自定义完整性(User-Defined Integrity)确保数据完整性的方法主要有:(1)约束(2)规则(3)触发器现在学习的是第9页,共28页数据库完整性约束概念(1)实体完整性:要求表中的每一行数据都反映不同的实体(1)UNIQUE 约束(2)PRIMARY KEY 约束(3)IDENT
5、ITY 属性(2)域完整性:要求指给定列的输入有效性(1)限制类型(通过数据类型)(2)可能值的范围(通过 FOREIGN KEY 约束、CHECK 约束、DEFAULT 定义、NOT NULL 定义)(3)参照完整性:确保始终保持主键和外键的关系.确保在不同表之间关键性数据保持一致(1)FOREIGN KEY 约束(4)用户自定义的完整性:存储过程、触发器现在学习的是第10页,共28页数据库完整性约束概念列约束和表约束列约束列约束对列定义完整性约束条件,包含在列的定义中表约束表约束对整个表定义完整性约束条件,在表的最后一列之后定义约束主要包括:主键约束(PRIMARY KEY)缺省约束(DE
6、FAULT)检查约束(CHECK)唯一约束(UNIQUE)外键约束(FOREIGN KEY)现在学习的是第11页,共28页通过约束来保证数据的完整性通过约束来保证数据的完整性通过约束来保证数据的完整性:(1)主键约束:(primary key)(2)默认约束:(default)(3)检查约束:(check)确保表中的行是唯一的。主键约束强制了实体完整性 当在Insert语句中未指定值时,DEFAULT值会在列中输入一个默认值。默认约束强制了域完整性 通过对输入到特定列的值设置检查条件,将输入数据限制为指定的值。Check约束强制了域完整性现在学习的是第12页,共28页数据的完整性和约束数据的完
7、整性和约束(4)唯一约束:(unique)(5)外键约束:(foreign key)思考:主键约束和唯一约束的区别?同一列的任意两行都不具有相同的值。此约束使用唯一的索引来强制实体完整性外键约束定义了表之间的一致关系,用于强制引用完整性现在学习的是第13页,共28页主键约束和唯一约束的区别(1)主键约束:主键约束用来强制实体的完整性,它在表中定义一个主键来唯一标识表中的每行记录.主键约束有如下特点:每个表只能有一个主键,主键可以是一列,也可以是多列的组合;主键值必须唯一并且不能为空(即:用作主键的列如果是多列,每一个列都不能有空值出现),对于多列组合的主键,某列值可以重复,但列的组合值必须唯一
8、。现在学习的是第14页,共28页主键约束和唯一约束的区别(2)唯一约束唯一约束用来强制数据的实体完整性,它主要用来限制表的非主键列中不允许输入重复值。唯一约束有如下特点:一个表中可以定义多 个唯一约束;每个唯一约束可以定义到一列上,也可以定义到多列上;空值可以出现在某列中一次。现在学习的是第15页,共28页数据库完整性约束概念示例:在建立数据库表时建立约束创建数据库表语法规则如下:创建数据库表语法规则如下:CREATE TABLE 表名(,,UNIQUE(列名,列名),PRIMARY KEY (列名,列名),FOREIGN KEY (列名,列名),FOREIGN KEY (列名,列名)REFE
9、RENCES 表名(列名,列名);CREATE TABLE dbo.orders(OrdID int NOT NULL,CusID varchar(20)NOT NULL,ComID int NOT NULL,Amount int NOT NULL,PayAmount decimal(10,2)NOT NULL,PayWay varchar(50)NOT NULL,DTime datetime NOT NULL,IsAfirm varchar(1)NULL,IsSendGoods varchar(1)NULL,FOREIGN KEY(CusID)REFERENCES customer(CusI
10、D)-添加外键约束)现在学习的是第16页,共28页数据库完整性约束概念示例:在修改数据库表时建立约束修改数据库表语法规则如下:修改数据库表语法规则如下:ALTER TABLE 表名ADD 子句 ALTER COLUMN 子句DROP 子句ADD CONSTRAINT 子句DROP CONSTRAINT 子句 ALTER TABLE EBuy.dbo.orders ADD CONSTRAINT amount_check CHECK(Amount0)现在学习的是第17页,共28页主键约束主键约束(PRIMARY KEY)主要用来标识实体集中每个实体对象的唯一性。不允许NULL值。语法规则:CONS
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整性 约束
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内