SQL的语句及习题_第1页
SQL的语句及习题_第2页
SQL的语句及习题_第3页
SQL的语句及习题_第4页
SQL的语句及习题_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

设某商业集团关于商店销售商品的数据库中有三个基本表: 商店 SHOP(S#,SNAME,AREA,MGR_NAME) 其属性是商店编号,商店名称,区域名,经理姓名。 销售 SALE(S#,G#,QUANTITY)其属性是商店编号,商品编号,销售数量。 商品 GOODS(G#,GNAME,PRICE) 其属性是商品编号,商品名称,单价。36.试写出下列查询的关系代数表达式、元组表达式和关系逻辑规则: 检索销售“冰箱”的商店的编号和商店名称。37.试写出上面第36题的SELECT语句表达形式。并写出该查询的图示形式。38.试写出下列操作的SQL语句: 从SALE表中,把“开开商店”中销售单价高于1000元的商品的销售元组全部删除。39.写一个断言,要求区域名为“EAST”的商店里销售商品的单价不能低于100元。40.试写出下列操作的SQL语句: 统计区域名为“EAST”的所有商店销售的每一种商品的总数量和总价值。 要求显示(G#,GNAME,SUM_QUANTITY,SUM_VALUE),其属性为商品编号、商品名称、销售数量、销售价值。37.解:SELECT语句如下: SELECTA.S#,SNAME FROMSHOPA,SALEB,GOODSCWHEREA.S#=B.S#ANDB.G#=C.G#ANDGNAME='冰箱'; 该查询语句的图示形式如下: SHOPS#SNAMEAREAMGR_NAMEP._XP.SALES#G#QUANTITYGOODSG#GNAMEPRICE_X_Y_Y冰箱38.解:DELETEFROMSALE WHERES#IN(SELECTS# FROMSHOP WHERESNAME='开开商店') ANDG#IN(SELECTG#FROMGOODS WHEREPRICE>1000);39.解:CREATEASSERTIONASSE8CHECK (100<=ALL(SELECTPRICE FROMSHOPA,SALEB,GOODSC WHEREA.S#=B.S#ANDB.G#=C.G#ANDAREA='EAST')); 或CREATEASSERTIONASSE8CHECK (NOTEXISTS(SELECT* FROMSHOPA,SALEB,GOODSC WHEREA.S#=B.S#ANDB.G#=C.G#ANDAREA='EAST'ANDPRICE<100));40.解:SELECTC.G#,GNAME,SUM(QUANTITY)ASSUM_QUANTITY,PRICE*SUM(QUANTITY)ASSUM_VALUE FROMSHOPA,SALEB,GOODSC WHEREA.S#=B.S#ANDB.G#=C.G#ANDAREA='EAST' GROUPBYC.G#,GNAME; (注:SELECT子句中的属性C.G#,GNAME应在分组子句中出现)36.设数据库中有两个基本表:职工表EMP(E#,ENAME,AGE,SALARY,D#),其属性分别表示职工工号、姓名、年龄、工资和工作部门的编号。部门表DEPT(D#,DNAME,MGR#),其属性分别表示部门编号、部门名称和部门经理的职工工号。试指出每个表的主键和外键。并写出每个表创建语句中的外键子句。在第36题的两个基本表中,写出下列查询的关系代数表达式和SQL语句:检索每个部门经理的工资,要求显示其部门编号、部门名称、经理工号、经理姓名和经理工资。36.答:EMP表的主键为E#,外键为D#。 DEPT表的主键为D#,外键为MGR# 在EMP表的创建语句中,可写一个外键子句: FOREIGNKEYD#REFERENCESDEPT(D#); 在DEPT表的创建语句中,可写一个外键子句: FOREIGNKEYMGR#REFERENCESEMP(E#);MGR#=E#37.答:关系表达式为:πDEPT.D#,DNAME,MGR#,ENAME,SALARY(DEPT⋈EMP)MGR#=E# SELECT语句为: SELECTDEPT.D#,DNAME,MGR#,ENAME,SALARY FROMDEPT,EMP WHEREMGR#=E#;31.设某商业集团为仓库存储商品设计了三个基本表: 仓库 STORE(S#,SNAME,SADDR),其属性是仓库编号、仓库名称和地址。 存储 SG(S#,G#,QUANTITY),其属性是仓库编号、商品编号和数量。 商品 GOODS(G#,GNAME,PRICE), 其属性是商品编号、商品名称和单价 现检索仓库名称为“莘庄”的仓库里存储的商品的编号和名称。试写出相应的关系代数表达式、元组表达式、关系逻辑规则和SELECT语句。32.在第31题的基本表中,检索存储全部种类商品的仓库的编号及名称。试写出相应的关系代数表达式、元组表达式、关系逻辑规则和SELECT语句。33.在第31题的基本表中,检索每个仓库存储商品的总价值。试写出相应的SELECT语句。要求显示(S#,SUM_VALUE),其属性为仓库编号及该库存储商品的总价值。34.在第31题的基本表中,写一个断言,规定每个仓库存储商品的单价为1万元以上的商品种类最多为20种。31.解:关系代数表达式为:πG#,GNAME(σSNAME='莘庄'(STORE⋈SG⋈GOODS)) 元组表达式为:{t|(u)(v)(w)(GOODS(u)∧SG(v)∧STORE(w)∧u[1]=v[2]∧v[1]=w[1]∧w[2]='莘庄'∧t[1]=u[1]∧t[2]=u[2])}关系逻辑规则如下:W(x,y)GOODS(x,y,a)∧SG(b,x,c)∧STORE(b,'莘庄',d)SELECT语句为:SELECTA.G#,GNAMEFROMGOODSASA,SGASB,STOREASCWHEREA.G#=B.G#ANDB.S#=C.S#ANDSNAME='莘庄';32.解:关系代数表达式为: πS#,SNAME(STORE⋈(πS#,G#(SG)÷πG#(GOODS))) 元组表达式为:{t|(u)(v)(w)(STORE(u)∧GOODS(v)∧SG(w)∧w[1]=u[1]∧w[2]=v[1]∧t[1]=u[1]∧t[2]=u[2])}关系逻辑规则如下:W(x,y)←STORE(x,y,a)∧┐GOODS(b,c,d)∧┐SG(x,b,e)SELECT语句为:SELECTS#,SNAMEFROMSTOREWHERENOTEXISTS(SELECT*FROMGOODSWHERENOTEXISTS(SELECT*FROMSGWHERESG.S#=STORE.S#ANDSG.G#=GOODS.G#));33.解:SELECT语句为: SELECTS#,SUM(QUANTITY*PRICE)ASSUM_VALUE FROMSG,GOODS WHERESG.G#=GOODS.G# GROUPBYS#;34.解:CREATEASSERTIONASSE6CHECK (20>=ALL(SELECTCOUNT(SG.G#)FROMSG,GOODSWHERESG.G#=GOODS.G#ANDPRICE>10000GROUPBYS#));现有关系数据库如下:部门(部门编号,部门名称,)员工(员工编号,姓名,性别,部门编号,职务)项目(项目编号,项目名称,预算)施工(员工编号,项目编号,工时)用关系代数表达式实现下列1—2小题:1.检索“王小毛”的员工的部门编号和职务;2.检索工时超过100小时的项目名称和员工的姓名;用SQL语言实现下列3—7小题:3.查询每个员工的姓名,并按职称降序排列;4.查询总工时在480小时以上(含480小时)的员工编号和总工时;5.检索职称为“高级工程师”,同时至少参加了一预算在100万以上的项目的员工的姓名和部门名称;6.定义一个工作量视图,包含的属性有员工编号、姓名、项目名称和工时。7.对项目名称为“高教新区项目”的施工工时增加50小时;1.π部门编号,职务(σ姓名=‘王小毛’(员工))2.π项目名称,姓名(σ工时)100(施工)项目员工))3.SELECT姓名FROM员工ORDERBY职称DESC4.SELECT员工编号,SUM(工时)FROM施工GROUPBY员工编号HAVINGSUM(工时)>=4805.SELECT姓名,部门名称FROM员工,部门,项目,施工WHERE部门.部门编号=员工.部门编号AND员工.员工编号=施工.员工编号AND施工.项目编号=项目.项目编号AND职称=‘高级工程师’AND预算>10000006.CREATEVIEW工作量(员工编号,姓名,项目名称,工时) ASSELECT员工.员工编号,姓名,项目名称,工时 FROM员工,项目,施工WHERE员工.员工编号=施工.员工编号AND施工.项目编号=项目.项目编号7.UPDATE施工SET工时=工时+50WHERE项目编号IN(SELECT项目编号FROM项目WHERE项目名称=‘高教新区项目’)37.图书出版管理数据库中有两个基本表:图书(书号,书名,作者编号,出版社,出版日期)作者(作者编号,作者名,年龄,地址)试用SQL语句写出下列查询:检索年龄低于作者平均年龄的所有作者的作者名、书名和出版社。39.学校有多名学生,财务处每年要收一次学费。为财务处收学费工作设计一个数据库,包括两个关系:学生(学号,姓名,专业,入学日期)收费(学年,学号,学费,书费,总金额)假设规定属性的类型:学费、书费、总金额为数值型数据;学号、姓名、学年、专业为字符型数据;入学日期为日期型数据。列的宽度自定义。试用SQL语句定义上述表的结构。(定义中应包括主键子句和外键子句)37.SELECT作者名,书名,出版社FROM图书,作者WHERE图书.作者编号=作者.作者编号AND年龄<=(SELECTAVG(年龄)FROM作者);39.CREATETABLE学生(学号CHAR(8),姓名CHAR(8),专业CHAR(13),入学日期DATE,PRIMARYKEY(学号));CREATETABLE收费(学年CHAR(10),学号CHAR(8),学费NUMERIC(4),书费NUMERIC(5,2),总金额NUMERIC(7,2),PRIMARYKEY(学年,学号),FOREIGNKEY(学号)REFERENCES学生(学号));现有关系数据库如下:学生(学号,姓名,性别,专业,奖学金)课程(课程号,名称,学分)学习(学号,课程号,分数)5.检索不学课程号为“C135”课程的学生信息,包括学号,姓名和专业;6.检索至少学过课程号为“C135”和“C219”的学生信息,包括学号、姓名和专业;7.从学生表中删除成绩出现过0分的所有学生信息;8.定义“英语”专业学生所学课程的信息视图AAA,包括学号、姓名、课程号和分数。5.SELECT学号,姓名,专业FROM学生WHERE学号NOTIN(SELECT学号FROM学习WHERE课程号='C135')SELECT学号,姓名,专业FROM学生WHERE学号IN(SELECTX.学号FROM学习

X,学习YWHEREX.学号=Y.学号ANDX.课程号='C135'ANDY.课程号=’C219’)7.DELETEFROM学生WHERE学号IN(SELECT学号FROM学习WHERE分数=0)8.CREATEVIEWAAA(学号,姓名,课程号,分数)ASSELECT学号,姓名,课程号,分数FROM学生,学习WHERE学生.学号=学习.学号AND专业=’英语’用SQL的有关语句定义学生关系Student,包括学号Sno、姓名SN、年龄SA;课程关系Course,包括课程号Cno、课程名CN、任课教师CT;学生选课关系,包括Sno、Cno和成绩G。注意:说明主键码和外键码(如果有的话),并在键码属性上建立索引。 (12分)按题1的学生关系模式,用SQL的有关语句授予赵华对学生关系Student的插入和修改权限;插入任意3个学生的完整信息;修改所有学生的年龄(加1)。(12分)结合题1定义的学生选课数据库,用SQL语句查询计算机系学生数据库课的成绩,输出学生姓名和成绩,按成绩排序(降序),若成绩相同,再按学号排序(升序)。(6分)1.1) CREATETABLEStudent( SnoINTPRIMARYKEY, SNCHAR(30), SAINT); 2) CREATETABELCourse( CnoINTPRIMARYKEY, CNCHAR(30), CTCHAR(30)); 3) CREATETABELSC( SnoINT, CnoINT, GINT, PRIMAYRKEY(Sno,Cno), FOREIGNKEY(Sno)REFERENCESStudent(Sno), FOREIGNKEY(Cno)REFERENCESCourse(Cno));2. 1) GRANTINSERT,UPDATE,ONStudentTO赵华;2) INSERTINTOStudent (TABLE (01001,’赵华’,19), (01002,’李芳’,18), (01003,’刘红’,20), ); 3) UPDATEStudentSETSA=SA+1;3. SELECTSN,GFROMStudent,Course,SC WHEREStudent.Sno=SC.SnoANDCourse.Cno=SC.Cno ANDCourse.CN=’数据库’ORDERBYGDESC,Sno;

