数据库原理课程设计

上传人:痛*** 文档编号:68002842 上传时间:2022-04-01 格式:DOC 页数:9 大小:52KB
收藏 版权申诉 举报 下载
数据库原理课程设计_第1页
第1页 / 共9页
数据库原理课程设计_第2页
第2页 / 共9页
数据库原理课程设计_第3页
第3页 / 共9页
资源描述:

《数据库原理课程设计》由会员分享,可在线阅读,更多相关《数据库原理课程设计(9页珍藏版)》请在装配图网上搜索。

1、数据库原理课程设计一、概述 数据库的普及,学校利用数据库,设计的学生管理系统,大大减少了学校学生管理的工作量。通过对学校日常教学管理中的课程、选课、学生、班级、教师、成绩等相关内容进行分析,完成具有学生管理、成绩管理、班级管理、教师管理、课程管理等相关功能的小型数据库管理应用系统。 通过课程设计,使学生掌握数据库的基本概念,结合实际的操作和设计,巩固课堂教学内容,使学生掌握数据库系统的基本概念、原理和技术,将理论与实际相结合,应用现有的数据建模工具和数据库管理系统软件,规范、科学地完成一个小型数据库的设计与实现,把理论课与实验课所学内容做一综合,并在此基础上强化学生的实践意识、提高其实际动手能

2、力和创新能力。设计环境:本学期学习了PB,在这里就采用PB环境进行数据库原理课程设计。二、需求分析1、问题的提出:为了对数据库的学习进行深入的理解和使用,做一个高效率的学生信息管理管理系统,进行本次的数据库课程设计。2、需完成的功能: 通过对学校日常教学管理中的课程、选课、学生、班级、教师、成绩等相关内容进行分析,完成具有学生管理、成绩管理、班级管理、教师管理、课程管理等相关功能的小型数据库管理应用系统。3、E-R图:课程信息表学分教师号课程号课程名学时学生信息表学号姓名专业年龄系别性别选课成绩课程号学号教师信息表教师号教师名教师性别教课教师系别成绩三、数据表:数据项是数据库的关系中不可再分的

3、数据单位,下表分别列出了数据的名称、数据类型、长度、取值能否为空。设计学生成绩管理数据库,包括课程、学生、教师、成绩四个关系, 其关系模式中对每个实体定义的属性如下:课程信息表course:(课程号,课程名,教师号,学分,学时)学生信息表info:(学号,姓名,性别,年龄,专业,系别)成绩信息表Exam:(学号号,课程名,成绩)教师信息表Teacher:(教师号,教师名,教师性别,教师系别)1、课程信息表(course)字段名描述数据类型字段限制cno课程号char(10)主关键字cname课程名char(10)不能为空teano教师号char(10)不能为空credit学分char(4)不能

4、为空ctime学时char(50)不能为空2、学生信息表(info)字段名描述数据类型字段权限sno学号char(10)主关键字sname姓名char(10)不能为空ssex性别char(2)不能为空sage 年龄char(2)不能为空major专业char(10)不能为空depart系别char(10)不能为空3.教师表(teacher)字段名属 性数据类型字段权限teano教师号char(10)主关键字tname教师名char(10)不能为空Tsex教师性别char(2)不能为空Tdepart教室系别char(10)不能为空4.成绩表(Exam)字段名属 性数据类型字段权限sno学号cha

5、r(10)主关键字cno课程名char(10)不能为空degree成绩char(10)不能为空四、视图,索引,数据库权限:createviewtemp(sno,sname,cname,score)asselectinfo.sno,info.sname,ame,exam.scorefrominfo,exam,coursewhereinfo.sno=exam.snoando=oCREATEUNIQUEINDEXSTUSNOONinfo(sno);GRANTSELECTONTABLEexamTOPUBLIC;五、软件功能设计功能表: 系统维护(下设系统退出) 信息录入(下设学生基本信息录入|学生成绩

6、录入) 信息查询(下设学生基本信息查询|学生成绩查询*) 报表功能描述:退出系统:退出程序。学生数据输入:输入学号、姓名、性别、年龄、出生年月等学生基本信息。成绩输入:输入各学期学生考试成绩。学生信息查询:查询学生基本信息。学生成绩查询:查询学生考试成绩。按年级输出报表:输出全年级学生各科目考试成绩。按班级输出报表:输出全班学生各科目考试成绩。六、程序代码及控件描述启动封面:(w_start)Open事件代码:SQLCA.dbms=ODBCSQLCA.database=SQLCA.userid=SQLCA.dbpass=SQLCA.logid=SQLCA.logpass=SQLCA.dbpar

7、m=ConnectString=DSN=student;UID=dba;PWD=sqlSQLCA.lock=SQLCA.autocommit=falseconnectusingSQLCA;IFSQLCA.Sqlcode0thenmessagebox(无法连接数据库!,SQLCA.sqlerrtext)close(w_start)/else/open(w_startscc)endifCommandButton.text=“进入系统”CommandButtonclicked事件代码:open(w_main)close(w_start)主程序窗口(w_main):title=“学生信息管理系统”包含

