欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    sql数据库第六章SQLServer数据表管理2课件.ppt

    • 资源ID:1288865       资源大小:860.32KB        全文页数:43页
    • 资源格式: PPT        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    sql数据库第六章SQLServer数据表管理2课件.ppt

    SQL Server 数据库程序设计,授课教师:姜 姗,SQL Server 数据库程序设计授课教师:姜 姗,数据库中的数据现实世界的反映,数据库的设计必须能够满足现实情况的实现,即满足现实商业规则的要求,这也就是数据完整性的要求。在数据库管理系统中,约束是保证数据库中的数据完整性的重要方法。,6.3完整性与约束,数据库中的数据现实世界的反映,数据库的设计必须能够满足现实情,2FOREIGN KEY约束外键(FOREIGN KEY)用于建立和加强两个表(主表与从表)的一列或多列数据之间的链接,当数据添加、修改或删除时,通过外键约束保证两个表之间数据的一致性。定义表之间的参照完整性是先定义主表的主键,再对从表定义外键约束。FOREIGN KEY约束要求列中的每个值在所引用的表中对应的被引用列中都存在,同时FOREIGN KEY约束只能引用在所引用的表中是PRIMARY KEY或UNIQUE约束的列,或所引用的表中在UNIQUE INDEX内的被引用列。,2FOREIGN KEY约束外键(FOREIGN KEY,使用表设计器创建FOREIGN KEY约束,打开需要建立外键的表设计器,在需要设置外键的列上单击鼠标右键选择【关系】命令。,使用表设计器创建FOREIGN KEY约束打开需要建立外键的,打开【外键关系】对话框,单击表和列规范后面的按钮,设置外键关系。,打开【外键关系】对话框,单击表和列规范后面的按钮,设置外键,使用数据库关系图建立外键,使用数据库关系图建立外键,使用T-SQL语句创建FOREIGN KEY约束,创建外键约束的语法形式如下: CONSTRAINT constraint_name FOREIGN KEY REFERENCES referenced_table_name (column_name) (, n ) 参数说明如下:referenced_table_name是FOREIGN KEY约束引用的表的名称。 column_name是FOREIGN KEY约束所引用的表中的某列。,使用T-SQL语句创建FOREIGN KEY约束创建外键约束,【例6】:建立一个新的stu_info表,指定“学号”为主键,“班级编号”为外键,与class表中的“班级编号”列关联。,Create table stu_info(学号 char(10) NOT NULL, 姓名 char(8) NOT NULL, 出生年月 datetime NULL, 性别 char(2) NOT NULL, 地址 char(20), 班级编号 char(4)Constraint PK_学号 primary key(学号),Constraint FK_班级编号 foreign key(班级编号)References class (班级编号)),也可写成Create table stu_info(学号 char(10) NOT NULL PRIMARY KEY, 姓名 char(8) NOT NULL, 出生年月 datetime NULL, 性别 char(2) NOT NULL, 地址 char(20), 班级编号 char(4) references class)注:此法只能用于列名相同时使用,【例6】:建立一个新的stu_info表,指定“学号”为主键,【例7】:在stu_info表中sclass列上添加一个外键,名称为FK_bno,与class表中的bno列关联。,Alter table stu_infoAdd constraint FK_bnoForeign key(sclass) references class(bno),【例7】:在stu_info表中sclass列上添加一个外键,3UNIQUE约束UNIQUE约束用于确保表中某个列或某些列(非主键列)没有相同的列值。与PRIMARY KEY约束类似,UNIQUE约束也强制唯一性,但UNIQUE约束用于非主键的一列或多列组合,而且一个表中可以定义多个UNIQUE约束,另外UNIQUE约束可以用于定义允许空值的列。例如在课程表(course_info)中已经定义“课程号”作为主键,而现在对于“课程名”也不允许出现重复,就可以通过设置“课程名”为UNIQUE约束来确保其唯一性。,3UNIQUE约束UNIQUE约束用于确保表中某个列或某,使用表设计器创建UNIQUE约束,在表设计器需要加入UNIQUE约束的列上单击鼠标右键选择【索引/键】选项。,使用表设计器创建UNIQUE约束在表设计器需要加入UNIQU,使用T-SQL语句创建UNIQUE约束,创建唯一性约束的语法形式如下: CONSTRAINT constraint_name UNIQUE CLUSTERED | NONCLUSTERED 其中,CLUSTERED | NONCLUSTERED表示所创建的UNIQUE约束是聚集索引还是非聚集索引,默认为NONCLUSTERED非聚集索引。,使用T-SQL语句创建UNIQUE约束创建唯一性约束的语法形,【例8】:将course表中cname列设置成为唯一列。,Alter table courseAdd constraint ix_courseunique (cname),【例8】:将course表中cname列设置成为唯一列。Al,4CHECK约束CHECK约束用于限制输入到一列或多列的值的范围,从逻辑表达式判断数据的有效性,也就是一个列的输入内容必须满足CHECK约束的条件,否则,数据无法正常输入,从而强制数据的域完整性。例如在学生成绩表(stu_grade)中的“成绩”来讲,应该保证在0 100之间,又如在课程信息表(course_info)中的“学时”来讲,应该保证在0 80之间,而只用int数据类型是无法实现的,可以通过CHECK约束来完成。,4CHECK约束CHECK约束用于限制输入到一列或多列的,使用表设计器创建CHECK约束,使用表设计器创建CHECK约束,使用T-SQL语句创建CHECK约束,创建检查约束的语法形式如下: CONSTRAINT constraint_name CHECK ( check_expression )其中,check_expression 为约束范围表达式。,使用T-SQL语句创建CHECK约束创建检查约束的语法形式如,【例8】:新建“成绩”表,要求成绩的值在0100之间,Create table 成绩( 编号 char(10) NOT NULL, 课程编号 char(4)references 课程表, 学号 char(10)references 学生信息, 姓名 char(8) NOT NULL,成绩 int Constraint PK_学号 primary key(编号),Constraint CK_成绩 CHECK(成绩 between 0 and 100)),成绩 int CHECK(成绩 between 0 and 100),【例8】:新建“成绩”表,要求成绩的值在0100之间Cre,5DEFAULT约束若将表中某列定义了DEFAULT约束后,用户在插入新的数据行时,如果没有为该列指定数据,那么系统将默认值赋给该列,当然该默认值也可以是空值(NULL)。例如,假设学生信息表(stu_info)中的同学绝大多数都来自于“信息学院”,就可以通过设置“系别”字段的DEFALUT约束来实现,简化用户的输入。,5DEFAULT约束若将表中某列定义了DEFAULT约束,使用表设计器创建DEFAULT约束,在表设计器中,选择需要设置DEFAULT值的列,在下面“列属性”的“默认值或绑定”栏中输入默认值,然后单击工具栏中的“保存”按钮,即完成DEFAULT约束的创建。,使用表设计器创建DEFAULT约束在表设计器中,选择需要设置,使用T-SQL语句创建DEFAULT约束,创建默认值约束的语法形式如下: CONSTRAINT constraint_name DEFAULT constraint_expression with VALUES其中,constraint _expression 为默认值。,使用T-SQL语句创建DEFAULT约束创建默认值约束的语法,【例9】将表student的电话号码增加默认值0371-00000000.,alter table studentadd default 0371-00000000 for 电话号码,【例9】将表student的电话号码增加默认值0371-0,启用、禁用约束,启用、禁用约束的语法格式如下:CHECKINOCHECKCONSTRAINTALL|constraint_name,n此语句只能与外键和CHECK约束一起使用,无法禁用DEFAULT、PRIMARY和UNIQUE约束。,启用、禁用约束启用、禁用约束的语法格式如下:,【例10】禁用表student中的CK_ssex约束。ALTER TABLE studentNOCHECK CONSTRAINT CK_ssex,若要禁用所有约束则NOCHECK CONSTRAINT ALL,【例10】禁用表student中的CK_ssex约束。若要禁,【例11】启用表student中的CK_ssex约束。ALTER TABLE studentCHECK CONSTRAINT CK_ssex,【例11】启用表student中的CK_ssex约束。,删除约束,删除约束的语法形式如下:DROPCONSTRAINTconstraint_name|COLUMN column_name【例12】将表student的CK_ssex约束删除,Alter table student drop CK_ssex,删除约束删除约束的语法形式如下:Alter table st,创建表的目在于利用表进行数据的存储和管理。对数据进行管理的前提是数据的存储,向表中添加数据,没有数据的表是没有任何实际意义的;添加完成后,用户也可以根据自己的需要对表中数据进行修改和删除。在SQL Server 2008中,对于数据的管理包括插入、修改和删除,通过Management Studio来操作,也可以利用SQL语句来实现。,6.5管理数据表,创建表的目在于利用表进行数据的存储和管理。对数据进行管理的前,1利用对象资源管理器插入表数据(1)启动SQL Server Management Studio。(2)展开SQL Server实例,选择“表” ,单击鼠标右键,然后从弹出的快捷菜单中选择“编辑前200行”命令。(3)在表窗口中,显示出当前表中数据,单击表格中最后一行,填写相应数据信息。,界面方式插入数据表,1利用对象资源管理器插入表数据(1)启动SQL Serv,sql数据库第六章SQLServer数据表管理2课件,插入一个元组基本格式INSERT INTO (,) VALUES(,)参数说明:Table_name:表名Column_name:列名Expression: 对应字段的值或表达式,字符和日期型需要加单引号。,命令方式插入数据表,插入一个元组基本格式命令方式插入数据表,若数据表结构为student(sno,sname,ssex,sage)插入一个完整的元组 INSERT INTO Student VALUES(200215121,李勇,男,20) 插入一个不完整的元组 INSERT INTO Student(Sno,Sname)VALUES(200215122,刘晨),若数据表结构为student(sno,sname,ssex,新插入记录应与表结构定义匹配;列名项数与提供值的数目应匹配;可以指定列值为Null ;INTO子句中没有出现的属性列,新记录在这些列上将取空值(Null)或默认值;如果INTO子句中没有指明任何列名,则新插人的记录必须在每个属性列上均有值,且顺序应与表中属性列顺序一致。,插入数据表注意事项,新插入记录应与表结构定义匹配;插入数据表注意事项,向Student表中插入一条记录(200501,李勇),练习,向Student表中插入一条记录(200501,李勇,1利用对象资源管理器修改表数据利用对象资源管理器修改表数据,与插入表数据操作类似。,修改数据表,1利用对象资源管理器修改表数据利用对象资源管理器修改表数,基本格式Update table_nameSet = , = FROM where 说明:一次可以更新多个属性的值;更新的条件可以与其他的表相关(使用FROM指定); 如果省略where语句,则表示要修改表中的所有记录。,命令方式修改数据表,基本格式命令方式修改数据表,三种修改方式1. 修改某一个元组的值2. 修改多个元组的值3. 带子查询的修改语句在修改之前建议先查看表记录(Select * from table),三种修改方式,查看数据表Student所有记录SELECT * FROM Student查看数据表Student中字段学号、姓名的所有记录SELECT Sno,Sname FROM Student,查看数据表Student所有记录,给学号为200215122的学生年龄增加1岁 UPDATE Student SET Sage = Sage+1 WHERE Sno=200215122给CS系的男同学年龄增加1岁UPDATE Student SET Sage = Sage+1 WHERE Sdept=CS and Ssex=男,给学号为200215122的学生年龄增加1岁,给所有课程的学分提高1分UPDATE Course SET Ccredit = Ccredit +1将学号为200515121同学的姓名,性别,年龄分别设置为(张三,男,20)UPDATE Student SET 姓名=张三,性别=男,年龄=20WHERE Sno=200515121,给所有课程的学分提高1分,给CS系的学生的选课成绩增加10分UPDATE SC SET Grade= Grade+10WHERE Sno= (SELECT Sno FROM StudentWHERE Student.Sdept =CS),给CS系的学生的选课成绩增加10分,1.将数据表student中学号为200215121的记录的性别及所在系的字段值改为(女,IS);2.将数据表SC中所有记录的成绩的字段值增加10;3.将数据表Student中姓名中姓“王”的记录年龄增加1;4.将表SC中选修课程号为1的记录的成绩字段值增加10 ,其他记录的成绩字段值增加5;,练习,1.将数据表student中学号为200215121的记录的,1利用对象资源管理器删除表数据在需要删除的记录前点击鼠标右键选择【删除】,删除数据库,1利用对象资源管理器删除表数据在需要删除的记录前点击鼠标,基本格式Delete from table_namewhere DELETE命令从指定的表中删除满足“逻辑表达式”条件的元组;如果没有指定删除条件则删除表中的全部元组,所以在使用该命令时要格外小心; DELETE命令只删除元组,它不删除表或表结构。,命令方式删除数据表,基本格式命令方式删除数据表,1.将数据表Student中学号为2005001的记录删除;2.将数据表Student中性别不为“女”的记录删除;3.将数据表Student 中院系为null的记录删除;4.将数据表Student 中CS系年龄小于20的男同学的记录删除;,练习,1.将数据表Student中学号为2005001的记录删除;,

    注意事项

    本文(sql数据库第六章SQLServer数据表管理2课件.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开