ImageVerifierCode 换一换
格式:DOCX , 页数:60 ,大小:1.17MB ,
资源ID:4769669      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4769669.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据库实验报告.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据库实验报告.docx

1、数据库实验报告数据库系统概论实验报告书专业班级学 号姓 名 指导教师 安徽工业大学计算机科学与技术学院实验一:数据定义语言 实验日期 年 月 日 实验目的 熟悉Oracle上机环境及Oracle客户端的配置;熟练掌握和使用DDL语言,建立、修改和删除数据库表、主键、外键约束关系和索引。 实验内容 Oracle上机环境以及Oracle客户端的配置参见附录。1 SQL数据定义语句: 例1-1: (建立数据库表) 建立教学数据库的四个数据库表,其中Student表中不包含SSEX(C,2) 字段,Sname 字段为Sname(C,8)且可为空。create table student(sno var

2、char2(5) primary key,sname varchar2(8),sdept varchar2(2),sclass varchar2(2),sage number(2,0);create table course(cno varchar2(3) primary key,cname varchar2(16),ctime number(3,0);create table teach(tname varchar2(8),tsex varchar2(2),cno varchar2(3),tdate date,tdept varchar2(2),constraint s_pk primary

3、 key(tname,cno,tdept),constraint c_fk foreign key(cno) references course(cno);create table score(sno varchar2(5),cno varchar2(3),score number(5,2),constraint sc_pk primary key(sno,cno),constraint ss_fk foreign key(sno) references student(sno),constraint cs_fk foreign key(cno) references course(cno);

4、 例1-2: (修改数据库表) 在Student表中增加SEX(C,2) 字段。alter table student add sex varchar2(2); 例1-3: (修改列名) 将Student表中列名SEX修改为SSEX。alter table student rename column sex to ssex; 例1-4: (修改数据库表) 将Student表中把Sname 字段修改为Sname(C,10)且为非空。alter table student modify(sname varchar2(10) not null); 例1-5: (建立索引) 为Score表按课程号升序

5、、分数降序建立索引,索引名为SC_GRADE。create index sc_grade on score(cno asc, score desc); 例1-6: (删除索引) 删除索引SC_GRADE。drop index sc_grade; 例1-7: (建立数据库表) 建立数据库表S1(SNO,SNAME,SD,SA),其字段类型定义与Student表中的相应字段(SNO,SNAME,SDEPT,SAGE)的数据类型定义相同。create table s1(sno varchar2(5) primary key,sname varchar2(10) not null,sdept varc

6、har2(2),sage number(2,0); 例1-8: (修改数据库表) 删除成绩表Score的参照完整性约束关系。alter table score drop constraint sc_pk; 例1-9: (修改数据库表) 添加成绩表Score的参照完整性约束关系。alter table score add constraint sc_pk primary key(sno,cno); 例1-10: (修改数据库表名) 将数据库表S1改名为Student_Temp。rename s1 to Student_Temp; 实验要求 熟悉Oracle上机环境,掌握Oracle客户端的配置;

7、 建立数据库表,修改数据库表结构,建立、删除索引; 实验方法 按照附录中的操作步骤进行客户端的配置; 将实验需求用SQL语句表示; 执行SQL语句; 查看执行结果,如果结果不正确,进行修改,直到正确为止。 实验总结 SQL语句以及执行结果; 对重点实验结果进行分析; 实验中的问题和提高; 收获与体会。实验二:数据操纵语言 实验日期 年 月 日 实验目的 在实验一的基础上,熟练掌握和使用DML语言,对数据进行增加、修改和删除操作。 实验内容 2 SQL数据操纵语句: 例2-1:(插入数据) 按前面各表中的数据分别插入到教学数据库的四个数据库表中。学生表:insert into student(s

8、no,sname,sdept,sclass,ssex,sage) values (96001,马小燕,CS,01,女,21);insert into student(sno,sname,sdept,sclass,ssex,sage) values (96002,黎明,CS,01,男,18);insert into student(sno,sname,sdept,sclass,ssex,sage) values (96003,刘东明,MA,01,男,18);insert into student(sno,sname,sdept,sclass,ssex,sage) values (96004,赵志

9、勇,IS,02,男,20);insert into student(sno,sname,sdept,sclass,ssex,sage) values (97001,马蓉,MA,02,女,19);insert into student(sno,sname,sdept,sclass,ssex,sage) values (97002,李成功,CS,01,男,20);insert into student(sno,sname,sdept,sclass,ssex,sage) values (97003,黎明,IS,03,女,19);insert into student(sno,sname,sdept,

10、sclass,ssex,sage) values (97004,李丽,CS,02,女,19);insert into student(sno,sname,sdept,sclass,ssex,sage) values (96005,司马志明,CS,02,男,18);insert into student(sno,sname,sdept,sclass,ssex,sage) values (20001,赵薇,IS,02,女,19);课程表:insert into course(cno,cname,ctime) values (001,数学分析,144);insert into course(cno,

11、cname,ctime) values (002,普通物理,144);insert into course(cno,cname,ctime) values (003,微机原理,72);insert into course(cno,cname,ctime) values (004,数据结构,72);insert into course(cno,cname,ctime) values (005,操作系统,64);insert into course(cno,cname,ctime) values (006,数据库原理,64);insert into course(cno,cname,ctime)

12、values (007,DB_Design,48);insert into course(cno,cname,ctime) values (008,程序设计,56);教师表:insert into teach(tname,tsex,cno,tdate,tdept) values (王成刚,男,004,to_date(1999-9-5,yyyy-mm-dd),CS);insert into teach(tname,tsex,cno,tdate,tdept) values (李正科,男,003,to_date(1999-9-5,yyyy-mm-dd),CS);insert into teach(t

13、name,tsex,cno,tdate,tdept) values (严敏,女,001,to_date(1999-9-5,yyyy-mm-dd),MA);insert into teach(tname,tsex,cno,tdate,tdept) values (赵高,男,004,to_date(1999-9-5,yyyy-mm-dd),IS);insert into teach(tname,tsex,cno,tdate,tdept) values (李正科,男,003,to_date(2000-2-23,yyyy-mm-dd),MA);insert into teach(tname,tsex,

14、cno,tdate,tdept) values (刘玉兰,女,006,to_date(2000-2-23,yyyy-mm-dd),CS);insert into teach(tname,tsex,cno,tdate,tdept) values (王成刚,男,004,to_date(2000-2-23,yyyy-mm-dd),IS);insert into teach(tname,tsex,cno,tdate,tdept) values (马悦,女,008,to_date(2000-9-6,yyyy-mm-dd),CS);insert into teach(tname,tsex,cno,tdat

15、e,tdept) values (王成刚,男,007,to_date(1999-9-5,yyyy-mm-dd),CS);成绩表:insert into score(sno,cno,score) values (96001,001,77.5);insert into score(sno,cno,score) values (96001,003,89);insert into score(sno,cno,score) values (96001,004,86);insert into score(sno,cno,score) values (96001,005,82);insert into sc

16、ore(sno,cno,score) values (96002,001,88);insert into score(sno,cno,score) values (96002,003,92.5);insert into score(sno,cno,score) values (96002,006,90);insert into score(sno,cno,score) values (96005,004,92);insert into score(sno,cno,score) values (96005,005,90);insert into score(sno,cno,score) valu

17、es (96005,006,89);insert into score(sno,cno,score) values (96005,007,76);insert into score(sno,cno,score) values (96003,001,69);insert into score(sno,cno,score) values (97001,001,96);insert into score(sno,cno,score) values (97001,008,95);insert into score(sno,cno,score) values (96004,001,87);insert

18、into score(sno,cno,score) values (96003,003,91);insert into score(sno,cno,score) values (97002,003,91);insert into score(sno,cno,score) values (97002,004, );insert into score(sno,cno,score) values (97002,006,92); insert into score(sno,cno,score) values (97004,005,90);insert into score(sno,cno,score)

19、 values (97004,006,85);insert into score(sno,cno,score) values (97004,008,75);insert into score(sno,cno,score) values (97003,001,59);insert into score(sno,cno,score) values (97003,003,58); 例2-2:(多行插入) 将表Student中在计算机系(CS)的学生数据插入到表Student_Temp中。(以上操作中,注意用COMMIT提交数据,将数据保存到数据库服务器)insert into Student_Tem

20、p(sno,sname,sdept,sage)select sno,sname,sdept,sage from studentwhere sdept=CS; 例2-3:(利用查询来实现表的定义与数据插入) 求每一个学生的平均成绩,把结果存入数据库表Student_Gr中。create table student_gr(sno char(5),avg_scoe int);insert into student_grselect student.sno,avg(score)from student,scorewhere student.sno=score.snogroup by student.s

21、no; 例2-4: (修改数据) 将Student_Temp表中所有学生的年龄加2。update Student_Temp set sage=sage+2; 例2-5: (修改数据) 将Course表中程序设计课时数修改成与数据结构的课时数相同。update course set ctime=(select ctime from course where cname=数据结构)where cname=程序设计; 例2-6: (插入数据) 向Score表中插入数据(98001, 001, 95),根据返回信息解释其原因。insert into score values(98001,001,95)

22、; 例2-7: (插入数据) 向Score表中插入数据(97001, 010, 80),根据返回信息解释其原因。insert into score values(97001,010,80);例2-8: (删除数据) 删除Student表中学号为96001的学生信息,根据返回信息解释其原因。delete from student where sno=96001;例2-9: (删除数据) 删除Course表中课程号为003 的课程信息,根据返回信息解释其原因。delete from course where cno=003 例2-10: (删除数据) 删除学生表Student_Temp中学号以96

23、打头的学生信息。(此操作后,注意用ROLLBACK回退可能更新的数据)delete from student_temp where sno like96%; 例2-11: (删除数据) 删除数据库表Student_Temp中所有学生的数据。delete from student_temp 例2-12:(删除表) 删除数据库表Student_Temp和Student_Gr。drop table student_temp;drop table student_gr; 实验要求 对数据库表进行插入、修改和删除数据的操作。 实验方法 按照附录中的操作步骤进行客户端的配置; 将实验需求用SQL语句表示;

24、 执行SQL语句; 查看执行结果,如果结果不正确,进行修改,直到正确为止。 实验总结 SQL语句以及执行结果; 对重点实验结果进行分析; 实验中的问题和提高; 收获与体会。实验三:数据查询语言 实验日期 年 月 日 实验目的 体会SQL语言数据查询功能的丰富和复杂。 实验内容 3 SQL数据查询语句: 例3-1: (选择表中的若干列) 求全体学生的学号、姓名、性别和年龄。select sno,sname,ssex,sage from student; 例3-2: (不选择重复行) 求选修了课程的学生学号。select distinct sno from score; 例3-3: (选择表中的所

25、有列) 求全体学生的详细信息。select * from student; 例3-4: (使用表达式) 求全体学生的学号、姓名和出生年份。select sno,sname,2015-sage as 出生年份 from student; 例3-5: (使用列的别名) 求学生的学号和出生年份,显示时使用别名“学号”和“出生年份”。select sno as 学号,2015-sage as 出生年份 from student; 例3-6: (比较大小条件) 求年龄大于19岁的学生的姓名和年龄。select sname,sage from student where sage19; 例3-7: (比较

26、大小条件) 求计算机系或信息系年龄大于18岁的学生的姓名、系和年龄。select sname,sdept,sage from student where sage18 and sdept in(CS,IS); 例3-8: (确定范围条件) 求年龄在19岁与22岁(含20岁和22岁)之间的学生的学号和年龄。select sno,sage from student where sage between 20 and 22; 例3-9: (确定范围条件) 求年龄不在19岁与22岁之间的学生的学号和年龄。select sno,sage from student where sage not betwe

27、en 20 and 22; 例3-10:(确定集合条件) 求在下列各系的学生信息:数学系、计算机系。select * from student where sdept in(MA,CS); 例3-11:(确定集合条件) 求不是数学系、计算机系的学生信息。select * from student where sdept not in(MA,CS); 例3-12:(匹配查询) 求姓名是以“李”打头的学生。select * from student where sname like李%; 例3-13:(匹配查询) 求姓名中含有“志”的学生。select * from student where s

28、name like%志%; 例3-14:(匹配查询) 求姓名长度至少是三个汉字且倒数第三个汉字必须是“马”的学生。select * from student where sname like%马_; 例3-15:(匹配查询) 求选修课程001或003,成绩在80至90之间,学号为96xxx的学生的学号、课程号和成绩。select sno,cno,scorefrom scorewhere sno like96_and score between 80 and 90and cno=001or cno=003; 例3-16:(匹配查询) 求课程名中包含 _ 字符的课程号、课程名和学时数。select

29、 cno,cname,ctime from coursewhere cname like %_% escape ; 例3-17:(涉及空值查询) 求缺少学习成绩的学生的学号和课程号。select sno,cno from scorewhere score is null; 例3-18:(控制行的显示顺序) 求选修003课程或004课程的学生的学号、课程号和分数,要求按课程号升序、分数降序的顺序显示结果。select sno,cno,score from scorewhere cno in(003,004)order by cno asc,score desc; 例3-19:(组函数) 求学生总人数。select count(sno) as 学生总人数 from student; 例3-20:(组函数) 求选修了课程的学生人数。select count(distinct sno) from score; 例3-21:(组函数) 求

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1