8、菜单m_main窗口(w_infoinput)Open事件代码:dw_1.SetTransObject(SQLCA)dw_1.Retrieve()控件datawindow的dataobject属性:i_info(一个freeform风格的数据窗口对象,显示info表的全部列)commandbutton(text属性:保存)clicked事件的代码:dw_1.Update()commandbutton(text属性:取消)clicked事件的代码:dw_1.Retrieve()commandbutton(text属性:插入)clicked事件的代码:dw_1.InsertRow(dw_1.Get

9、Row()commandbutton(text属性:删除)clicked事件的代码:dw_1.DeleteRow(dw_1.GetRow()窗口(w_scoreinput)Open事件代码:dw_1.SetTransObject(SQLCA)dw_1.Retrieve()控件datawindow的dataobject属性:i_score(一个freeform风格的数据窗口对象,显示exam表的全部列)commandbutton(text属性:保存)clicked事件的代码:dw_1.Update()commandbutton(text属性:取消)clicked事件的代码:dw_1.Retrie

10、ve()commandbutton(text属性:插入)clicked事件的代码:dw_1.InsertRow(dw_1.GetRow()commandbutton(text属性:删除)clicked事件的代码:dw_1.DeleteRow(dw_1.GetRow()窗口(w_query)控件statictext的text属性:“请输入学号:”控件groupbox包含24个statictext控件,它们的text属性分别对应info表的字段名和查询结果控件SingleLineEdit的text属性为nullcommandbutton(text属性:查询)clicked事件的代码:Connect

11、;ifSQLCA.SQLCode0THENMessageBox(数据库错误,SQLCA.SQLErrText,Exclamation!)ENDIF窗口(w_squery)控件groupbox(text属性为:“选择查询模式”)包含2个RadioButton控件,它们的text属性分别为按年级查询和按班级查询控件SingleLineEdit(text属性为Null)功能为获得输入的年级/班级编号控件CommandButton(text属性为确定)的Clicked事件代码:integernintegerslenslen=Len(sle_1.text)n=asc(sle_1.text)-48if(s

12、len1orslen=0)thenmessagebox(错误,数据非法!)sle_1.text=elseif(n9)thenmessagebox(错误,数据非法!)endifconnectusingSQLCA;ifrb_1.checked=truethenselectinfo.sno,info.sname,o,ame,exam.scorefrominfo,course,examwhereinfo.sno=exam.snoand,o=oandinfo.grade=nendififrb_2.checked=truethenselectinfo.sno,info.sname,o,ame,exam.s

13、corefrominfo,course,examwhereinfo.sno=exam.snoand,o=oandinfo.class=nendif窗口(w_table)控件groupbox(text属性为:“选择模式”)包含2个RadioButton控件,它们的text属性分别为按年级输出和按班级输出控件SingleLineEdit(text属性为Null)功能为获得输入的年级/班级编号控件CommandButton(text属性为确定)的Clicked事件代码:integernintegerslenslen=Len(sle_1.text)n=asc(sle_1.text)-48if(slen

14、1orslen=0)thenmessagebox(错误,数据非法!)sle_1.text=elseif(n9)thenmessagebox(错误,数据非法!)endifconnectusingSQLCA;ifrb_1.checked=truethenselect*fromdep_exam,infowhereinfo.grade=nendififrb_2.checked=truethenselect*fromdep_exam,infowhereinfo.class=n主菜单(m_main)代码:退出系统clicked事件的代码:close(w_main)学生基本信息输入clicked事件的代码:

15、Open(w_infoinput)学生成绩输入clicked事件的代码:Open(w_scoreinput)学生基本信息查询clicked事件的代码:Open(w_query)学生成绩查询clicked事件的代码:Open(w_squery)报表clicked事件的代码:Open(w_table)七、设计心得 通过这次课程设计,学到很多很多以前没有接触过的东西,除了提高了自己开发数据库系统的能力,培养了多方面思考问题的能力,是我这次课程设计最大的收获。在设计的过程中遇到过各种各样的问题,因为这个学期初次接触powerbuilder,而且在平常的上机实验过程中没有涉及到学习过这个软件,一开始确实

16、是感觉到不知所措,无从下手,但是借助参考图书馆的资料和以前别人开发的例子,还是慢慢的对它熟悉起来,最终完成了学校日程管理系统课程设计。 通过这次课程设计加深了我对数据库基础理论和基本知识的理解,使我很好的掌握了数据库应用系统设计开发的基本方法,并且提高了我综合运用所学知识和增强实际动手能力。 通过这个设计,我了解到一个大型的计算机管理系统必须有一个正确的设计指导思想,通过合理的选择数据结构,操作系统以及开发环境,构成一个完善的系统,才能充分发挥计算机信息管理优势。因为数据库的设计需要人性化,考虑各个方面的问题,这就需要设计者本身有这方面的能力。同时也反映出自己的许多不足,掌握知识不是很牢固,很难把书本上的知识运用到实际,这是自己的一个缺点和不足,同时我还发现自己考虑问题不够全面,有的问题是实际操作中会遇到的,但是自己却很难把这一问题体现在设计中并很好的解决它。这是以后学习中需要引以为戒的地方。这个系统的功能虽然有所欠缺,但是心理还是比较高兴的,因为这是到目前为止自己开发的第一个实用系统,在以后的学习中一定回经常复习数据库的知识,一步步的提高自己的开发数据库系统的能力。

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!