第三章-数据库系统原理与设计合编.ppt

  1. 1、本文档共156页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3.3.6 用户视图对数据库设计和系统性能带来的影响 (2)实现了数据库的逻辑数据独立性 由于不同的用户具有不同用户视图,这样就使一个用户视图的变化不会影响另一些用户视图。当数据库的逻辑结构(概念模型)或存储结构(存储模型)发生变化时,并且这些变化与某一或某些用户的视图无关时,就不必改变该用户的应用程序;当这些变化与某一或某些用户的视图有关时,可通过改变基本表到用户视图之间的映射关系,也即通过重新定义用户视图而使用户视图保持不变或稍有变化,从而不必修改应用程序或少量修改应用程序。这样就实现了数据库的逻辑数据独立性。 3.3.6 用户视图对数据库设计和系统性能带来的影响 (3)可起到了对数据库中数据进行安全保护的作用 由于不同用户具有不同的用户视图,这样就使得在各个用户视图中只出现他自己关心的那部分数据,其它数据对他来说是不能使用的。而且系统给用户使用的是视图而不是在数据库中存储有数据的表。这样就起到了对数据库中数据进行安全保护的作用。 3.4.1 数据插入操作(数据的导入) 把从某个或某些表中查询出的数据插入到另一个表中去。语句格式为: INSERT INTO 表名 [(列名表)]) 子查询; 其中,子查询是一个合法的SELECT查询语句 。 例3.51 设在教学管理数据库系统中,要建立某些临时表来辅助有关管理过程。若其中有一个临时表用于暂存选修了“信息安全技术”课程的学生的学号、姓名、专业名称和班级,表的其格式为: S_C(S#,SNAME,SSNAME,CLASS) 例3.51(续)则将从有关表中查询出的有关数据组成的记录插入该表的插入语句为: INSERT INTO S_C(S#,SNAME,SSNAME,CLASS) SELECT S.S#,SNAME,SSNAME,CLASS FROM S,SS WHERE SS.SCODE# = S.SCODE AND S# IN (SELECT S# FROM SC WHERE C# IN (SELECT C# FROM C WHERE CNAME =‘信息安全技术’)); 例3.52 设在教学管理数据库系统中,有一个临时表用于暂存平均成绩大于等于80分的女同学的学号和平均成绩。临时表的格式为: S_AVG(S#,AVG_GRADE) 则将从有关表中查询出的有关数据组成的记录插入该表的插入语句为: INSERT INTO S_AVG(S#,AVG_GRAGE) SELECT S#,AVG(GRADE) FROM SC WHERE S# IN (SELECT S# FROM S WHERE SSEX =‘女’) GROUP BY S# HAVING AVG(GRADE) = 80; 3.4.2 数据更新操作 用子查询表示条件的数据更新操作。语句格式为: UPDATE 表名 SET 列名1=表达式1[,列名2=表达式2,…, 列名n=表达式n] WHERE 条件 ; 其中,WHERE条件中包含有SELECT查询子句 。 例3.53 为了加强对高水平尖子人才的重点培养,学校拟将计算机应用技术专业(专业代码为:S0401)中,各门课程均在85分以上的学生单独编为200400班,所以需要修改学生基本情况数据库中的“班级”属性。其实现语句为: UPDATE S SET CLASS =‘200400’ WHERE SCODE =‘S0401’AND S# IN (SELECT S# FROM SC WHERE GRADE 85); 例3.54 由于试题难度原因,需要将“计算机网络”课的成绩提高5%。其实现语句为: UPDATE SC SET GRADE = GRADE * 1.05 WHERE C# IN (SELECT C#

文档评论(0)

1112111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档