SQL-约束.ppt

SQL-约束.ppt

ID:49035836

大小:236.50 KB

页数:32页

时间:2020-01-29

SQL-约束.ppt_第1页
SQL-约束.ppt_第2页
SQL-约束.ppt_第3页
SQL-约束.ppt_第4页
SQL-约束.ppt_第5页
资源描述:

《SQL-约束.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、SQLSERVER数据库程序设计约束的应用约束的相关概念1、约束用于确保数据库数据满足特定的商业规则。约束就是指对插入到表中数据的各种限制。例如:人的性别只能为男或女,人的学号不能为空且不能重复,人的年龄只能在0~150岁之间。2、约束可以对数据库中的数据进行保护。约束的相关概念3、约束可以在建表的时候直接声明,也可以为已建好的表添加约束。4、在SQLSERVER中,约束包括:notnull、default、unique,primarykey,foreignkey,和check六种。在建表的时候声明约束CREA

2、TETABLE表名(列名1数据类型,列名2数据类型,……列名n数据类型,约束子句1,……约束子句N);在表建好后添加约束ALTERTABLE表名ADD约束子句;各种约束介绍Default(默认值)约束:用于为列设置默认值例1:CREATETABLESTUDENT(SIDCHAR(8)NOTNULL,SNAMECHAR(12),SEXNCHAR(1)DEFAULT‘男’);例2:ALTERTABLESTUDENTADDCONSTRAINT学生表_姓名_DFDEFAULT‘王一’FOR姓名各种约束介绍unique(

3、唯一)约束:当定义了唯一约束后,该列值是不能重复的,但是可以为null。例1:CREATETABLESTUDENT(SIDCHAR(8),SNAMECHAR(12),SEXNCHAR(1),CONSTRAINTAUNIQUE(SID));各种约束介绍unique(唯一)约束:当定义了唯一约束后,该列值是不能重复的,但是可以为null。例2:ALTERTABLESTUDENTADDCONSTRAINTBUNIQUE(SNAME)各种约束介绍小练习:要求为学生表添加一个约束,要求学号和姓名的组合值不能重复.各种约束

4、介绍小练习:要求为学生表添加一个约束,要求学号和姓名的组合值不能重复.ALTERTABLESTUDENTADDCONSTRAINTBUNIQUE(SID,SNAME)思考题:如果在建学生表的时候就要求学号和姓名的组合值不能重复,如何创建该约束。各种约束介绍primarykey(主键)约束:用于唯一的标示表行的数据,也就是用于确保数据表中不能存在重复的记录。当定义主键约束后,该列不但不能重复而且不能为null。需要说明的是:一张表最多只能有一个主键,但是可以有多个unqiue约束。例CREATETABLESTUD

5、ENT(SIDCHAR(8),SNAMECHAR(8),CONSTRAINTDPRIMARYKEY(SID));各种约束介绍练习1:将课程表的课程号添加为主键练习2:创建SCORES表,要求把学号和课程号的组合设置为主键.各种约束介绍练习1:将课程表的课程号添加为主键ALTERTABLECOURSEADDCONSTRAINTEPRIMARYKEY(COUID);练习2:创建SCORES表,要求把学号和课程号的组合设置为主键.CREATETABLESCORES(SIDCHAR(10),COUIDCHAR(10

6、),SCORENUMERIC(5,2),CONSTRAINTFPRIMARYKEY(SID,COUID));各种约束介绍Check约束:用于强制行数据必须满足的条件,假定在sal列上定义了check约束,并要求sal列值在1000-2000之间,那么在sal列输入的数据如果不在1000-2000之间系统就会提示出错。各种约束介绍Check约束:用于强制行数据必须满足的条件,假定在sal列上定义了check约束,并要求sal列值在1000-2000之间,那么在sal列输入的数据如果不在1000-2000之间系统就

7、会提示出错。例1:CREATETABLESTUDENT(SIDCHAR(10),SEXNCHAR(1),CONSTRAINTGCHECK(SEX=‘男’ORSEX=‘女’);各种约束介绍练习1:创建用户表USER(NAME,LOGNAME,PASSWORD)要求同一行的NAME和LOGNAME值不能相同要求LOGNAME只能为英文字符且不能为空串练习2:为SCORE表添加约束,要求SCORE字段值只能介于0-100之间练习1:创建用户表USER1(NAME,LOGNAME,PASSWORD)要求同一行的NAME

8、和LOGNAME值不能相同要求LOGNAME只能为英文字符且不能为空串CREATETABLEUSER1(NAMEVARCHAR(10),LOGNAMEVARCHAR(8),PASSWORDVARCHAR(8),CHECK(NAME<>LOGNAME),CHECK(PATINDEX('%[^a-zA-Z]%',LOGNAME)=0),CHECK(LEN(LOGNAME)>0))各种约束介

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。