《数据库原理与应用》实验报告.doc_第1页
《数据库原理与应用》实验报告.doc_第2页
《数据库原理与应用》实验报告.doc_第3页
《数据库原理与应用》实验报告.doc_第4页
《数据库原理与应用》实验报告.doc_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

河南财经政法大学实验报告计算机与信息工程学院20132014学年第2学期专 业: 信息管理与信息系统 课程名称: 数据库原理与应用 班 级: 120705 姓 名: 学号: 指导教师: 赵静玉 实验报告实验一:熟悉SQL Server数据库管理系统实验目的1. 了解SQL Server系统;2. 熟悉SQL Server服务的启动和停止;3. 熟悉SQL Server管理器/企业管理器的使用。实验内容1. 启动SQL Server服务;2. 启动SQL Server管理器/企业管理器,熟悉其界面环境;3. 停止SQL Server服务。实验数据记录及分析(或程序及运行结果)思考:1. 启动SQL Server服务的方法有哪几种?怎样实现该服务的自动启动?2. 假如你是一个SQL Server数据库的管理员,为了释放一部分存储空间,你可以删除哪些数据库?为什么?评语: 日期: 年 月 日实验二:数据库操作实验目的1. 了解数据库的结构;2. 学会使用图形化的方法创建、修改、删除数据库;3. 学会使用T-SQL命令创建、修改、删除数据库。实验内容1. 启动SQL Server 服务;2. 启动SQL Server管理器/企业管理器,利用图形化的方法创建数据库student(如下表所示);3. 利用图形化的方法修改数据库student,增加一个数据文件到新建的文件组stufile中,其中:逻辑文件名为student_data1,物理文件名为D:DATAstudent_data1.ndf,初始大小为50MB,以30%的速度增长,最大文件大小为200MB;4. 利用图形化的方法删除数据库student;5. 利用T-SQL命令重复上述工作。选项参数数据库名称student数据文件逻辑文件名student_data物理文件名C:DATAstudent_data.mdf文件组PRIMARY初始大小3MB最大文件大小不受限制增量1MB日志文件逻辑文件名student_log物理文件名C:DATAstudent_log.ldf初始大小1MB最大文件大小20MB增量10%实验数据记录及分析(或程序及运行结果)思考:1. 你的老板要求你创建一个初始大小为20G的数据库,但是你现在的硬盘上没有一个这么大容量的分区,只有几个大小为8G的分区,请问,你该如何完成这个任务?2. 你想创建一个初始大小为2MB的数据库,但是你却发现你创建的数据库的初始大小是5MB,而且不能小于这个值,请问是什么原因?评语: 日期: 年 月 日实验三:数据表操作实验目的1. 了解表的结构和SQL Server的基本数据类型;2. 学会使用图形化的方法创建、修改、删除数据表;3. 学会使用T-SQL命令创建、修改、删除数据表;4. 学会创建各种约束。实验内容1. 启动SQL Server服务;2. 启动SQL Server管理器/企业管理器,利用图形化的方法在数据库student中创建学生信息表stu_info、课程信息表course_info和学生成绩表stu_grade,其结构如下表所示;3. 利用图形化的方法对数据表进行如下修改:l 在表stu_info中,增加备注字段,字段名memo,字段类型nvarchar,字段长度200;l 在表course_info中,对于字段course_name设置UNIQUE约束;l 在表stu_grade中,对于字段grade设置CHECK约束,其取值在0到100之间;l 在表stu_grade中,对于字段stu_id设置FOREIGN KEY约束,其取值参考表stu_info中stu_id字段的取值;4. 利用图形化的方法删除表stu_info、course_info、stu_grade;5. 利用CREATE TABLE命令在数据库student中创建学生信息表stu_info、课程信息表course_info和学生成绩表stu_grade,其结构如下表所示;6. 利用ALTER TABLE命令对表进行如下修改:l 在表stu_info中,增加身份证号码字段,字段名code,字段类型char,字段长度18,不允许为空;l 在表stu_info中,对于字段code设置UNIQUE约束;l 在表stu_info中,删除身份证号码字段code;l 在表stu_info中,对于字段sex设置CHECK约束,其取值仅为“男”或 “女”;l 在表course_info中,增加先行课字段,字段名pre_course_id,其取值参考course_id字段的取值;7. 利用DROP TABLE命令删除表stu_info;8. 利用图形化的方法向以上表中输入一些数据,体会约束的作用。学生信息表(stu_info)列名数据类型大小小数位是否为空默认值约束含义stu_idchar10否主键学号namenvarchar20否姓名birthdaydate生日sexnchar2男性别addressnvarchar20籍贯markint入学成绩majornvarchar20专业sdeptnvarchar20院系课程信息表(stu_info)列名数据类型大小小数位是否为空默认值约束含义course_idchar3否主键课程编号course_namenvarchar20否课程名course_typenvarchar20考试课程类型course_markint课程学分学生成绩表(stu_grade)列名数据类型大小小数位是否为空默认值约束含义stu_idchar10否主键学号course_idchar3否主键外键课程编号gradeint成绩实验数据记录及分析(或程序及运行结果)思考:1. 创建和删除表stu_info、course_info和stu_grade在顺序上分别有什么样的要求?2. 如何为表增加不允许为空的字段?3. 什么样的字段不允许删除?如何才能删除之?评语: 日期: 年 月 日实验四:数据的插入、修改和删除实验目的1. 学会使用图形化的方法对表中数据进行插入、修改和删除;2. 学会使用T-SQL命令对对表中数据进行插入、修改和删除;3. 了解数据在插入、修改和删除时要注意数据的完整性。实验内容1 启动SQL Server服务;2 启动SQL Server管理器/企业管理器,利用图形化的方法向学生信息表stu_info、课程信息表course_info和学生成绩表stu_grade中添加数据,其数据内容参考下表。3 利用图形化的方法对表数据进行如下修改:l 在表stu_info中,将学号(stu_id)为“2007070101”同学的籍贯(address)改为“河南洛阳”;l 在表stu_grade中,将成绩(grade)小于60分的所有同学成绩增加10%;4 利用图形化的方法删除数据表stu_grade中成绩(grade)小于60分的选课记录;5 利用INSERT INTO命令向学生信息表stu_info、课程信息表course_info和学生成绩表stu_grade中添加数据,其数据内容参考下表;6 利用UPDATE命令修改表数据:l 在表stu_info中,将学号(stu_id)为“2007070102”同学的院系(sdept)改为“会计学院”;l 在数据表stu_grade中,将信息学院成绩(grade)小于60分的所有同学成绩置空;7 利用DELETE命令删除表数据:l 在表stu_info中,删除所有籍贯(address)为“河南洛阳”的同学信息;l 在表stu_grade中,删除“张元选修操作系统”这一选课信息;8 假设有表“借阅(借书证号,书名,借阅日期,是否到期) ”,修改表中各记录在字段“是否到期”上的值,用借阅日期与当前日期比较,当差值大于规定期限(60天)时,将字段“是否到期”的值由“否”改为“是”。学生信息表(stu_info)stu_idnamebirthdaysexaddressmarkmajorsdept2007070101张元1985-10-09男河南郑州576计算机科学与技术信息学院2007070102张红1985-01-14女河南开封565计算机科学与技术信息学院2007070103王明1986-07-08男河南洛阳570计算机科学与技术信息学院2007070104李伟1986-03-11男河南郑州564计算机科学与技术信息学院2007070201郑澜1985-12-01女河南平顶山567电子商务信息学院2007070202赵恒1986-02-03男河南周口566电子商务信息学院2007070203张兰1986-04-06女河南许昌571电子商务信息学院2007080101李伟1985-09-12男河南郑州578会计学会计学院2007080102钱丽1985-11-23女河南安阳573会计学会计学院2007080201孙楠1986-11-19男河南南阳578财务管理会计学院课程信息表(stu_info)course_idcourse_namecourse_typecourse_markcourse_time701计算机基础考试350702操作系统考试450703计算机网络考试450704数据库原理考查350706Java考查340801宏观经济学考试450802初级会计考试450803财政学考试350804会计电算化考查3学生成绩表(stu_grade)stu_idcourse_idgradestu_idcourse_idgrade2007070101701892007070104702882007070101702812007080101701200707010170396200708010180291200707010270185200708010280187200707010270274200708010280250200707010270355200708020180375200707010470135200708020180482实验数据记录及分析(或程序及运行结果)6update stu_infoset sedpt =会计学院where stu_id=2007070102update stu_gradeset grade =nullwhere grade60评语: 日期: 年 月 日实验五:数据查询实验目的1. 掌握SELECT语句的基本语法;2. 掌握模糊查询的用法;3. 掌握连接查询的用法;4. 掌握子查询的用法。实验内容针对数据库student中的数据表,完成下列查询:1. SELECT基本使用l 查询每位同学的所有信息;l 查询学号为“2007070103”的同学的姓名、性别、籍贯和院系信息;l 查询每位女同学的学号、姓名和院系信息,并将结果中各列的标题指定为学号、姓名和院系;l 查询每位同学的年龄信息;l 查询所有其籍贯含有“阳”字的同学的姓名、性别和籍贯信息;l 查询选修了“701”号课程且成绩在7080之间的同学的学号;2. 嵌套查询l 查询选修“计算机基础”号课程的同学的学号、姓名和院系信息;l 查询没有选修“701”号课程的同学的学号、姓名和院系信息;l 查询比会计学院所有入学成绩都高的同学的学号、姓名、专业和院系信息;3. 连接查询l 查询每位同学的学号、姓名、课程名和成绩信息;l 查询入学成绩大于575分的同学的学号、姓名、课程名和成绩信息;l 查询成绩在90分以上的同学的学号、姓名、课程名和成绩信息;4. 数据汇总l 查询信息学院同学的入学平均分;l 查询全体同学的入学最高分和最低分;l 查询会计学院同学的总人数;l 查询所有其籍贯含有“阳”字的同学人数;l 查询学号为“2007070101”的同学的选课门数、平均分和总分;5. GROUP BYl 查询每个院系的总人数;l 查询每位同学的选课门数和平均分;l 查询平均分在80分以上的同学的学号、姓名、选课门数和平均分;l 查询专业人数在3人以上的专业名称及其所在院系信息;6. ORDER BYl 将信息学院同学的信息按入学成绩由高到低排列输出;l 查询选修“计算机基础”课程的每位同学的学号、姓名和成绩信息,并按成绩由低到高排列输出。实验数据记录及分析(或程序及运行结果)1 select *from stu_info select name ,sex,address ,sedpt from stu_info where stu_id =2007070103select stu_id 学号 ,name 姓名,sedpt 院系from stu_info where sex =女 select 2014-YEAR(birthday) 年龄from stu_info select name ,sex,address from stu_info where address like %阳%select stu_idfrom stu_gradewhere course_id=701 and grade80 and grade ( select MAX(mark) from stu_info where sedpt =信息学院 ) 3select stu_grade.stu_id ,name,course_name,grade from stu_info,course_info ,stu_grade where stu_grade.stu_id =stu_info.stu_id and stu_grade.course_id =course_info.course_id select stu_grade.stu_id ,name,course_name,grade from stu_info,course_info ,stu_grade where stu_grade.stu_id =stu_info.stu_id and stu_grade.course_id =course_info.course_id and mark 575 select stu_grade.stu_id ,name,course_name,grade from stu_info,course_info ,stu_grade where stu_grade.stu_id =stu_info.stu_id and stu_grade.course_id =course_info.course_id and grade 90 4select AVG(mark) 信息学院平均入学成绩 from stu_info where sedpt =信息学院select max(mark) 最高分,MIN (mark) 最低分 from stu_info select COUNT (*) 会计学院人数 from stu_info where sedpt =会计学院 select COUNT (*)籍贯含有阳的个数 from stu_info where address like %阳% select COUNT(course_id) 选课总数,AVG (grade)平均成绩,SUM (grade)总成绩 from stu_grade where stu_id =2007070101 5select COUNT(sedpt) from stu_info group by sedpt select COUNT (stu_id ),AVG (grade) from stu_grade group by stu_id select stu_grade.stu_id,name, COUNT(stu_grade.stu_id ),AVG(grade) from stu_grade,stu_info where stu_grade.stu_id =stu_info.stu_id group by stu_grade.stu_id ,name having AVG (grade)80select major,sedpt from stu_info group by sedpt ,major having count(major)36select * from stu_info where sedpt =信息学院 order by mark descselect stu_grade.stu_id ,name,grade from stu_info,stu_grade ,course_info where stu_grade.stu_id =stu_info.stu_id and stu_grade.course_id=course_info.course_id and course_name =计算机基础 order by grade 评语: 日期: 年 月 日实验六:索引实验目的1. 掌握索引的概念;2. 掌握利用管理器/企业管理器图形化的方法创建、删除索引;3. 掌握使用T-SQL命令创建、删除索引;4. 掌握索引分析的方法。实验内容1. 启动SQL Server服务;2. 启动SQL Server管理器/企业管理器,利用图形化的方法创建下列索引:l 对学生信息表stu_info中的name列创建非聚集唯一索引idx_name;l 对学生信息表stu_info中的sex列创建聚集索引idx_sex; create clustered index indexsexl on stu_info (sex) l 对学生成绩表stu_grade中的stu_id、course_id列创建复合索引idx_stu_course_id;3. 利用图形化的方法删除索引idx_stu_course_id;4. 利用T-SQL命令重复以上工作;5. 分析索引建立前后对查询效率的影响,写出分析结果。实验数据记录及分析(或程序及运行结果)评语: 日期: 年 月 日实验七:视图实验目的1. 理解视图的重要性;2. 掌握视图的建立;3. 掌握视图的使用。实验内容1. 启动SQL Server服务;2. 启动SQL Server管理器/企业管理器,利用图形化的方法创建下列视图:l 视图view_male,包含学生信息表中所有男生信息;l 视图view_stu_grade,包含每个同学的学号、姓名、课程名和成绩信息;l 视图view_avg,包含每个同学的学号、姓名、平均成绩信息;3. 利用图形化的方法查询视图view_male中的信息;4. 利用图形化的方法删除视图view_male;5. 利用CREATE VIEW命令创建下列视图:l 视图view_female,包含学生信息表中所有女生信息;l 视图view_count,包含每个院系的名称和学生人数信息;l 视图view_sum,包含每个同学的学号、姓名、课程总成绩信息;6. 利用DROP VIEW命令删除视图view_female;7. 通过视图,查询下列信息:l 查询“信息学院”的学生人数;l 查询学号“2007070101”同学的课程总成绩。实验数据记录及分析(或程序及运行结果)2create view view_maleas select distinct*from stu_info where sex=男create view view_stu_grade(stu_id,name,course_name,grade)as Select stu_grade.stu_id,name,course_name,gradefrom stu_info, course_info ,stu_grade where stu_grade.stu_id =stu_info.stu_id and course_info.course_id =stu_grade.course_id create view view_avg(stu_id,name,grade)as select distinct stu_grade.stu_id,name,avg(grade)from stu_info,stu_grade where stu_grade.stu_id =stu_info.stu_id group by name,stu_grade.stu_id 5create view view_femaleas select *from stu_info where sex=女create view view_count(sedpt,stu_count)as select sedpt ,COUNT (stu_id)from

温馨提示

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

评论

0/150

提交评论