数据库应用技术上机实验报告

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1数据库应用技术上机实验报告学校:班级:学号:姓名:2数据库应用技术上机实验报告一.实验的目的1、巩固数据库的基础知识;2、了解结构化查询语言SQL的概念及其特点;3、学习使用SQLServer2000数据库管理系统软件的一些基本操作;4、掌握用SQL创建数据库的两种方法;5、掌握用SQL创建数据表的方法;6、掌握数据表的更新的方法;7、掌握数据表的各种查询方法。二、实验的题目与要求现有教学管理库的四个关系模式:学生(学生号,姓名,性别,出生年月,班级号)教师(教师号,姓名,性别,出生日期,职称,所在系)课程(课程号,课程名,教师号)成绩(学生号,课程号,成绩)一、使用SQL命令建立教学管理库和学生表学生:二、用数据导入方法将教师表、课程表和成绩表导入到教学管理库中教师:教师号姓名性别出生日期职称所在系804李斌男1958-12-02副教授计算机系856张旭东男1969-3-12讲师电子系825王一萍女1972-5-5助教计算机系学生号姓名性别出生年月班级号108曾华男1977-9-195033105匡明男1975-10-295031107王文丽女1976-1-2395033101李军男1976-2-2095033109王华芳女1975-2-1095031103华君男1974-6-3950313831刘冰女1977-8-14助教电子系821李明男1968-10-15讲师数学系课程:课程号课程名教师号3-105计算机导论8253-245操作系统8046-166数字电路8569-888高等数学821成绩:学生号课程号成绩1013-105641013-245751016-166851019-888951033-105921033-245861036-166791053-105861053-245911083-10578三、对上面建立的教学管理数据库完成如下几个简单查询操作:1、检索选修课程号为'3-105'且成绩在60到80之间的记录;2、检索学生表中所有姓”李”学生的学生号、姓名、性别;3、检索学生表中名字中含有“华”的学生记录;4、检索成绩表中成绩为75,86,92的所有记录;5、检索学生表中班级号为“95031”或性别为“女”的学生记录;6、检索学生表中所有男生记录,并以班级号降序排序;7、检索学生表中“95031”班的学生人数;8、检索每个学生的学号,姓名,选修课程平均成绩。9、检索考试成绩为最高分的学生姓名;10、检索所有未任课的教师姓名和所在系;11、检索学生姓名及其所选修的课程号和成绩;412、检索至少选修王老师所授课程中一门课程的女学生姓名;13、检索至少选修了两门课程的学生学号;14、检索成绩表中最高分与最低分之差大于12分的课程号;15、检索比王丽同学年龄大的学生姓名、性别、出生年月;16、检索选修了3-245课程的学生中成绩最高的学生学号。17、检索选修了4门以上课程的学生的总成绩(不统计不及格的课程);18、检索选修编号为“3-105”课程且成绩至少高于选修编号为3-245课程的学生的学生号、课程号和成绩;19、检索选修了所有课程的学生的学号,姓名;20、检索所有教师和学生的姓名、性别和出生年份;21、检索成绩表中多于5名学生选修的并以3开头的课程号的平均分数。四、完成如下数据更新操作:1、建立95031班级选课学生选课视图,视图包括学生号,姓名,课程号,课程名,成绩;2、将成绩表中“操作系统”选课记录加5分;3、删除成绩表中所有“计算机导论”的选课记录;4、将教师王一萍的姓名更新为王尹萍,职称改为讲师。五、写出本次实验报告实验报告应包含:1、实验的目的和要求2、实验所用环境3、实验题目、命令和试验结果4、本次实验的收获和体会(每位同学应至少写5行体会,且每人互不相同)三、实验所用环境该实验的所有操作均使用Microsoft公司的SQLServer2000个人版数据库管理系统。SQLServer是目前非常流行的数据库管理系统,操作简单、可靠、易用。5四、实验内容与实验结果1、建立数据库和表(1)建立数据库CREATEDATABASE教学管理库(2)建立表用SQL命令建立学生表:createtable学生(学生号char(30)primarykey,姓名char(8),性别char(2),出生年月datetime,班级号char(5))使用SQL语句添加学生表信息:Insertinto学生values(‘108’,’曾华’,’男’,’1977-9-1’,’95033’)Insertinto学生values(‘105’,’匡明’,’男’,’1975-10-2’,’95031’)Insertinto学生values(‘107’,’王文丽’,’女’,’1976-1-23’,’95033’)Insertinto学生values(‘101’,’李军’,’男’,’1976-2-20’,’95033’)Insertinto学生values(‘109’,’王华芳’,’女’,’1975-2-10’,’95031’)Insertinto学生values(‘103’,’华君’,’男’,’1974-6-3’,’95031’)执行如下图:62、用数据导入方法将教师表、课程表和成绩表导入到教学管理库中以教师库打开企业管理器。选择“教学数据库”,单击右键,选择“所有任务→导入数据”,选择导入数据源,如下图:选择要导入的数据库。如下图:7选择要导入的表名,如下图点击“下一步”,再点击“完成”。点击导入的表名“sheet1”,更名为“教师”。点击“教师”表,点击右键,选择“设计表”,设置“教师号”为主键。如下图8课程表和成绩表如教师表操作。3、对上面建立的教学管理数据库完成如下几个简单查询操作:(1)检索选修课程号为'3-105'且成绩在60到80之间的记录;SELECT*FROM成绩WHERE课程号='3-105'and成绩between60and80(2)检索学生表中所有姓”李”学生的学生号、姓名、性别;SELECT学生号,姓名,性别FROM学生WHERE姓名LIKE'李%'(3)检索学生表中名字中含有“华”的学生记录;9SELECT*FROM学生WHERE姓名LIKE'%华%'(4)检索成绩表中成绩为75,86,92的所有记录;SELECT*FROM成绩WHERE成绩=75or成绩=86or成绩=92(5)检索学生表中班级号为“95031”或性别为“女”的学生记录;SELECT*FROM学生WHERE班级号=’95031’or性别=’女’(6)检索学生表中所有男生记录,并以班级号降序排序;select*from学生where性别='男'orderby班级号desc(7)检索学生表中“95031”班的学生人数;selectcount(*)as人数from学生where班级号='95031'10(8)检索每个学生的学号,姓名,选修课程平均成绩。select学生.学生号,姓名,avg(成绩)as平均成绩from学生,成绩where学生.学生号=成绩.学生号groupby学生.学生号,姓名(9)检索考试成绩为最高分的学生姓名;select姓名from学生,成绩where学生.学生号=成绩.学生号and成绩=(selectmax(成绩)from成绩)(10)检索所有未任课的教师姓名和所在系;select姓名,所在系from教师where教师号notin(select教师号from课程)(11)检索学生姓名及其所选修的课程号和成绩;select姓名,课程号,成绩from成绩,学生where学生.学生号=成绩.学生号11(12)检索至少选修王老师所授课程中一门课程的女学生姓名;select姓名from学生where性别='女'and学生号in(select学生号from课程where课程号in(select课程号from课程where教师号in(select教师号from教师where姓名like'王%')))(13)检索至少选修了两门课程的学生学号;select学生号from成绩groupby学生号havingcount(*)=2(14)检索成绩表中最高分与最低分之差大于12分的课程号;select课程号from成绩groupby课程号havingmax(成绩)-min(成绩)1212(15)检索比王文丽同学年龄大的学生姓名、性别、出生年月;select姓名,性别,出生年月from学生where出生年月(select出生年月from学生where姓名='王文丽')(16)检索选修了3-245课程的学生中成绩最高的学生学号。select学生号from成绩where学生号in(select学生号from成绩where课程号='3-245')and成绩=(selectmax(成绩)from成绩)4、完成如下数据更新操作:(1)建立95031班级选课学生选课视图,视图包括学生号,姓名,课程号,课程名,成绩;createview学生选课视图asselect学生.学生号,姓名,课程.课程号,课程名,成绩from学生,课程,成绩where学生.学生号=成绩.学生号and课程.课程号=成绩.课程号and班级号=9503113(2)将成绩表中“操作系统”选课记录加5分;update成绩set成绩=成绩+5where课程号in(select课程号from课程where课程名='操作系统')(3)删除成绩表中所有“计算机导论”的选课记录;delete成绩where课程号in(select课程号from课程where课程名='计算机导论')14(4)将教师王一萍的姓名更新为王尹萍,职称改为讲师。update教师set姓名='王尹萍',职称='讲师'where姓名='王一萍'15五、实验的收获和体会MicrosoftSQLServer2000能提供超大型系统所需的数据库服务。大型服务器可能有成千上万的用户同时连接到SQLServer2000实例。SQLServer2000为这些环境提供了全面的保护,具有防止问题发生的安全措施,例如,可以防止多个用户试图同时更新相同的数据。SQLServer2000还在多个用户之间有效地分配可用资源,比如内存、网络带宽和磁盘I/O。超大型Internet站点可将其数据分开存放在多台服务器上,从而使处理负荷分散到多台计算机上,使站点能为成千上万的并发用户提供服务。可以在一台计算机上运行多个SQLServer2000实例。例如,一个为其它许多组织提供数据库服务的组织可为每个客户组织单独运行一个SQLServer2000实例,而全部实例可集中在一台计算机上。这样,既隔开了每个客户组织的数据,同时又使服务组织只需管理一台服务器计算机从而减少了费用。SQLServer2000应用程序可在装有SQLServer2000的计算机上运行。该应用程序通过Windows进程间通讯(IPC)组件(例如共享内存)而非通过网络连接到SQLServer2000。这使SQLServer2000得以应用于应用程序必须在本地存储数据的小型系统中。大型Web站点和企业级数据处理系统通常会生成大量的数据库处理,超出了一台计算机的支持能力。在这些大型系统中,数据库服务由组成数据库服务层的一组数据库服务器提供。SQLServer2000不支持采用平衡负荷的聚集形式建立数据库服务层,但支持跨自主服务器组分存数据的机制。尽管每个服务器需分开管理,但组内的各个服务器可共同分担数据库处理负荷。共享同一工作负荷的一组自主服务器称为服务器联合体。

1 / 15
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功