数据库技术与应用(完整性约束(主键唯一性默认值))_第1页
数据库技术与应用(完整性约束(主键唯一性默认值))_第2页
数据库技术与应用(完整性约束(主键唯一性默认值))_第3页
数据库技术与应用(完整性约束(主键唯一性默认值))_第4页
数据库技术与应用(完整性约束(主键唯一性默认值))_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

SQL技术与应用张俊杰庄德俊数据库创建与管理第一节建表操作第二节数据库完整性约束第三节目录Contents第三节数据库完整性约束12约束概述完整性约束创建1约束概述(1)导学

小明为数据库student中的三个表填入数据时发现了一些奇怪的现象,它在学生表Sc中误将成绩score输入为230,系统没有提示错误;在学生表S中误将两个人的学号输入了相同的数据,但并没有提示不正确,为此,小明感到很困惑,怎么样才能确保数据能够正确的填入到表中?系统如何才能对数据进行检测,发现错误并能给出提示??学习本节,思考一下三个问题:约束的作用是什么?可以分为几类?问题一主键约束、外键约束、默认值约束、非空约束、检查约束、唯一性约束怎么创建?问题二默认值对象和规则对象怎么创建、绑定、查看和删除?问题三数据完整性约束1(2)约束分类约束可以保证数据的正确性、有效性和相容性。约束分为主键约束、唯一性约束、默认值约束、非空约束、外键约束、检查约束6类。主键约束唯一性约束非空约束检查约束主键约束要求主键所在的属性不能输入NULL值,同时约束数据表中不能同时存在相同的两行属性。应确保每一个数据表都有唯一的主键,来确保数据的完整性。默认值约束外键约束非空约束决定了列的属性值是否为空值。唯一性约束确保非主键的一列或多列上数据的唯一性,但允许出现控制。默认值约束指定在输入操作中没有提供输入值时,系统将自动提供给某列默认值。外键约束用来维护两个表之间数据的一致性。检查约束用于限制列上的值的取值范围约束概述1(3)约束实现方法(创建表时定义约束)语句格式:(一般在创建表的语句中定义表的约束)Createtable[数据库名.[表的拥有者]表名({<列名><数据类型>|AS<表达式>[Constraint约束名[Null[notnull]][identiny(初值,步长)][|Default默认值for列名

//用于定义默认值约束|Cheack(范围表达式) //用于定义检查约束|Primarykeyclustered|nonclustered(主键所在的列名)//用于定义主键约束|Uniqueclustered|nonclustered(唯一约束所在的列名)

//用于定义唯一性约束|Foreignkey(从表外键的列名)References(主表主键的列名)]

})//用于定义约束

约束概述1(4)约束实现方法(修改表时定义约束)语句格式:(一般在创建表的语句中定义表的约束)Altertable表名[withcheck|withnocheck]Addconstraint约束名约束类型|DROPconstraint约束名【参数说明】Withcheck|withnocheck:用于表示是否使用新建的约束去检验数据表中的所有记录。Addconstraint:表示增加一个约束。DROPconstraint:表示删除一个约束。约束概述2完整性约束创建1.1主键约束1.创建表时创建主键约束例1:创建表C,同时设置cno为主键。Create

table

c(cno

char(4)

primary

key,cname

char(20),tname

char(8))例2:创建表SC,同时设置sno,cno为主键。Create

table

sc(sno

char(4),cno

char(4),score

smallint,primary

key(sno,cno))2.修改表时添加主键约束例:修改表SC,同时设置sno为主键。alter

table

sadd

constraint

sno

primary

key(sno)SQL语句方式创建:3.修改表时删除主键约束例:修改表s,删除主键sno。alter

table

sdrop

constraint

sno1.2主键约束(可视化方式创建)2完整性约束创建2.删除主键约束例:删除表Sc的主键。(同创建主键步骤)1.创建主键约束例:在表S中设置sno、cno为主键。2完整性约束创建2.1唯一性约束1.创建表时创建唯一性约束例1:创建表C,同时设置cname为唯一性。create

table

c(cno

char(4)

primary

key,cname

char(20)

unique,tname

char(8))例2:创建表S,同时设置telephone、email为唯一性。Create

table

sc(sno

char(4)primary

key,……..Constraint

unique_two

unique(telephone,eamil))2.修改表时添加唯一性约束例:修改表S,同时设置sname为唯一性alter

table

sadd

constraint

sname

unique(sname)SQL语句方式创建:3.删除唯一性约束例:修改表s,删除唯一性约束sname。alter

table

sdrop

constraint

sname2.2唯一性约束(可视化方式管理)2完整性约束创建2.删除唯一性约束例:删除表S的sname的唯一性。(同创建步骤,点击删除,保存即可)1.创建唯一性约束例:在表S中设置sname为唯一性。2完整性约束创建3.1默认值约束1.创建表时创建默认值约束例1:创建表C,同时设置tname默认值为“XXX”。create

table

c(cno

char(4),cname

char(4),tname

char(8)

default'XXX’)2.修改表时添加默认值约束例:修改表S,同时设置sex的默认值为“男”alter

table

sadd

constraint

sex

default'男'

for

sex说明:语句中第一个‘sex’为约束名,第二个‘sex’为列名SQL语句方式创建:3.删除默认值约束例:修改表s,删除默认值约束sname。alter

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论