数据库实验报告.docx

上传人:b****3 文档编号:12746416 上传时间:2023-04-21 格式:DOCX 页数:18 大小:418.11KB
下载 相关 举报
数据库实验报告.docx_第1页
第1页 / 共18页
数据库实验报告.docx_第2页
第2页 / 共18页
数据库实验报告.docx_第3页
第3页 / 共18页
数据库实验报告.docx_第4页
第4页 / 共18页
数据库实验报告.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

数据库实验报告.docx

《数据库实验报告.docx》由会员分享,可在线阅读,更多相关《数据库实验报告.docx(18页珍藏版)》请在冰豆网上搜索。

数据库实验报告.docx

数据库实验报告

工学系

课程实验报告

 

课程名称:

数据库系统原理

专业:

信息管理与信息系统

班级2011级信息管理与信息系统班

学号:

***********

************

**********************

2014年7月4日

 

《SQLServer2005数据库开发》实验报告

实验名称:

________________指导教师:

___________完成日期:

__________专业:

班级:

姓名:

___________

一、实验目的:

熟练掌握使用SQLServer2005企业管理器创建数据库、表、索引和约束的方法,学会利用企业管理器查看或修改数据库属性和表结构,加深对数据库模式、表结构、索引和数据完整性约束等概念的理解。

二、实验内容:

利用SQLServer企业管理器中实现:

(1)创建数据库并查看数据库属性;

(2)在数据库中定义基本表及结构,定义表的主码和基本约束条件,并为主码建索引;

(3)查看基本表结构,并修改表结构直到正确。

三、程序设计说明:

(实现步骤、算法设计思路、流程图等)

1、实验要求

(1)基本操作1)建立图书_读者数据库。

查看图书_读者数据库的属性,并修改至符合要求。

2)在图书_读者库中建立图书、读者和借阅表:

图书(书号,类别,出版社,作者,书名,定价);

读者(编号,姓名,单位,性别,电话);

借阅(书号,读者编号,借阅日期).

要求:

为属性选择合适的数据类型;定义每个表的主码;设置是否允许空值和缺省值等列级数据约束。

4)建立以下表级约束。

主码约束;借阅表与图书表间、借阅表与读者表之间的外码约束;实现借阅表的书号和读者编号的惟一性约束;实现读者性别只能是“男”或“女”的Check约束。

(2)提高操作

在SQLServer2005企业管理器中建立学生_课程库实现。

库中表结构为:

学生(学号,姓名,年龄,性别,所在系);

课程(课程号,课程名,先行课);

选课(学号,课程号,成绩).

要求:

建库、建表和建立表间联系。

选择合适的数据类型。

定义必要的索引、列级约束和表级约束。

2、实验步骤

1)打开SQLServer2005企业管理版,进行链接注册

2)在数据库中右击新建数据库,在新建的数据库中右击建立表

3)在表中输入数据并保存

4)对所建数据库进行备份

四、实验结果与结论:

(经调试正确的源程序(核心部分)和程序的运行结果)

1、读书—读者数据库

图书表

读者表

借阅表

2、学生选课数据库

学生表

课程表

选课表

五、实验总结:

(实验中遇到的问题及解决方法,心得体会等)

对SQLServer2005企业版的操作环境不是很熟悉,导致数据库的建立出现了一点问题

强化了对操作环境的熟悉应用,和输入的指法操作,锻炼了耐心,提高了成粗书写的细心程度。

《SQLServer2005数据库开发》实验报告

实验名称:

________________指导教师:

___________完成日期:

_________专业:

班级:

姓名:

一、实验目的:

进一步熟悉SQLServer企业管理器,熟练掌握使用企业管理器向数据库输入数据、修改数据和删除数据的操作,加深对数据库的关系、元组、属性和数据约束等概念的理解。

二、实验内容:

利用SQLServer企业管理器中实现:

(1)查看数据库的基本表的结构和数据约束,并将它们调整到正确;

(2)在数据库的基本表中正确输入数据;

(3)在数据库的基本表中插入、删除和修改数据;

(4)浏览数据库中基本表中的数据。

三、程序设计说明:

(实现步骤、算法设计思路、流程图等)

1、实验要求

在图书-读者库中向图书、读者和借阅3个表中各输入10条记录。

要求记录不仅满足数据约束要求,要有表间关联的记录。

