- 1、本文档共55页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五章数据完整性资料
5.2.4 UNIQUE约束 UNIQUE约束用于表中的非主键列,UNIQUE约束保证一列或者多列的数据完整性,确保这些列不会输入重复的值,即没有相同的两列值。 例如,客户表中客户编号列为主键,但是其中还包括证件号码列,由于所有证件号码不可能出现重复,所以可以在此列上建立UNIQUE约束,确保不会输入重复的证件号码。与PRIMARY KEY约束类似,UNIQUE约束也强制惟一性,为表中的一列或多列提供实体完整性,且每个UNIQUE约束要建立一个惟一索引;UNIQUE约束和PRIMARY KEY约束主要区别如下: 1)UNIQUE约束用于非主键的一列或者多列组合; 2)一个表可以定义多个UNIQUE约束,而只能定义 一个PRIMARY KEY约束; 3)UNIQUE约束可以用于定义允许空值的列,而 PRIMARY KEY约束则不能用于允许空值的列。 Use 手机 Create table 客户表 ( 客户编号 varchar(10) not null, 客户姓名 varchar(10) not null, 客户密码 char(6) not null, 性别 char(2) not null, 证件号 varchar(18 ) null Constraint wy unqiue, 月收入 smallmoney null ) alter table 工资 add constraint fk_职工_工资 foreign key(职工号) references 职工(职工号) Create table 宿舍分配表 (职工号 varchar(20) not null primary key constraint xx foreign key references 职工(职工号), 姓名 char(20) null, 寝室号 char(20) null) Unique约束 确保数据库在的元组在非主键列上取值不同。 比如说一个学生信息表,学号是主键,假设在表里还有一个身份证号的列,该列不作为主键,但它的取值也不能相同,所以,可以用unique约束保证输入数据库中的身份证号是不同的。 用SQL创建UNIQUE约束 1.创建表时加约束 Create table 表名 (……, 列名 数据类型 null Constraint 约束名 unique, …) 2.往已经创建好的表中添加 Alter table 表名 Add Constraint 约束名 Unique(列名) 5.2.5 DEFAULT约束 如对表中的某列定义了default约束后,用户在插入新的数据行时,如果没有为该列制定数据,那么系统将默认值赋予该列,默认值可以为空值(null) 方法一、使用SQL Server企业管理器定义、删除DEFAULT约束 1、使用SQL Server企业管理器定义DEFAULT约束 【例16】为客户表中的性别列定义default约束,使其性别的默认值为“男” 用Sql语言创建默认约束 1.创建表的同时添加 Create table 表名 (…… 列名 数据类型 null Constraint 约束名 Default ‘值’, …) 2.创建完了后添加 Alter table 表名 Add Constraint 约束名 default ‘值’ for 列名 创建宿舍分配表,并将宿舍号默认成’101’ create table 宿舍分配 (职工号varchar(20) not null, 姓名char(20) null, 宿舍号 char(20) null constraint mr_宿舍号default 101) 将职工表的籍贯列 默认成’成都’ alter table 职工 add constraint mr_籍贯 default 成都 for 籍贯 练习 1.创建表 :学生(学号,姓名,性别,专业,身份证号)且创建的同时将学号设置主键约束,身份证号设定unique约束 2.创建表:成绩(学号,姓名,成绩,奖学金)创建的同时将奖学金设置默认为: 无 3.以成绩为从表,学生为主表,为成绩创建一个外键约束cc 4.为成绩表中的姓名添加unique约束,名称为ll 5.为学生表中的“专业”添加默认约束ff,使专业默认为”计算机” create table 学生 (学号char(20) not null constraint pk_xh primary key, 姓名char(20) null,
文档评论(0)