王静数据库实训报告Word文档下载推荐.docx
- 文档编号:7973715
- 上传时间:2023-05-09
- 格式:DOCX
- 页数:17
- 大小:264.61KB
王静数据库实训报告Word文档下载推荐.docx
《王静数据库实训报告Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《王静数据库实训报告Word文档下载推荐.docx(17页珍藏版)》请在冰点文库上搜索。
号
201206012028
时间
2014年6月30日
一、实训目的:
数据库课程设计实验是一门独立开设的实验课程。
数据库课程设计实验对于巩固数据库知识,加强学生的实际动手能力和提高学生综合素质十分必要。
本课程设计实验主要围绕两方面内容:
数据库设计和基本数据库编程实践。
通过本实验,使学生了解数据库系统的理论,掌握数据库的设计方法及数据库的运用和开发技术。
1.掌握数据库设计的基本方法,熟悉数据库设计的步骤;
2.通过设计数据库系统应用课题,进一步熟悉数据库管理系统的操作技术,提高动手能力,提高分析问题和解决问题的能力;
3.学习数据库应用系统开发方法。
培养学生初步的软件设计能力,形成良好的编程风格。
二、实训内容:
(可根据内容增加或另附页)
1.系统分析与数据库设计阶段
(1)选择一个实际应用数据库系统的课题。
建议通过社会调查获得用户需求,
(2)进行系统需求分析和系统设计,写出系统分析和设计报告。
(3)设计数据模型并进行优化,确定数据库结构、功能结构和系统安全性和完整性要求。
2.应用程序设计阶段
(1)完成数据库定义工作,实现系统数据的数据处理和数据录入。
(2)实现应用程序的设计、编程、优化功能,实现数据安全性、数据完整性等功能,并针对具体课题问题提出解决方法。
3.系统集成调试阶段
对系统的各个应用程序进行集成和调试,进一步优化系统性能,改善系统用户界面。
4.课程设计报告撰写阶段
该阶段应完成以下文档资料的撰写:
(1)课程设计的题目、系统的总功能和各子模块的功能。
(2)系统的总功能和各子模块功能构成和描述。
(3)E-R图、主要界面设计图、程序处理流程图等。
(4)使用的数据库表结构的详细情况。
(5)课程设计的总结,主要包括以下内容。
课程设计中遇到的主要问题和解决方法。
创新和得意之处。
课程设计中存在的不足,需进一步改进的设想。
课程设计的感想和心得体会。
以上内容要求干净整洁,符合课程设计的要求和规范。
实训题目1:
学生成绩管理系统
实训要求:
1.需求分析设计阶段:
对用户需求进行分析,对系统功能进行优化,绘制数据字典
2.概念设计阶段:
设计数据库的概念结构,即绘制E-R图
3.逻辑结构设计阶段:
设计数据库的逻辑结构,将E-R图转化成关系模式,并对其优化
4.数据库的实施与维护:
创建数据库,输入数据,对数据进行添加、删除、修改等
课程设计报告:
1.需求分析
1.1用户需求
1.1.1针对教师的需求:
信息要求:
对学生成绩的了解,对学生成绩会有一个成体的了解,在今后的课程教学中可以对自己进行改进。
同时还可以对教授的课程进行修改和重设。
还可以进一步了解学生的信息,加深对学生的了解,便于因材施教。
处理要求:
当学生基本信息发生变化时,老师能对其进行修改。
比如某些同学中有转校、后转来该系或转到其他系中,老师要能根据事实情况进行更新。
需要有的操作是修改、删除、增加。
能够管理课程信息。
如老师进行排课的时候能够有序的安排,不会出现错排或重复等一系列状况。
能够进行课程名、课时、学分的修改、删除和增添。
对成绩的管理,能够进行成绩的录入、修改、删除,能够清晰的了解学生的成绩和大体情况,以便做出相应的总结和改进。
1.1.2针对学生的需求:
信息要求:
能够查询自己的成绩信息和大家的整体成绩好做出对自己的新的定位,同时还有更改自己的学生信息,还有就是查询新的课程信息。
当学生发现自己信息出现错误时,可以根据自己的实际情况来进行更改,比如某同学发现自己的年龄存储出现了错误就需要相应的机制进行修改、删除等。
同时还可进入成绩查询系统。
在该界面中同学可以查询自己的成绩,还可以查询整个科目的全部成绩
1.1.3系统的安全性与完整性要求
系统应设置访问用户的标识以鉴别是否是合法用户,并要求合法用户设置其密码,保证用户身份不被盗用;
系统应对不同的数据设置不同的访问级别,限制访问用户可查询和处理数据的类别和内容;
系统应对不同用户设置不同的权限,区分不同的用户,如区分普通用户(学生),教职工。
各种信息记录的完整性,信息记录内容不能为空;
各种数据间相互的联系的正确性;
相同的数据在不同记录中的一致性。
1.2信息需求
对学校而言,学生成绩管理系统是所有工作的首要之选,但是高校学生的成绩管理工作量大、繁杂,人工处理非常困难。
所以应该了解该系统需要什么信息
1)学生基本信息:
学号、学生姓名、性别、年龄、系别、专业、班级。
2)课程基本信息:
课程编号、课程名称、教师编号、学分。
3)教师基本信息:
工号、教师姓名、性别、所教课程、系别。
4)成绩管理信息:
学号、工号、课程编号、分数。
5)班级基本信息:
班级号、班级名、班级人数
1.3数据字典
1.3.1学生的数据字典
学生属性包括学号、学生姓名、性别、出生日期、系别、专业、班级
属性名
代码
类型
长度
权限
学号
Sno
Char
10
Primary
学生姓名
Sname
Notnull
性别
Ssex
2
年龄
Sage
系别
dept
专业
Major
班级
Class
1.3.2教师的数据字典
教师的属性包括工号、教师姓名、性别、所教课程、职称、系别。
工号
Tno
教师姓名
Tname
Tsex
所教课程
course
1.3.3课程的数据字典
课程的属性包括课程编号、课程名称、教师编号、学分。
课程编号
Cno
Primarykey
课程名称
Cname
学分
Credit
4
1.3.4成绩的数据字典
成绩属性包括学号、工号、课程编号、分数
分数
score
1.3.5班级的数据字典
班级属性包括班级号、班级名、班级人数。
班级号
classno
班级名
Classname
班级人数
Number
2.概念结构设计
E-R图
2.1.1各实体的E-R图
2.1.2学生与教师之间的E-R图
2.1.3学生与成绩之间的E-R图
2.1.4总E-R图
3.逻辑结构设计
将E-R图转换成关系模式
设计学生成绩管理数据库,主要包括学生、教师、课程、成绩、班级五个关系,其关系模式中对每个实体定义单位属性如下:
学生表(学号、学生姓名、性别、年龄、系别、专业、班级),主码为学号
课程表(课程编号、课程名称、教师编号、学分)主码为课程编号
教师表(工号、教师姓名、性别、所教课程、系别)主码为工号
成绩表(学号、工号、课程编号、分数)主码为学号、工号和课程编号
班级表(班级号、班级名、班级人数)主码为班级号
4.数据库的实施和维护
4.1基本表的创建
创建学生表
createtablestudent
(snochar(10)primarykey,
snamechar(10)notnull,
ssexchar
(2)check(ssexin('
男'
'
女'
)),
sagechar
(2)notnull,
deptchar(10)notnull,
majorchar(10)notnull,
classchar(10)notnull
)
创建教师表
createtableteacher
(tnochar(10)primarykey,
tnamechar(10)notnull,
tsexchar
(2)check(tsexin('
coursechar(10)notnull
)
创建成绩表
createtablegrade
(snochar(10)notnull,
cnochar(10)notnull,
scorechar(4)notnull,
primarykey(sno,cno),
foreignkey(sno)referencesstudent(sno),
foreignkey(cno)referencescourse(cno)
)
创建课程表
createtablecourse
(cnochar(10)primarykey,
cnamechar(10)notnull,
tnochar(10)notnull,
creditchar(10)notnull,
foreignkey(tno)referencesteacher(tno)
创建班级表
createtableclass
(classnochar(10)primarykey,
classnamechar(10)notnull,
numberchar(10)notnull
4.2数据插入
插入学生信息
insertintostudent(sno,sname,ssex,sage,dept,major,class)
values(01,'
刘佳'
19'
信管'
信息'
1201'
插入成绩信息
插入教师信息
insertintoteacher(tno,tname,tsex,dept,course)
values(2,'
李丽'
外院'
英语'
插入班级信息
插入课程信息
4.3数据的查询
查询课程号为学号为01学生姓名,课程号及成绩
selectgrade.sno,sname,cno,score
fromstudent,grade
Wherestudent.snoin
(Selectstudent.sno
FromStudent
Wherestudent.sname='
andstudent.sno=grade.sno)
4.4数据的删除
删除学号为03的学生信息
delete
fromstudent
wheresno='
03'
4.5求平均成绩
按班级计算平均成绩
selectavg(score)as平均成绩,MAX(score)as最高成绩,MIN(score)as最低成绩
fromgrade
按课程计算平均成绩
fromgrade
groupbyo
刘佳与小赵所有课程平均分
selectavg(score)as平均成绩
groupbygrade.sno
4.6创建视图
创建学生视图
createview学生
as
select*
fromstudent
Go
创建成绩视图
createview成绩
as
selectstudent.sno'
学号'
student.sname'
学生名'
o'
课程号'
ame'
课程名'
grade.score'
成绩'
fromstudent,course,grade
wherestudent.sno=grade.snoando=o
Go
结论:
刚开始还是一片茫然,在与同学交流后下,我开始建立学生成绩管理系统的基本思路:
首先在构思整个学校的大致流程,根据这些流程确立实体。
然后根据几个实体以及它们的属性和他们的关系来创建E—R图。
在这个过程中遇到了许多问题,在不断的查阅资料,我都找到了正确的方法和答案。
不足:
由于自己对SQL语句掌握不牢固,在建立视图时,总执行错误。
计算平均成绩时,出现char与运算符无法匹配,我又重新修改的成绩表中的字符类型。
成绩查询部分不够完善,成绩输入模块不支持学生成绩批量输入,软件代码交冗余、效率不高等,对SQLServer操作不熟练,对相关功能缺乏认识。
三、实训总结:
经过两周的课程设计,加强了我关于理论联系实际、与具体课题项目结合开发、设计系统的能力。
既让我们了解到应该怎样把理论运用于实际,又让我了解到在实践中遇到问题时要怎样运用所学知识理论去解决。
在本次课程设计中,还需要一些以前没有学习到的知识,于是书籍跟网络成了我的良好助手。
具体来说,在进行查询设计时,开始我无法将结果以表格的形式展示,报表的设计也存在问题,在网上查阅资料和与同学讨论学习后,将问题解决了。
在查阅资料的过程中,要判断优劣、取舍相关知识,这样一来我们对搜索来的信息的利用能力也有所提高。
通过做课程设计,我确实学到了相当多的东西。
眼高手低是同学们的通病,有些事情看起来很同意,但做起来并不是如此。
在做本次数据库课程设计之前,我已经将课本上的东西熟练掌握,自认为做一个很简单的课程设计应该很容易,然而真正操作起来却遇到了很多的麻烦。
首先,在开始做课程设计时对整个模块的把握不够好,以至于浪费了好多时间,而没能按想象中的顺利完成。
其次,在编写各个模块的程序代码时,真正感觉到了难度相当大,每次编写出来的代码都需要经过好几次修改才能顺利运行,而且在编写代码时常常会遇到一些很难解决的问题。
但是我总相信一句话“只要坚持,一千次失败过后,被会有一次闪亮的成功,凡事不能一蹴而就,对待学问、对待科研更是如此”,在做完这次课程设计之后,我也体会到了一种成功的喜悦。
同时这次课程设计也让我查到了许多在数据库学习中的漏洞,我也通过这次的实践机会完善了自己的知识,起到了很好的查缺补漏的效果。
参考文献:
1.王珊,萨师煊.数据库系统概[M].北京高等教育出版社,2007
2.白晓勇,余健.VisualBasic程序设计案例精编[M].北京:
清华大学出社,2007
3.周佩德.《数据库原理及应用》.电子工业出版社,2005
教师:
李海梅
成绩:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 报告