2)对图书借阅数据库的图书、读者和借阅3个表中数据的插入、删除和修改操作。

3)对学生-课库的数据增加、数据删除和数据修改操作,要求学生、课程和选课表中各有10条以上记录。

2、实验步骤

1)打开SQLServer2005企业管理版,进行链接注册

2)在数据库中右击新建数据库,在新建的数据库中右击建立表

3)在表中输入数据并保存

4)对所建数据库进行备份

四、实验结果与结论:

(经调试正确的源程序(核心部分)和程序的运行结果)

1、读书—读者数据库

图书表

读者表

借阅表

2、学生选课数据库

学生表

课程表

选课表

五、实验总结:

(实验中遇到的问题及解决方法,心得体会等)

对SQLServer2005企业版的操作环境不是很熟悉,导致数据库的建立出现了一点问题

强化了对操作环境的熟悉应用,和输入的指法操作,锻炼了耐心,提高了成粗书写的细心程度。

 

《SQLServer2005数据库开发》实验报告

实验名称________________指导教师___________完成日期:

___________专业:

班级:

姓名:

_______________

一、实验目的:

进一步熟悉SQLServer企业管理器,熟练掌握使用企业管理器向数据库输入数据、修改数据和删除数据的操作,加深对数据库的关系、元组、属性和数据约束等概念的理解。

二、实验内容:

利用SQLServer企业管理器中实现:

(1)查看数据库的基本表的结构和数据约束,并将它们调整到正确;

(2)在数据库的基本表中正确输入数据;

(3)在数据库的基本表中插入、删除和修改数据;

(4)浏览数据库中基本表中的数据。

三、程序设计说明:

(实现步骤、算法设计思路、流程图等)

【5-1】查询表student中女生的相关信息。

SELECT*

FROMstudent

WHEREsex='女'

【5-2】列出所有course的职员课程名、课程号、学分。

SELECTcourseno,cname,credit

FROMcourse

【5-3】查询表student中入学成绩在780分以上的学生的学号、姓名和电话信息。

SELECTstudentno,sname,phone

FROMstudent

WHEREpiont>780

【5-4】查询表student中入学成绩在780分以上的学生的学号、姓名、电话和班级名称信息。

在FROM子句中使用AS关键字为表指派一个临时名称。

SELECTstudentno,sname,phone,classname

FROMstudentas学生,classas班级

WHEREpiont>780and班级.classno=学生.classno

【5-5】在course表中显示期中、期末成绩都高于85分的学生学号、课程号和成绩。

SELECTstudentno,courseno,usually,final

FROMscore

WHEREusually>=85ANDfinal>=85

【5-6】查询选修课程号为C05109或C06108且期末成绩大于等于85分的学生的学号、课程号和成绩。

SELECTstudentno,courseno,usually,final

FROMscore

WHERE(courseno='c05109'ORcourseno='c06108')ANDfinal>=85

【5-11】在student表中显示所有姓何或姓韩的学生的姓名、生日和E-mail。

SELECTsname,birthday,[E-mail]

FROMstudent

WHEREsnameLIKE'何%'orsnameLIKE'韩%'

【5-13】在student表中显示所有1989年或1月份出生的学生的姓名、生日和E-mail。

SELECTsname,birthday,[E-mail]

FROMstudent

WHEREbirthdayLIKE'%1989%'orbirthdayLIKE'%01%'

【5-16】查询学号分别为0824113307、0925111109和0935222201的学生学号、课程号、平时成绩和期末成绩。

SELECTstudentno,courseno,usually,final

FROMscore

WHEREstudentnoIN('0824113307','0925111109','0935222201')

【5-17】在student表中查询出生日期在1989年以后的学生的学号、姓名、电话和年龄。

SELECTstudentnoAS'学号',snameAS'姓名',

phoneAS'手机号',year(getdate())-year(birthday)AS'年龄'

FROMstudent

WHEREyear(birthday)>1989

 

四、实验结果与结论:

(经调试正确的源程序(核心部分)和程序的运行结果)

5-1

5-2

5-135-165-17

五、实验总结:

(实验中遇到的问题及解决方法,心得体会等)

了解了SQLserver在编程语言中的重要性,以及select查询的基本操作及应用,是我不断明白原来数据是这样操作的,使我的视野进一步开阔了。

 

2014-6-6

《SQLServer2005数据库开发》实验报告

实验名称:

