我的数据库课程设计.doc

上传人:m**** 文档编号:561690307 上传时间:2023-05-14 格式:DOC 页数:8 大小:348KB
返回 下载 相关 举报
我的数据库课程设计.doc_第1页
第1页 / 共8页
我的数据库课程设计.doc_第2页
第2页 / 共8页
我的数据库课程设计.doc_第3页
第3页 / 共8页
我的数据库课程设计.doc_第4页
第4页 / 共8页
我的数据库课程设计.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《我的数据库课程设计.doc》由会员分享,可在线阅读,更多相关《我的数据库课程设计.doc(8页珍藏版)》请在金锄头文库上搜索。

1、网络原理课程设计项目文档报告MAC帧封装程序设计专 业:网络工程 班 级:08网络 1班 指导教师:李树怀 姓 名:曲凯飞 学 号:200801040106 日 期:2010年01月09 日 一、概述学生成绩管理系统是个关系数据库应用系统。在数据库应用系统的开发过程中,数据库设计所要解决的问题是:设计优化的数据库逻辑和物理结构,使之满足用户的信息管理要求和数据操作要求,有效的支持数据库应用系统的开发和运行。二、 需求分析学生信息管理系统的主要任务是实现对某高校学生及其相关信息的管理,所有信息由学生信息数据库统一保存和管理。学生信息数据库主要包括学生基本信息、任课教师的基本信息、所开课程的基本信

2、息和各学生成绩管理。因此要实现的功能如下所示:1、 完成数据的录入和修改,并提交数据库保存。其中的数据包括:学生信息、教师信息、课程设置、学生成绩等。2、 实现信息查询。如成绩查询、教师授课情况查询、课程表查询等。3、 信息具有一定安全性,如只有一定的权限,才能进行数据的录入和修改。故需要设置操作员并对其权限机型设置,并设置密码。4、 具有数据备份和数据恢复功能。E-R图:三、 数据库逻辑设计1、将实体转换为关系模式学生(学号,姓名,年龄,性别,班级);主键为:学号。教师(教师号,姓名,性别,职称);主键为:教师号。课程(课程号,课程名);主键为:课程号。2、 联系转换为关系模式成绩(学号,课

3、程号,成绩);主键为(学好,课程号)3、基本表学生信息表(Stu): 字段名 数据类型 含义说明空值情况 Stu-IDChar(12)学生学号主关键字 Stu-NameChar(8)学生姓名不为空 Stu-datedate学生年龄不为空 Stu-SexChar(2)学生性别不为空Stu-PassChar(10)学生班级不为空班级信息表(Cla): 字段名 数据类型 含义说明空值情况 Cla-IDChar(4)班级编号主关键字 Cla-NameChar(8)班级专业名称不为空 Cla-ColChar(10)班级所属学院不为空教师信息表(Tea):字段名数据类型含义说明空值情况Tea-IDChar

4、(6)教师编号主关键字Tea-NameChar(8)教师姓名不为空Tea-SexChar(2)教师性别不为空Tea-PSChar(8)教师职称可为空课程信息表(Cou): 字段名 数据类型 含义说明空值情况 Cou-ID Char(6) 教师编号主关键字 Cou-Name Char(8) 任课老师的姓名不为空成绩表(Gra): 字段名 数据类型 含义说明空值情况 Stu-ID Char(12) 学生学号主关键字 Cou-ID Char(6) 课程号主关键字 Grade Int 成绩不为空3、 建立索引: 对Stu表在Stu-ID上建立非聚焦索引 对Tea表在Tea-ID上建立非聚焦索引 对Co

