(4.9.1)-4.9项目实践:操作数据完整性_第1页
(4.9.1)-4.9项目实践:操作数据完整性_第2页
(4.9.1)-4.9项目实践:操作数据完整性_第3页
(4.9.1)-4.9项目实践:操作数据完整性_第4页
(4.9.1)-4.9项目实践:操作数据完整性_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

操作数据完整性本节课内容包括1、给现有的表创建组合主键。2、给现有的表创建惟一性约束。3、创建外键约束。4、给现有的表创建外键约束。操作数据完整性一、给现有的表创建组合主键1、语句格式

ALTERTABLEtable_name ADDCONSTRAINTconstraint_namePRIMARYKEY(column[,…n])}2、用altertable语句创建组合主键的实践【任务1】给现有表t_student中的student_no、student_name字段设置组合主键约束1)任务分析:根据语法规范,要对现有表t_student设置组合主键,可以用ALTERTABLE给现有的t_student表追加PRIMARYKEY主键约束,并指明涉及的多个字段。2)任务实践:打开“新建查询”窗口,输入以下代码:ALTERTABLEt_studentADDCONSTRAINTPK_no_namePRIMARYKEY(student_no,student_name)操作数据完整性二、给现有的表创建惟一性约束1、语句格式ALTERTABLEtable_nameADDCONSTRAINTconstraint_nameUNIQUE(column[,…n])}2、用altertable语句创建组合惟一性约束的实践应用【任务2】给现有表t_student中的student_no字段设置惟一性约束

1)任务分析:根据语法规范,要对现有表t_student设置惟一性约束,可以用ALTERTABLE给现有的t_student表追加UNIQUE约束,并指明涉及的字段。

2)任务实践:打开“新建查询”窗口,输入以下代码:ALTERTABLEt_studentADDCONSTRAINTPK_student_noUNIQUE(student_no)操作数据完整性三、在创建表的时候创建外键约束1、在创建表的时候创建外键约束的格式

[CONSTRAINTconstraint_name] FOREIGNKEY[column_name,...n]Referentces

ref_table(ref_column[,...n])在这个语法格式中,constraint_name为约束名,column_name为字段名,ref_table为引用表,ref_column为引用表中的具有主键或惟一性属性的字段。若外键由一个字段组成,则该字段名可以省略,可将FOREIGNKEY子句跟在该字段定义的后面;若外键由多个字段组合而成,则该字段名列表不能省略,应将FOREIGNKEY子句放在所有字段定义的后面。操作数据完整性三、在创建表的时候创建外键约束【任务3】用SQL语句给两个表创建外键约束1)任务分析

(1)在hzqms学生评教数据库中创建一个主键表,名称为“t_major”,设置major_id字段为主键。

(2)在hzqms学生评教数据库中创建一个外键表,名称为“t_class”,并设置major_id字段为外键。2)任务实施:打开SQLServer管理工具的窗口,在左侧的对象资源管理器中展开hzqms数据库,展开表文件夹,查看是否存在t_major表和t_class表,若存在,就删除它们。然后打开“新建查询”窗口,输入以下代码:操作数据完整性三、在创建表的时候创建外键约束--主键表t_major和外键表t_class

USEhzqms

GoCREATETABLEt_major--创建t_major主键表(major_idintNOTNULLPRIMARYKEY,

major_novarchar(50)NOTNULL,

major_namevarchar(50)NOTNULL,

department_id intNOTNULL,)GOCREATETABLEt_class--创建t_class外键表(class_id intNOTNULL,

class_no varchar(50)NOTNULL,

class_name varchar(50)NOTNULL,

stu_number intNOTNULL,

major_id intNOTNULL,CONSTRAINTFK_SFOREIGNKEYREFERENCESt_major(major_id),)操作数据完整性三、在创建表的时候创建外键约束重要提示:1、如果想删除t_major和t_class表,大家想想,删除t_major和t_class这两个表,有先后顺序吗?如果我们先删除t_major表,系统提示不删除,因为它有外键约束。应该先删除t_class表,即外键表。所以,如果想删除有外键约束的两个表,应该先删除外键表。2、若最后一个字段的定义“major_id intNOTNULL,”和“CONSTRAINTFK_SFOREIGNKEYREFERENCESt_major(major_id),”后面加上逗号,则系统提示以下错误:消息8139,级别16,状态0,第8行表't_class'的外键中引用列的数目与被引用列的数目不等。去掉两个逗号,错误解决。操作数据完整性四、给现有的表创建外键约束。1、语法格式Altertable外键表ADDconstraint外键名FOREIGNKEY(外键表的字段)references主键表(主键表的字段)其中,外键表的字段和主键表的字段是外键约束的公共字段操作数据完整性四、给现有的表创建外键约束。2、任务实践【任务4】用ALTERtable语句给现有的t_major专业表和t_class班级表创建外键约束1)任务分析(1)在t_major专业表中设置major_id字段为主键,t_major专业表是主表。(2)在t_class班级表中设置major_id字段为外键,t_class表是从表。2)任务实践:打开“新建查询”窗口,输入以下代码:--主键表t_major和外键表t_classAltertablet_classADDconstraintFK_t_class2FOREIGNKEY(major_id)ref

温馨提示

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

评论

0/150

提交评论