________________指导教师:

___________完成日期:

_________专业:

班级:

姓名:

__________

一、实验目的:

进一步熟悉SQLServer企业管理器,熟练掌握使用企业管理器多表连接、子查询方式查询数据,加深对数据库的关系、元组、属性和数据约束等概念的理解。

二、实验内容:

利用SQLServer企业管理器中实现:

(1)多表连接、子查询、游标、大对象类型数据的概念;

(2)利用多表连接方式查询数据;

(3)利用子查询方式查询数据;

(4)利用游标处理集的基本过程。

三、程序设计说明:

(实现步骤、算法设计思路、流程图等)

1、查询

【6-1】查询选修课程号为C05109的学生的学号、姓名和期末成绩。

SELECTstudent.studentno,sname,final

FROMstudentINNERJOINscoreONstudent.studentno=score.studentno

WHEREscore.courseno='c05109'

【6-2】查询选修课程号为c05103且平时成绩高于80分的学生的学号、姓名、平时成绩和期末成绩

SELECTstudent.studentno,sname,usually,final

FROMstudentJOINscoreONstudent.studentno=score.studentnoandusually>80

WHEREscore.courseno='c05103'

【6-3】利用左外连接方式查询08级学生的学号、姓名、平时成绩和期末成绩

SELECTstudent.studentno,sname,usually,final

FROMstudentLEFTJOINscore

ONstudent.studentno=score.studentno

WHEREsubstring(student.studentno,1,2)='08'

【6-4】利用右外连接方式查询教师的排课情况

SELECTcourseno,tname,teacher.teacherno,major

FROMteach_classRIGHTJOINteacher

ONteach_class.teacherno=teacher.teacherno

【6-5】利用完全外连接方式查询教师的排课情况。

SELECTcourseno,tname,major,teacher.teacherno

FROMteach_classFULLJOINteacherONteach_class.teacherno=teacher.teacherno

【6-6】显示student表和score表的笛卡尔积

SELECTstudent.studentno,sname,score.*

FROMstudentCROSSJOINscore

【6-7】查询08级学生的学号、姓名、课程名、期末成绩及学分

SELECTstudent.studentno,sname,cname,final,credit

FROMscoreJOINstudentONstudent.studentno=score.studentno

JOINcourseONscore.courseno=course.courseno

WHEREsubstring(student.studentno,1,2)='08'

【6-8】查询计算机学院的老师的教师名、姓名、上课班级号、课程名和学分

SELECTteacher.teacherno,tname,class.classno,cname,credit

FROMteach_classJOINteacherONteach_class.teacherno=teacher.teacherno

JOINclassONteach_class.classno=class.classno

JOINcourseONteach_class.courseno=course.courseno

WHEREteacher.department='计算机学院'

【6-10】查询学号为000000的学生入学成绩、所有学生的平均成绩、该学生成绩与所有学生的平均入学成绩的差

selectstudentno,sname,point

(selectavg(point)fromstudent)as'平均成绩'

point-(selectavg(point)fromstudent)as'分数差值'

fromstudent

wherestudentno='0822111208'

【6-11】获取期末成绩中高于93分的学生学号、姓名、电话和邮箱

SELECTstudentno,sname,phone,[E-mail]

FROMstudent

WHEREstudentnoIN(selectstudentnofromscorewherefinal>93)

【6-13】查询期末成绩比该选修课程平均成绩低的学生的学号、课程号、期末成绩

SELECTstudentno,courseno,final

FROMscoreasa

WHEREfinal<(selectavg(final)fromscoreasbwherea.courseno=b.courseno

groupbycourseno)

【6-17】查询student表中是否存在1990年12月12日以后出生的学生,如果存在,输出学生的学号、姓名、生日和电话

selectstudentno,sname,birthday,phone

fromstudent

whereEXISTS(select*fromstudentwherebirthday<'1990-12-12')

四、实验结果与结论:

(经调试正确的源程序(核心部分)和程序的运行结

6-16-26-3

6-46-56-6

6-76-86-10

6-116-136-17

五、实验总结:

(实验中遇到的问题及解决方法,心得体会等)

掌握了多表连接,利用select语句中的多表连接、子查询等特性做了相关的题目,Transact-SQl语句功能强大,能够编写高级的SQL应用脚本。

 

学期实验总结

指导教师评语及成绩

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 教学研究 > 教学计划

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

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