刘文洲数据库课程设计精品_第1页
刘文洲数据库课程设计精品_第2页
刘文洲数据库课程设计精品_第3页
刘文洲数据库课程设计精品_第4页
刘文洲数据库课程设计精品_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

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

2、实际动手能力和创新能力。设计环境:本学期学习了PB在这里就采用PB环境进行数据库原理课程设计。二、需求分析1、问题的提出:为了对数据库的学习进行深入的理解和使用,做一个高效率的学生信息管 理管理系统,进行本次的数据库课程设计。2、需完成的功能:通过对学校日常教学管理中的课程、选课、学生、班级、教师、成绩等相 关内容进行分析,完成具有学生管理、成绩管理、班级管理、教师管理、课程管 理等相关功能的小型数据库管理应用系统。3、E-R 图:二、数据表:数据项是数据库的关系中不可再分的数据单位,下表分别列出了数据的名称、数据类 型、长度、取值能否为空。设计学生成绩管理数据库,包括课程、学生、教师、成绩四

3、个关系,其关系模式中对每个实体定义的属性如下: 课程信息表 course :(课程号,课程名,教师号,学分,学时) 学生信息表 info:(学号,姓名,性别,年龄,专业,系别)成绩信息表Exam (学号号,课程名,成绩)教师信息表Teacher :(教师号,教师名,教师性别,教师系别)1、课程信息表(course)字段名描述数据类型字段限制cno课程号char(10)主关键字cn ame课程名char(10)不能为空teano教师号char(10)不能为空credit学分char 不能为空ctime学时char(50)不能为空2、学生信息表(info)字段名描述数据类型字段权限sno学号cha

4、r(10)主关键字sn ame姓名char(10)不能为空ssex性别char 不能为空sage年龄char 不能为空major专业char(10)不能为空depart系别char(10)不能为空3.教师表(teacher )字段名属性数据类型字段权限tea no教师号char(10)主关键字tn ame教师名char(10)不能为空Tsex教师性别char 不能为空Tdepart教室系别char(10)不能为空4.成绩表(Exam)字段名属性数据类型字段权限sno学号char(10)主关键字eno课程名char(10)不能为空degree成绩char(10)不能为空四、视图,索引,数据库权限

5、:create view temp (sno,sn ame,c name,score)as select in fo.s no,i nfo.s name,course.c name,exam.scorefrom in fo,exam,course where in fo.s no=exam.s no and exam.c no=course.c noCREATE UNIQUE INDEX STUSNO ON info(sno);GRANT SELECT ON TABLE examTO PUBLIC;五、软件功能设计功能表:系统维护(下设系统退出)信息录入(下设学生基本信息录入|学生成绩录入)信

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

7、nn ectStri ng=DSN=stude nt;UID=dba;PWD=sql”SQLCA.Iock=SQLCA.autocommit=falseconnect using SQLCA;IF SQLCA.Sqlcode 0 the nmessagebox(无法连接数据库! ,SQLCA.sqlerrtext) close(w_start)/ else/ope n( w_startscc)end ifCommandButton.text=进入系统”Comma ndButton clicked 事件代码:ope n( w_ma in)close(w_start)主程序窗口( w_main):

