server 数据完整性课件及笔记整理.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 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)

2017meng + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档