数据库实验一参考答案_第1页
数据库实验一参考答案_第2页
数据库实验一参考答案_第3页
数据库实验一参考答案_第4页
数据库实验一参考答案_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

实验报告〔200/200学年第二学期〕课程名称数据库系统A实验名称SQL语言实验时间年月日指导单位计算机学院软件工程系指导教师张少娴学生姓名班级学号学院(系)计算机学院专业实验报告实验名称SQL语言指导教师张少娴实验类型上机实验学时3实验时间实验目的和要求(1)通过上机实践,熟悉Oracle的SQL*Plus实验环境及使用方法。(2)掌握SQL语言,能熟练运用SQL语言进行数据定义和数据操纵。二、实验环境(实验设备)硬件:微机软件:ORACLE8i或9i三、实验原理及内容1.了解并掌握SQL*Plus环境的使用2.用SQLDDL创立基表,要求定义列完整性、实体完整性、引用完整性建立简单的图书管理数据库的三个基表(下划线处为主键斜体处为两个外键):(1)、图书〔图书编号、分类号、书名、作者、出版单位、单价〕CREATETABLE图书(图书编号CHAR(4),分类号CHAR(4)NOTNULL,书名VARCHAR(12),作者VARCHAR(5),出版单位VARCHAR(10),单价DEC(5,2),primarykey(图书编号));实验报告(2)读者〔借书证号、姓名、单位、职称〕createtable读者(借书证号char(4)notnull,姓名char(5)notnull,单位varchar(10),职称varchar(6),primarykey(借书证号));(3)、借阅〔借书证号、图书编号、借阅日期、备注〕CREATETABLE借阅(借书证号CHAR(4),图书编号CHAR(4),借阅日期DATENOTNULL,备注VARCHAR(20),PRIMARYKEY(借书证号,图书编号),FOREIGNKEY(借书证号)REFERENCES读者(借书证号),FOREIGNKEY(图书编号)REFERENCES图书(图书编号));3.补充定义职称只能取初级、中级和高级三种之一。ALTERTABLE读者ADDCHECK〔职称IN(’初级’,’中级’,’高级’)〕4.用SQLDML向基表中增加、修改和删除数据(1)向三个基表中插入如下数据:(a)图书表中数据:SQL语句:insertinto图书values('0001','TP31','计算机根底','WANG','高等教育',17.00);……

(b)读者表中数据:insertinto读者values('T201','LIXIN','计算机系','中级');(c)借阅表中数据:insertinto借阅(借书证号,图书编号,借阅日期)values('T201','0001',to_date('2002-03-10','yyyy-mm-dd'));实验报告(2)数据的修改和删除为编号为0002的图书填上作者和出版单位。update图书set作者='ZHANG',出版单位='高等教育'where图书编号='0002';将所有图书单价上调5%。update图书set单价=单价*1.05;(c)将书名包含‘计算机’的书分类号改为‘TP38’update图书set分类号='TP38'where书名like'%计算机%';(d)删除借书证号以Z开头的所有读者信息和借阅信息。deletefrom借阅where借书证号like'Z%';deletefrom读者where借书证号like'Z%';5.用SQL的QL完成以下查询(1)列出图书馆中所有藏书的书名及出版单位。select书名,出版单位from图书;(2)查询工厂所有借阅了图书的读者姓名和职称。selectdistinct姓名,职称from读者where借书证号in(select借书证号from借阅)AND单位='工厂';或select姓名,职称FROM读者,借阅where读者.借书证号=借阅.借书证号and单位='工厂';(3)查询藏书中比高等教育出版社所有图书单价更高的书籍。select*from图书where单价>ALL(select单价from图书where出版单位='高等教育');实验报告(4)查询各出版社图书的最高价、最低价和平均价格。select出版单位,MAX(单价),MIN(单价),AVG(单价)from图书GROUPBY出版单位;(5)列出当前至少借阅了2本图书的读者及所在单位。select姓名,单位from读者where借书证号in(select借书证号from借阅groupby借书证号havingcount(*)>=2);6.用SQLDDL创立视图、索引(1)建立各单位当前借阅图书情况的简单统计视图,视图中包括单位名称,借书人数和借阅人次。createview统计(单位,人数,人次)asselect单位,count(distinct读者.借书证号),count(读者.借书证号)from读者,借阅where读者.借书证号=借阅.借书证号groupby单位;(2)对该视图进行查询。select*from统计;(3)按出版社为图书表建立一个索引。createindex图书表on图书(出版单位desc);7.以自己的用户登录数据库,建立员工表,其结构同scott用户的员工表emp。Connectscott/tigerGrantallprivilegesonemptou1;Connectu1/口令createtable员工表asselect*fromscott.emp;实验报告四、实验小结〔包括问题和解决方法、心得体会、意见与建议等〕五、指导教师评语

温馨提示

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

评论

0/150

提交评论