安徽工业大学周兵数据库实验报告.docx
《安徽工业大学周兵数据库实验报告.docx》由会员分享,可在线阅读,更多相关《安徽工业大学周兵数据库实验报告.docx(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 数据库概论实验报告书专业班级学 号姓 名指导教师周 兵安徽工业大学计算机学院 数据库系统概论实验报告书安徽工业大学计算机学院实验一:数据定义语言 实验日期 实验目的 2012 年 12 月 6 日熟悉 Oracle上机环境及 Oracle客户端的配置;熟练掌握和使用 DDL语言,建立、修改和删除数据库表、主键、外键约束关系和索引。 实验内容 Oracle上机环境以及 Oracle客户端的配置参见附录。1 SQL数据定义语句:例 1-1:(建立数据库表) 建立教学数据库的四个数据库表,其中 Student表中不包含 SSEX(C,2)字段,Sname 字段为 Sname(C,8)且可为空。例
2、1-2: (修改数据库表) 在 Student表中增加 SEX(C,2) 字段。例 1-3: (修改列名) 将 Student表中列名 SEX修改为 SSEX。例 1-4: (修改数据库表) 将 Student表中把 Sname 字段修改为 Sname(C,10)且为非空。例 1-5: (建立索引) 为 Score表按课程号升序、分数降序建立索引,索引名为SC_GRADE。例 1-6: (删除索引) 删除索引 SC_GRADE。例 1-7: (建立数据库表) 建立数据库表 S1(SNO,SNAME,SD,SA),其字段类型定义与 Student表中的相应字段(SNO,SNAME,SDEPT,S
3、AGE)的数据类型定义相同。例 1-8: (修改数据库表) 删除成绩表 Score的参照完整性约束关系。例 1-9: (修改数据库表) 添加成绩表 Score的参照完整性约束关系。例 1-10: (修改数据库表名) 将数据库表 S1改名为 Student_Temp。 实验要求 熟悉 Oracle上机环境,掌握 Oracle客户端的配置; 建立数据库表,修改数据库表结构,建立、删除索引; 实验方法 按照附录中的操作步骤进行客户端的配置; 将实验需求用 SQL语句表示; 执行 SQL语句; 查看执行结果,如果结果不正确,进行修改,直到正确为止。实验总结 SQL语句以及执行结果; 对重点实验结果进行
4、分析; 实验中的问题和提高; 收获与体会。 数据库系统概论实验报告书安徽工业大学计算机学院8 CONSTRAINT Sno_pk PRIMARY KEY(SNO);表已创建。SQL CREATE TABLE Teach2 (TNAME CHAR(8),8 CONSTRAINT Teach_CNO_fk FOREIGN KEY(CNO) REFERENCES Course(CNO);SQL CREATE TABLE Score6 CONSTRAINT Score_pk PRIMARY KEY(SNO,CNO),7 CONSTRAINT Teach_SNO_fk FOREIGN KEY(SNO)
5、REFERENCES Student(SNO),8 CONSTRAINT Score_CNO_fk FOREIGN KEY(CNO) REFERENCES Course(CNO);表已创建。 数据库系统概论实验报告书安徽工业大学计算机学院1-2SQL ALTER TABLE Student ADD SEX CHAR(2);1-31-41-51-61-71-81-9 数据库系统概论实验报告书安徽工业大学计算机学院SQL ALTER TABLE Score ADD CONSTRAINT Teach_SNO_fk FOREIGN KEY(SNO) REFERENCESStudent(SNO);SQL
6、 ALTER TABLE Score ADD CONSTRAINT Score_CNO_fk FOREIGN KEY(CNO) REFERENCESCourse(CNO);表已重命名。这一次实验主要是书上第四章的内容,通过实验,我熟悉了 Oracle 上机环境,掌握了 Oracle客户端的配置,一级 CREATE、DROP、ALTER和 RENAME等语句。 数据库系统概论实验报告书安徽工业大学计算机学院实验二:数据操纵语言 实验日期 实验目的 2012 年 12 月 6 日在实验一的基础上,熟练掌握和使用 DML语言,对数据进行增加、修改和删除操作。 实验内容 2 SQL数据操纵语句:例 2
7、-1: (插入数据) 按前面各表中的数据分别插入到教学数据库的四个数据库表中。例 2-2:(多行插入) 将表 Student表中计算机系(CS)的学生数据插入到表 S1中。(以上操作中,注意用 COMMIT提交数据,将数据保存到数据库服务器)例 2-1: (插入数据) 按前面各表中的数据分别插入到教学数据库的四个数据库表中。例 2-2:(多行插入) 将表 Student中在计算机系(CS)的学生数据插入到表 Student_Temp中。(以上操作中,注意用 COMMIT提交数据,将数据保存到数据库服务器)例 2-3:(利用查询来实现表的定义与数据插入) 求每一个学生的平均成绩,把结果存入数据库
8、表Student_Gr中。例 2-4: (修改数据) 将 Student_Temp表中所有学生的年龄加 2。例 2-5: (修改数据) 将 Course表中程序设计课时数修改成与数据结构的课时数相同。例 2-6: (插入数据) 向 Score表中插入数据(98001, 001, 95),根据返回信息解释其原因。例 2-7: (插入数据) 向 Score表中插入数据(97001, 010, 80),根据返回信息解释其原因。例 2-8: (删除数据) 删除 Student表中学号为96001的学生信息,根据返回信息解释其原因。例 2-9: (删除数据) 删除 Course表中课程号为003 的课程
9、信息,根据返回信息解释其原因。例 2-10: (删除数据) 删除学生表 Student_Temp中学号以 96打头的学生信息。(此操作后,注意用 ROLLBACK回退可能更新的数据)例 2-11: (删除数据) 删除数据库表 Student_Temp中所有学生的数据。例 2-12:(删除表)删除数据库表 Student_Temp和 Student_Gr。 实验要求 对数据库表进行插入、修改和删除数据的操作。 实验方法 对数据库表进行插入、修改和删除数据的操作。 实验方法 按照附录中的操作步骤进行客户端的配置; 将实验需求用 SQL语句表示; 执行 SQL语句; 查看执行结果,如果结果不正确,进
10、行修改,直到正确为止。实验总结 数据库系统概论实验报告书安徽工业大学计算机学院INSERT INTO Student(SNO,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 S
11、tudent(SNO,SNAME,SDEPT,SCLASS,SSEX,SAGE) VALUES(96004,赵志勇,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(9700
12、3,黎明,IS,03,女,19);INSERT INTO Student(SNO,SNAME,SDEPT,SCLASS,SSEX,SAGE) VALUES(97004,李丽,CS,02,女,19);INSERT INTO Student(SNO,SNAME,SDEPT,SCLASS,SSEX,SAGE) VALUES(96005,司马志明,CS,02,男,18);INSERT INTO Teach VALUES(王成刚,男,004,05-9月-1999,CS); 数据库系统概论实验报告书安徽工业大学计算机学院INSERT INTO Score VALUES(96001,001,77.5);IN
13、SERT INTO Score VALUES(96001,003,89);INSERT INTO Score VALUES(96001,004,86);INSERT INTO Score VALUES(96001,005,82);INSERT INTO Score VALUES(96002,001,88);INSERT INTO Score VALUES(96002,003,92.5);INSERT INTO Score VALUES(96002,006,90);INSERT INTO Score VALUES(96005,004,92);INSERT INTO Score VALUES(96
14、005,005,90);INSERT INTO Score VALUES(96005,006,89);INSERT INTO Score VALUES(96005,007,76);INSERT INTO Score VALUES(96003,001,69);INSERT INTO Score VALUES(96001,001,96);INSERT INTO Score VALUES(96001,008,95);INSERT INTO Score VALUES(96004,001,87);INSERT INTO Score VALUES(96003,003,91);INSERT INTO Sco
15、re VALUES(96002,003,91);INSERT INTO Score(SNO,CNO) VALUES(96002,004);INSERT INTO Score VALUES(96002,006,92);INSERT INTO Score VALUES(96004,005,90);INSERT INTO Score VALUES(96004,006,85);INSERT INTO Score VALUES(96004,008,75);INSERT INTO Score VALUES(96003,001,59); 数据库系统概论实验报告书安徽工业大学计算机学院2-2SQL INSER
16、T INTO Student_Temp SElECT SNO,SNAME,SDEPT,SAGE FROM Student WHEREStudent.SDEPT=CS;2-3:SQLINSERT INTO Student_Gr(SNO,AVGSCORE) SELECT SNO,AVG(Score) FROM SCORE GROUPBY SNO;SQLUPDATE Course SET CTIME=(SELECT CTIME FROM Course WHERE CNAME=数据结构)WHERE CNAME=程序设计;因为违反了完整性约束 CONSTRAINT SSno_fk FOREIGN KEY
17、(SNO) REFERENCES Student(SNO)Student表中没有建立 98001的学生因为违反了完整性约束 CONSTRAINT Cno_fk FOREIGN KEY(CNO) REFERENCES Course(CNO)Course表中没有 010的课程号因为违反了完整性约束 CONSTRAINT SSno_fk FOREIGN KEY(SNO) REFERENCES Student(SNO)SQLDELETE FROM Course WHERE CNO=003; 数据库系统概论实验报告书安徽工业大学计算机学院因为违反了完整性约束 CONSTRAINT Cno_fk FORE
18、IGN KEY(CNO) REFERENCES Course(CNO)SQLDROP TABLE Student_Temp CASCADE CONSTRAINT;SQLDROP TABLE Student_Gr CASCADE CONSTRAINT;通过这一节的实验,我对数据库表进行插入、修改和删除等数据的操作已经能熟练运用,(INSERT、UPDATE、DELETE 等),这些语句和上一节实验的用法基本上都差不多,比较容易。 数据库系统概论实验报告书安徽工业大学计算机学院实验三:数据查询语言 实验日期 实验目的 2012 年 12 月 11 日体会 SQL语言数据查询功能的丰富和复杂。 实验
19、内容 3 SQL数据查询语句:例 3-1: (选择表中的若干列) 求全体学生的学号、姓名、性别和年龄。例 3-2: (不选择重复行) 求选修了课程的学生学号。例 3-3: (选择表中的所有列) 求全体学生的详细信息。例 3-4: (使用表达式) 求全体学生的学号、姓名和出生年份。例 3-5: (使用列的别名) 求学生的学号和出生年份,显示时使用别名“学号”和“出生年份”。例 3-6: (比较大小条件) 求年龄大于 19岁的学生的姓名和年龄。例 3-7: (比较大小条件) 求计算机系或信息系年龄大于 18岁的学生的姓名、系和年龄。例 3-8: (确定范围条件) 求年龄在 19岁与 22岁(含 2
20、0岁和 22岁)之间的学生的学号和年龄。例 3-9: (确定范围条件) 求年龄不在 19岁与 22岁之间的学生的学号和年龄。例 3-10:(确定集合条件) 求在下列各系的学生信息:数学系、计算机系。例 3-11:(确定集合条件) 求不是数学系、计算机系的学生信息。例 3-12:(匹配查询) 求姓名是以“李”打头的学生。例 3-13:(匹配查询) 求姓名中含有“志”的学生。例 3-14:(匹配查询) 求姓名长度至少是三个汉字且倒数第三个汉字必须是“马”的学生。例 3-15:(匹配查询) 求选修课程 001或 003,成绩在80至 90之间,学号为96xxx的学生的学号、课程号和成绩。例 3-16
21、:(匹配查询) 求课程名中包含 _ 字符的课程号、课程名和学时数。例 3-17:(涉及空值查询) 求缺少学习成绩的学生的学号和课程号。例 3-18:(控制行的显示顺序) 求选修 003课程或 004课程的学生的学号、课程号和分数,要求按课程号升序、分数降序的顺序显示结果。例 3-19:(组函数) 求学生总人数。例 3-20:(组函数) 求选修了课程的学生人数。例 3-21:(组函数) 求计算机系学生的平均年龄。例 3-22:(组函数) 求选修了课程 001的最高、最低与平均成绩。例 3-23:(分组查询) 求各门课程的平均成绩与总成绩。例 3-24:(分组查询) 求各系、各班级的人数和平均年龄
22、。 数据库系统概论实验报告书安徽工业大学计算机学院例 3-25:(分组查询) 输入以下查询语句并执行,观察出现的其结果并分析其原因。SELECT SNAME,SDEPT,COUNT(*)FROM STUDENTWHERE SDEPT=CS GROUP BY SDEPT;例 3-26:(分组查询) 分析以下语句为什么会出现错误。并给出正确的查询语句。SELECT SAGE FROM STUDENT GROUP BY SNO;例 3-27:(分组查询) 求学生人数不足 3人的系及其相应的学生数。例 3-28:(分组查询) 求各系中除 01班之外的各班的学生人数。例 3-29:(涉及空值的查询) 分
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 安徽 工业大学 数据库 实验 报告
限制150内