论大学生写作能力写作能力是对自己所积累的信息进行选择、提取、加工、改造并将之形成为书面文字的能力。积累是写作的基础,积累越厚实,写作就越有基础,文章就能根深叶茂开奇葩。没有积累,胸无点墨,怎么也不会写出作文来的。写作能力是每个大学生必须具备的能力。从目前高校整体情况上看,大学生的写作能力较为欠缺。一、大学生应用文写作能力的定义那么,大学生的写作能力究竟是指什么呢?叶圣陶先生曾经说过,“大学毕业生不一定能写小说诗歌,但是一定要写工作和生活中实用的文章,而且非写得既通顺又扎实不可。”对于大学生的写作能力应包含什么,可能有多种理解,但从叶圣陶先生的谈话中,我认为:大学生写作能力应包括应用写作能力和文学写作能力,而前者是必须的,后者是“不一定”要具备,能具备则更好。众所周知,对于大学生来说,是要写毕业论文的,我认为写作论文的能力可以包含在应用写作能力之中。大学生写作能力的体现,也往往是在撰写毕业论文中集中体现出来的。本科毕业论文无论是对于学生个人还是对于院系和学校来说,都是十分重要的。如何提高本科毕业论文的质量和水平,就成为教育行政部门和高校都很重视的一个重要课题。如何提高大学生的写作能力的问题必须得到社会的广泛关注,并且提出对策去实施解决。二、造成大学生应用文写作困境的原因:(一)大学写作课开设结构不合理。就目前中国多数高校的学科设置来看,除了中文专业会系统开设写作的系列课程外,其他专业的学生都只开设了普及性的《大学语文》课。学生写作能力的提高是一项艰巨复杂的任务,而我们的课程设置仅把这一任务交给了大学语文教师,可大学语文教师既要在有限课时时间内普及相关经典名著知识,又要适度提高学生的鉴赏能力,且要教会学生写作规律并提高写作能力,任务之重实难完成。(二)对实用写作的普遍性不重视。“大学语文”教育已经被严重地“边缘化”。目前对中国语文的态度淡漠,而是呈现出全民学英语的大好势头。中小学如此,大学更是如此。对我们的母语中国语文,在大学反而被漠视,没有相关的课程的设置,没有系统的学习实践训练。这其实是国人的一种偏见。应用写作有它自身的规律和方法。一个人学问很大,会写小说、诗歌、戏剧等,但如果不晓得应用文写作的特点和方法,他就写不好应用文。(三)部分大学生学习态度不端正。很多非中文专业的大学生对写作的学习和训练都只是集中在《大学语文》这一门课上,大部分学生只愿意被动地接受大学语文老师所讲授的文学经典故事,而对于需要学生动手动脑去写的作文,却是尽可能应付差事,这样势必不能让大学生的写作水平有所提高。(四)教师的实践性教学不强。学生写作能力的提高是一项艰巨复杂的任务,但在教学中有不少教师过多注重理论知识,实践性教学环节却往往被忽视。理论讲了一大堆,但是实践却几乎没有,训练也少得可怜。阅读与写作都需要很强的实践操作,学习理论固然必不可少,但是阅读方法和写作技巧的掌握才是最重要的。由于以上的原因,我们的大学生的写作水平着实令人堪忧,那么如何走出这一困境,笔者提出一些建议,希望能对大学生写作水平的提高有所帮助。三、提高大学生应用写作能力的对策(一)把《应用写作》课设置为大学生的必修课。在中国的每一所大学,《应用写作》应该成为大学生的必修课。因为在这个被某些人形容为实用主义、功利主义甚嚣尘上的时代,也是个人生存竞争最激烈的时代,人们比任何时代都更需要学会写作实用性的文章,比如职场竞争中的求职信,生活中的财经文书、法律文书等,以提高个人的生存竞争能力。(二)端正大学生的学习态度。首先,要让大学生充分认识到实用写作课的重要性,这门课关乎到他人生的每一个方面,诸如就职,求爱,理财,人际交往等,是他终生都需要使用的一些基

温馨提示

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

最新文档

评论

0/150

提交评论