版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年浙江省(111所)马克思主义基本原理概论期末考试笔试题库
- 2025年辽宁传媒学院马克思主义基本原理概论期末考试笔试题库
- 2024年天津医学高等专科学校马克思主义基本原理概论期末考试模拟试卷
- 智能客服系统与客户体验提升-第9篇
- 初中生零花钱消费与消费权益保护教育教学研究课题报告
- 初中历史情境教学与乡土资源开发的课题报告教学研究课题报告
- 小学科学教学中科学探究与科学实验的结合研究课题报告教学研究课题报告
- 2025年部编版二年级英语上册真题
- 现代企业股权激励实施细则
- 高频交易策略研究
- 航道工程社会稳定风险评估报告
- 力的合成与分解说课课件-高一上学期物理人教版
- 政府补偿协议书模板
- 2025年超星尔雅学习通《临床医学研究方法》考试备考题库及答案解析
- 经会阴穿刺前列腺课件
- 物业管家述职报告
- 渣土运输消纳合同范本
- 公司贷款走账合同范本
- 2025版骨髓增生异常综合征中国诊断与治疗指南(全文版)
- 操作系统原理(慕课版)-教学课件全套
- 水产品速冻能效优化-洞察与解读
评论
0/150
提交评论