- 1、本文档共44页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库系统原理及应用 丁忠俊 第三章 关系DB的标准语言SQL
第三章 关系DB的标准语言SQL 第一节SQL(Structured Query Language)基本简介 第二节 SQL的数据定义 第三节 SQL的数据查询 第四节 SQL的数据更新 第五节 嵌入式SQL的使用 第三章练习题 一.填空题 1.传统关系模型中的术语与SQL中术语存在如下对应关系,关系模式在SQL中称为______;存储模式称为______;子模式称为______。 2.视图是一个虚表,它是一个从______中导出的表。 3.SELECT语句中,______子句用于选择满足给定条件的元组,使用____子句可按指定的列的值分组,同时使用____子句提取满足条件的元组。 4.SQL语言的数据定义功能包括_____,_____,_____和_____。 5.SQL语言有两种使用方式,分别是_____方式和_____方式。 第三章练习题 二.已知DBS中包含了三个基本表GOODS(G#,GNAME,PRICE,TYPE,FACT)其中商品表中,G#:商品号,GNAME:商品名,PRICE:单价,TYPE:型号,FACT:制造商;商场基本表:SHOPS(S#,SNAME,ADDR,MANAG)。其中分别为:商场号、商场名、地址和经理名;销售基本表SALES(S#,G#,QTY)其中QTY为数量。 1.试用SQL语句完成下列查询 (1)查询所有电视机的生产厂商、型号、单价; (2)查询同时生产电视机和电冰箱的制造商; (3)查询“吉利”商场所销售的各种商品的商品号和数量; (4)查询销售量最高的商场号和所销售的商品号。 2.试用SQL对基本表做创建和更新操作 (1)创建基本表GOODS(类型、长度自定); (2)将“南华”厂的所有产品的名称、型号和单价插到一个已存在的基本表 A(GN,GTYPE,PRICE)中; (3)将总销售量低于1000的所有商品的价格降低10%。 例:从s表中定义一个有关男同学的视图 Create view S1( sno,snam,age) as select sno,sname,age from S where sex=′男′; 该视图从单基本表导出,且包含关键字sno,可以更新: 执行插入操作:INSERT INTO S1 VALUES(′20006′,′王五′,20); 例:定义视图 Create view SSG(sno, cnum, Avgg) as select sno,count(sno),Avg(grade) from sc where grade IS NOT NULL Group by sno; SSG由分组和函数操作导出,据(2)规则不能更新。 交互式SQL:用户在终端上以命令形式使用 嵌入式SQL:在高级语言源程序中嵌入SQL语句 SQL语言使用形式: 一、嵌入式SQL的使用规定 扩充宿主语言的编译程序功能,使之能处理SQL语句 采用预处理方式处理SQL语句 嵌入式SQL 两种处理 方式: 宿主语言语句+SQL语句? 预处理方式SQL语句的过程: 预备处理程序 ?宿主语言语句+函数调用? 宿主语言编译程序 ?宿主语言目标程序 SQL函数定义库 SQL与宿主语言的接口 SQL与宿主语言的接口是共享变量。 共享变量由宿主语言程序定义,再用SQL的DECLARE语句说明,随后SQL语句可引用这些变量。 SQL2规定,SQLSTATE是一个特殊的共享变量,起着解释SQL语句执行状况的作用(如报错)。 嵌入式SQL的使用规定 (1)在SQL语句前使用前缀标识“EXEC SQL”……“END-EXEC”(后缀标识)括起来,以示区别宿主语言语句。(注:END-EXEC后缀标识在C和PASCAL语言中用“;”号表示)。 (2)允许嵌入的SQL语句引用宿主语言的程序变量(称为共享变量), 但有两条规定: a、引用时,变量前必须加冒号“:”作前缀标识,以示与数据库中变量有区别。 b、这些变量由宿主语言的程序定义,并用SQL的DECLARE语句说明。 如:C语言程序中使用如下形式定义共享变量: EXEC SQL BEGIN DECLARE SECTION; Char Sno[5],name[9]; Char SQLSTATE[6]; EXEC SQL END DECLARE SECTION; (
文档评论(0)