- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
例一:比较一下,下列两条语句的区别: Delete users Delete users where username=‘guest’ 例二:删除在1980年以前出生的所有职员信息。 本章小结 表是一种十分重要的数据库对象。一个表由若干条记录组成,每条记录由若干个字段组成,在一个表中每个字段具有惟一的名称和指定的数据,还可以对字段或字段组合设置某种约束。 * * * 数据完整性实施方法: (1)声明型数据完整性:在对象创建时定义,这种数据完整性是在通过数据库说明的一部分在语法中实现。 (2)过程型数据完整性:指由某个过程引发而实施的数据完整性。这种数据完整性由默认、规则和触发器具体实现,由视图和存储过程支持。一般先写出实施条件,再写出强制该条件所执行的用于保证数据完整性的脚本。 3约束 (一)约束简介 概念:是SQL强制实行的应用规则,它能够限制用户存放到表中数据的格式和可能值,建立和使用约束的目的是保证数据的完整性。 目的:使用约束的目的在于防止列中出现非法数据,可以自动维护数据库中数据完整性。 约束的类型: 非空约束(not null) 缺省约束(Default constraints) 检查约束(Check Constraints) 主键约束(Primary Key Constraints) 惟一约束(Unique Key Constraints) 外键约束(Foreign Key Constraints) 约束的类型与数据完整性的关系 域完整性:非空约束、DEFAULT、CHECK 实体完整性:PRIMARY KEY、UNIQUE 参照完整性:FOREIGN KEY (二)使用T-SQL语言创建、管理约束 CREATE TABLE 表名 (列名 类型 约束) 约束格式如下: PRIMARY KEY |UNIQUE |REFERENCES 外键对应的主表名[(外键列名)] |DEFAULT 缺省表达式 |CHECK (限定范围的逻辑表达式)][,…n] 说明: 可在已有的表中创建、修改、删除约束; 可在应用程序中创建错误检查逻辑,测试是否违反约束; 在给表添加约束时,SQL将验证表中已有数据是否满足正在添加的约束,若不满足则约束创建不成功。 给已有表添加各种约束的语法: 1、缺省约束: DEFAULT CONSTRAINTS 指当向数据库中的表插入数据时,如果用户没有明确给出某列的值,SQL SERVER自动为该列输入默认值 格式: ALTER TABLE 表名 ADD CONSTRAINT 缺省约束名 DEFAULTM 缺省值 FOR 列名 说明: DEFAULT只用于INSERT语句; 不能用于具有timestamp数据类型、identity 属性、现有DEFAULT定义或绑定默认值的列; 若列中已有默认值,必须除去旧默认值后才能添加新默认值。 每列只能有一个DEFAULT约束。 为数据库CPMS中表Worker的SEX字段创建一个缺省约束,缺省值为1(男)。 alter table worker add constraint default_sex default 1 for sex go 例2:为Restock(进货表)中的进货日期设置默认值为系统当前的日期 例3:设置默认Users表中的用户类型默认为“普通用户” 2、检查约束: CHECK Constraints 限制插入列中的值的范围,主要用于实现域完整性。它是当对数据库中的表执行插入或更新操作时,检查新行中的列值必须满足的约束条件 格式: ALTER TABLE 表名 ADD CONSTRAINT 检查约束名 CHECK (范围表达式) 例:为Restock(进货表)中的进货数量(Res_number)设置必须=2 ALTER TABLE Restock ADD CONSTRAINT CK_ BesNum CHECK( Res_Number =2) 3、主键约束:Primary Key Constraints 用来保证某一列或一组列中的数据相对于表中的每一行都是惟一的,这些列就是该表的主键,不允许在创建主键约束的列上有空值。 格式: ALTER TABLE 表名 ADD CONSTRAINT 主键约束名 PRIMARY KEY clustered|nonclustered(主键所在的列名) 考虑因素: 每个表有且仅有一个主键,该主键不允许为空值; 参照约束使用它作为维护参照完整性的参考点; 创建主键时,在创建主键的列上创建了一个惟一索引,可以是聚簇索引(默认),也可以是非聚簇索引 例:为用户表设置主键; ALTER TABLE Users
文档评论(0)