- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
server 数据完整性课件及笔记整理
server 数据完整性课件及笔记整理
Sql server数据完整性课件及笔记整理2010-11-12 21:46
--问题1:假如一个表中有多个default或者unique约束,那么,我们怎么删除指定列的约束呢?
--问题2:假如表中的约束是系统自定义的,而我们没有系统自定义的字段约束名,这时怎么删除约束呢?
--(我的坏点子:那就不如违反系统自定义的那个约束吧!一定会报错并且指出我们所违反约束的约束名)
--问题3:怎样直观地通过T-SQL语句查询表中每个字段的约束呢?
--问题4:主键约束也是约束呀,为什么在约束中没有显示呢?
--数据完整性、索引
/*
---目标---
1、了解约束的概念和分类
2、掌握T-SQL语句建表时创建约束
3、级联更新、删除
4、修改表时创建、修改、删除约束
1)数据的完整性:能确保存储在数据库中数据的一致性和准确性。
一、域(列)完整性:
指定对列的一组有效值并决定是否允许有空值。
也可以通过在一列中限定数据类型,格式和可能值的范围
来强制数据完整性。
二、实体(行)完整性:
要求表中所有的行唯一。
例如:
主关键字。
三、参照完整性:
确保维持主关键字和外部关键字的关系。
2)约束的概念:
确保在列中输入有效的值并维护表之间的关系。
提示:
每种数据完整性类型使用不同的约束类型进行强制。
3)约束的类型:
||
完整性类型|约束类型|描述
--
|default--|-》Insert时,为列指定值
域|check--|-》指定在列中可接受的值
|not null---|-》指定在列中不接受空值
--
实体|primary key--》每行唯一的标识
|unique---》不允许有重复的关键字
--
参照|foreign key--》匹配另一表中的关键字
||
4)Primary key约束
I、功能:
一、primary key(主键约束),一个表中只有能一个pk,
不能有空值,不能有重复值;
二、pk所在列的值能够唯一标识此行;
三、能与fk关联pk所在表为主表;
注意:
Primary key简写pk Foreign key简写fk II、创建表时定义约束:
字段名数据类型[长度][constraint pk_字段名]primary key--强烈建议创建表的时候主动给出一个自己定义的约束名,而且要养成随时保存创建数据库和创建表的代码的习惯。
III、创建表后添加约束:
alter table表名
add constraint约束名
primary key(字段名)
go
案例演习:
修改数据库xscj中的xs表,将学号设置为主键
use xscj go
--通过修改表的形式,对表添加约束。
alter table xs add constraint pk_xs primary key(xsid)
go
--通过修改表的形式,删除表中的约束
alter table xs drop constraint pk_xs--问题1:假如一个表中有多个default或者unique约束,那么,我们怎么删除指定列的约束呢?
5)Unique约束
I、功能:
unique(唯一约束),指定在同一列中的两行不能有相同的值,
只能有一行为空值。
II、创建表时定义约束:
字段名数据类型unique III、创建表后定义约束:(关键字constraint)
alter table表名
add constraint约束名
unique(字段名)
go 6)Default约束
I、功能:
执行insert语句时将默认值自动插入约束所在的列
II、创建表时定义约束:
字段名数据类型default(默认值)
III、Default约束注意事项:
1、每列只能定义一个default约束。
2、不能用于有identity属性的列
3、如果定义的默认值长于其对应字段的允许长度,那么输入
到表中的默认值将被截断。
4、有default约束的字段,可插入其他的值,若不插入,则以默
认值为纪录值,且后面创建的默认约束对已经存在的数据
没有影响。
--案例演练:
use company go create table test
(
tid int constraint pk_tid primary key,
time datetime constraint df_time default(getdate())
)
drop table test go 7)Check约束
I、功能:
check(检查约束),每次执行Insert/update语句时,
该约束要校验数据的合法性。
II、创建表时定义约束:
字段名数据类型check(条件)
III、Check约束注意事项:
1、一个表中可以定义多个检查约束,但每个字段只能定
原创力文档


文档评论(0)