8、title=学生信息管理系统”包含菜单 m_main窗口( w_infoinput)Ope n事件代码:dw_1.SetTra nsObject(SQLCA)dw_1.Retrieve()控件datawindow的dataobject属性:i_info (个freeform风格的数据窗口对象,显示info表的全部列)commandbutton (text 属性:保存) commandbutton (text 属性:取消) commandbutton (text 属性: 插入) dw_1.l nsertRow(dw_1.GetRow() commandbutton (text 属性:删除) dw

9、_1.DeleteRow(dw_1.GetRow()clicked 事件的代码:dw_1.Update()clicked 事件的代码:dw_1.Retrieve()clicked事件的代码:clicked事件的代码:窗口( w_score in put)Open事件代码:dw_1.SetTra nsObject(SQLCA)dw_1.Retrieve()控件datawindow的dataobject属性:i_score( 个freeform风格的数据窗口对象,显示exam表的全部列)commandbutton (text 属性:保存) commandbutton (text 属性:取消) co

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

11、eEdit 的 text 属性为 nullcommandbutton (text 属性:查询)clicked 事件的代码:Conn ect;if SQLCA.SQLCodevO the nMessageBox(连接错误 ”,SQLCA.SQLErrText,Exclamation!)end if/MessageBox(do ne,SQLCA.SQLErrText,Exclamatio n!)intStudstri ng Stu _n ame,Stu_xuehao,Stu_sex,Stu_age,Stu_homestri ng Stu_birth,Stu_depart,Stu_price,Stu

12、n fo,Stu_healthStu_id=I nteger(sle_id.Text)select in fo.s no,i nfo.s name,i nfo.sex,i nfo.age,in fo.depart,i nfo.prize,i nfo.exp,i nfo.home,in fo.health,i nfo.grade,i nfo.class,i nfo.otherInto :Stu_s no,:Stu_s name,:Stu_sex,:Stu_age,:Stu_depart,:Stu_prize, :Stu_exp,:Stu_home,:Stu_health,:Stu_grade:S

13、tu_class, :Stu_otherFrom stude nt Where in fo.s no=:Stud;IF SQLCA.SQLCode=100 THENMessageBox(学生查询,对不起,没有该学生)ELSEIF SQLCA.SQLCode0 THENMessageBox(数据库错误,SQLCA.SQLErrText,Exclamation!)END IF窗口( w_squery)控件groupbox(text属性为:选择查询模式”包含2个RadioButton控件,它们的text属性分别为按年级查询和按班级查询控件SingleLineEdit (text属性为Null )功能

14、为获得输入的年级/班级编号控件CommandButton (text属性为确定)的Clicked事件代码:in teger nin teger sle nsle n=Le n( sle_1.text)n=asc(sle_1.text)-48if (sle n1 or sle n=0) the nmessagebox(错误,数据非法!)sle_1.text=elseif (n9) the nmessagebox(错误,数据非法!)end ifconnect using SQLCA;if rb_1.checked=true the nselect in fo.s no,i nfo.s name,e

15、xam.c no,course.c name,exam.scorefrom in fo,course,examwhere in fo.s no =exam.s no and ,exam.c no =course.c no and in fo.grade=nend ifif rb_2.checked=true the nselect in fo.s no,i nfo.s name,exam.c no ,course.c name,exam.scorefrom in fo,course,examwhere in fo.s no =exam.s no and ,exam.c no =course.c

16、 no and in fo.class=nend if窗口( w_table)控件groupbox(text属性为: 选择模式”包含2个RadioButt on控件,它们的text属性分别为按年级输出和按班级输出控件SingleLineEdit(text属性为Null )功能为获得输入的年级/班级编号控件CommandButton (text属性为确定)的Clicked事件代码:in teger nin teger sle nsle n=Le n( sle_1.text)n=asc(sle_1.text)-48if (sle n1 or sle n=0) the nmessagebox(错误,

17、数据非法!)sle_1.text=elseif (n9) the nmessagebox(错误,数据非法!)end ifconnect using SQLCA;if rb_1.checked=true the nselect * from dep_exam,i nfo where in fo.grade=nend ifif rb_2.checked=true the nselect * from dep_exam,i nfo where in fo.class=n主菜单(m_main) 代码:退出系统clicked事件的代码:close(w_main)学生基本信息输入clicked事件的代码:

18、Open(w_infoinput)学生成绩输入clicked事件的代码:Open(w_scoreinput)学生基本信息查询clicked事件的代码:Open(w_query)学生成绩查询clicked事件的代码:Open(w_squery)报表clicked事件的代码:Open(w_table)七、设计心得通过这次课程设计,学到很多很多以前没有接触过的东西,除了提高了自己 开发数据库系统的能力,培养了多方面思考问题的能力,是我这次课程设计最大 的收获。在设计的过程中遇到过各种各样的问题,因为这个学期初次接触 powerbuilder,而且在平常的上机实验过程中没有涉及到学习过这个软件,一开 始确实是感觉到不知所措,无从下手,但是借助参考图书馆的资料和以前别人开 发的例子,还是慢慢的对它熟悉起来,最终完成了学校日程管理系统课程设计。通过这次课程设计加深了我对数据库基础理论和基本知识的理解,使我很好的掌握了数据库应用系统设计开发的基本方法,并且提高了我综合运用所学知识 和增强实际动手能力。通过这个设计,我了解到一个大型的计算机管理系统必须有一个正确的设计 指导思想,通过合理的选择数据结构,操作系统以及开发

温馨提示

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

评论

0/150

提交评论