5、u表在Cou-ID上建立非聚焦索引 对Gra表在Stu-ID,Cou-ID上建立非聚焦索引,在Gra上建立聚焦索引。四、 软件功能设计程序运行开始界面如下图所示:点击“添加班级”按钮可进行班级注册,如下图所示:点击“更新成绩”按钮可对学生成绩进行录入,如下图所示:学生注册界面如下图所示:成绩查询界面如下图所示:教师授课情况查询如下图所示:五、 程序源代码1、创建各表代码:学生信息表(Stu)create table Stu (Stu-ID char(10) primary key,Stu-Name char(10) not null,Stu-Sex char(4),Stu-date date,

6、Stu-Pass char(20);班级信息表(Cla):create table Cla(Cla-ID char(8) primary key,Cla-Col char(10),Cla-Name char(10);教师信息表(Tea):create table Tea(Tea-ID char(6) primary key,Tea-Name char(8) not null,Tea-PS char(10) not null,);课程信息表:create table Cou(Cou-ID char(6) primary key,Cou-Name char(10) not null,);成绩表:c

7、reate table Gra(Stu-ID char(10),Cou-ID char(6),Grade integer,primary key(Stu-ID,Cou-ID);2、建立索引CREATE NONCLUSTERED INDEX StuIndex on Stu (Stu-ID);CREATE NONCLUSTERED INDEX CouIndex on Cou(Cou-ID);CREATE NONCLUSTERED INDEX TeaIndex on Tea(Tea-ID);CREATE NONCLUSTERED INDEX GraIndex on Gra(Stu-ID,Cou-ID

8、);4、 学生成绩查询declare yb1 cursor forselect Stu-ID,Stu-Name from Stuwhere Stu-ID=:ss and Stu-Pass=:mm;open yb1;String sa,sb,sc;fetch yb1 into :sa,:sb;if sqlca.sqlcode0 then messageBox(您好!,请检查帐号密码并重新输入);elselb_3.additem(学号: +sa+ 学生姓名: +sb);end ifclose yb1;declare yb2 cursor forselect Cou.Cou-Name,Gra.Gra

9、de Gradefrom Stu,Cou,Gra where Cou.Cou-ID in (select Cou.Cou-ID from Cou where Stu.Stu-ID in(select Gra.Stu-ID from Grawhere Gra.Stu-ID=:ss)and Stu.Stu-ID=Gra.Stu-ID and Cou.Cou-ID=Gra.Cou-IDopen yb2;fetch yb2 into :sb,:sc;do while sqlca.sqlcode=0lb_1.additem(sb+ +sc);fetch yb2 into :sb,:sc;loopclos

10、e yb2;declare yb3 cursor forselect sum(Gra.Grade),avg(Gra.Grade) from Gragroup by Gra.Stu-IDhaving Gra.Stu-ID=:ss;open yb3;fetch yb3 into :sb,:sc;lb_4.additem(总成绩: +sb+ 平均成绩: +sc);close yb3;5、 学生成绩录入insert into Gra values(:xm,:xb,:cj);commit;dw_1.retrieve()6、 学生注册open yb;String sa,sb,sc;fetch yb int

11、o :sa,:sb,:sc;if sqlca.sqlcode=0 then messageBox(提示,该学号已经存在);close yb;elseinsert into Stu values(:xh,:xm,:xb,:rq,:mm);close yb;commit;end if7、 教师授课查询declare yb cursor forselect Tea.Tea-Name,Cou.Cou-Name from Cou,Teawhere Cou.Cou-ID in(select teacher_Cou.Cou-ID from teacher_Cou where Tea.Tea-ID=teach

12、er_Cou.Tea-ID);open yb;String sa,sb,sc;fetch yb into :sa,:sb;lb_3.additem(教师姓名 课程名字);do while sqlca.sqlcode=0lb_1.additem(sa+ +sb);fetch yb into :sa,:sb;loopclose yb;六、 结束语在本次课程设计的软件开发的过程中,我全面实践一个面向数据库的应用系统的开发过程,学习了很多有关的知识。这样的项目对我学过的数据结构,程序设计,数据库,软件工程等课程是一个综合性很高的实践。一些以前没有学得很杂实的课程的内容,由于需要在实践中运用,刚开始我也

13、感到很头痛。但回过头再去看有关的教科书,经过一段时间的钻研,对与这些知识点的相关的背景,概念和解决方案理解得更透彻了,学习起来也越来越有兴趣,越来越轻松。熟悉了数据库设计的每一个过程。另外我还充分体会了从事软件开发工作需要特别严谨认真的态度和作风,一点都马虎不得。每一个细微的细节都必须十分的注意,如果不认真思考决策,就会出现或大或小的错误,如果早期的错误隐藏下来,对后面的工作影响就会很大,甚至有时要推倒很多前面做的工作重来。有时候,我自己觉得我写的程序非常的正确,但是就是编译通不过,在查找错误的过程中,面临着否认自己的过程,非常的痛苦,而且由于自己的经验及各方面的能力的不足,所以进展的速度非常的缓慢,往往几天的时间还没有一点进展。这时候,我一般是先自己通过书本,手册和资料找解决办法,实在没辙了才向专家请教。尽管向专家请教解决问题比较快,自己钻研花的时间较多,但我强迫自己独立的思考对我的学习提高帮助非常大。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 幼儿/小学教育 > 小学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号