数据库课程设计之学生信息管理系统文档格式.docx

上传人:b****4 文档编号:18448800 上传时间:2022-12-16 格式:DOCX 页数:7 大小:29.52KB
下载 相关 举报
数据库课程设计之学生信息管理系统文档格式.docx_第1页
第1页 / 共7页
数据库课程设计之学生信息管理系统文档格式.docx_第2页
第2页 / 共7页
数据库课程设计之学生信息管理系统文档格式.docx_第3页
第3页 / 共7页
数据库课程设计之学生信息管理系统文档格式.docx_第4页
第4页 / 共7页
数据库课程设计之学生信息管理系统文档格式.docx_第5页
第5页 / 共7页
点击查看更多>>
下载资源
资源描述

数据库课程设计之学生信息管理系统文档格式.docx

《数据库课程设计之学生信息管理系统文档格式.docx》由会员分享,可在线阅读,更多相关《数据库课程设计之学生信息管理系统文档格式.docx(7页珍藏版)》请在冰豆网上搜索。

数据库课程设计之学生信息管理系统文档格式.docx

--------------------

|sno|cno|score|

Column 

Name 

 

Date 

Type 

Width 

空值情况

Sno 

Char 

20 

主关键字

Sname 

10 

不为空

Sex 

 

age 

Numeric 

可为空

Depart 

Prize 

200 

Home 

Health 

&

nbsp;

Other 

Grade 

Class 

不为空

Cno&

Score 

Cno 

主关键字

Cname 

不为空

Teacher 

nbsp;

①关于关系模式info(|sno|sname|sex|age|depart|price|exp|home|health|grade|class|other|)假定姓名也具有唯一性,那么info就有两个码,这两个码都由单个属性组成,彼此不相交。

其它属性不存在对码的传递依靠与部分依靠,又因为info中除学号、姓名外没有其它的因素,因此info属于BCNF。

②关于关系模式course(|cno|cname|teacher|)中,它只有一个码,那个地点没有任何属性对课程号部分依靠或传递依靠,同时课程号是唯一的决定因素,因此课程属于BCNF。

③关于关系模式exam(|sno|cno|score|)有两个码,这两个码都由单个属性组成,彼此不相交,其它属性不存在对码的传递依靠与部分依靠,又因为成绩中除学号、课程号外没有其它的决定因素,因此成绩属于BCNF。

四、视图,索引,数据库权限:

create 

view 

temp 

(sno,sname,cname,score)

as 

select 

info.sno,info.sname,ame,exam.score 

from 

info,exam,course 

where 

info.sno=exam.sno 

and 

o=o

CREATE 

UNIQUE 

INDEX 

STUSNO 

ON&

info(sno);

GRANT 

SELECT 

ON 

TABLE 

examTO 

PUBLIC;

五、软件功能设计

功能表:

|-系统维护(下设系统退出)

|-信息录入(下设学生差不多信息录入|学生成绩录入)

|-信息查询(下设学生差不多信息查询|学生成绩查询*)

|-报表

功能描述:

退出系统:

退出程序。

学生数据输入:

输入学号、姓名、性不、年龄、出生年月等学生差不多信息。

成绩输入:

输入各学期学生考试成绩。

学生信息查询:

查询学生差不多信息。

学生成绩查询:

查询学生考试成绩。

按年级输出报表:

输出全年级学生各科目考试成绩。

按班级输出报表:

输出全班学生各科目考试成绩。

六、程序代码及控件描述

启动封面:

(w_start)

Open事件代码:

SQLCA.dbms="

ODBC"

SQLCA.database="

"

SQLCA.userid="

SQLCA.dbpass="

SQLCA.logid="

SQLCA.logpass="

SQLCA.dbparm="

ConnectString='

DSN=student;

UID=dba;

PWD=sql'

SQLCA.lock="

SQLCA.autocommit=false

connect 

using 

SQLCA;

IF 

SQLCA.Sqlcode 

lt;

>

then

messagebox("

无法连接数据库!

SQLCA.sqlerrtext)

close(w_start)

// 

else

open(w_startscc)

end 

if

CommandButton.text=“进入系统”

CommandButton 

clicked事件代码:

open(w_main)

主程序窗口(w_main):

title=“学生信息治理系统 

V1.0”

包含菜单m_main

窗口(w_infoinput)

dw_1.SetTransObject(SQLCA)

dw_1.Retrieve()

控件datawindow的dataobject属性:

i_info(一个freeform风格的数据窗口对象,显示info表的全部列)

commandbutton(text属性:

保存)clicked事件的代码:

dw_1.Update()

取消)clicked事件的代码:

dw_1.Retrieve()

插入)clicked事件的代码:

dw_1.InsertRow(dw_1.GetRow())

commandbutton(text属性:

删除)clicked事件的代码:

dw_1.DeleteRow(dw_1.GetRow())

窗口(w_scoreinput)

dw_1.Retrieve()

i_score 

(一个freeform风格的数据窗口对象,显示exam表的全部列)

窗口(w_query)

控件statictext的text属性:

“请输入学号:

控件groupbox包含24个statictext控件,它们的text属性分不对应info表的字段名和查询结果

控件SingleLineEdit的text属性为null

查询)clicked事件的代码:

Connect;

if 

SQLCA.SQLCode<

MessageBox("

连接错误"

SQLCA.SQLErrText,Exclamation!

//MessageBox("

done"

int 

Stu_id

string 

Stu_name,Stu_xuehao,Stu_sex,Stu_age,Stu_home

Stu_birth,Stu_depart,Stu_price,Stu_info,Stu_health

Stu_id=Integer(sle_id.Text)

info.sno,info.sname,info.sex,info.age,

info.depart,info.prize,info.exp,info.home,

info.health,info.grade,info.class,info.other

Into 

:

Stu_sno,:

Stu_sname,:

Stu_sex,:

Stu_age,

Stu_depart,:

Stu_prize, 

Stu_exp,:

Stu_home,

Stu_health,:

Stu_grade:

Stu_class, 

Stu_other

;

From 

student 

Where 

info.sno=:

Stu_id;

SQLCA.SQLCode=100 

THEN

学生查询"

"

对不起,没有该学生"

ELSEIF 

SQLCA.SQLCode>

数据库错误"

END 

IF

窗口(w_squery)

控件groupbox(text属性为:

“选择查询模式”)包含2个RadioButton控件,它们的text属性分不为按年级查询和按班级查询

控件SingleLineEdit(text属性为Null)功能为获得输入的年级/班级编号

控件CommandButton(text属性为确定)的Clicked事件代码:

integer 

n

slen

slen=Len(sle_1.text)

n=asc(sle_1.text)-48

(slen>

or 

slen=0) 

错误"

数据非法!

sle_1.text="

elseif 

(n<

n>

9) 

messagebox("

rb_1.checked=true 

info.sno,info.sname,o,ame,exam.score

info,course,exam

info.sno 

=exam.sno 

=o 

info.grade=n

rb_2.checked=true 

info.class=n

窗口(w_table)

“选择模式”)包含2个RadioButton控件,它们的text属性分不为按年级输出和按班级输出

控件CommandButton(text属性为确定)的Clicked事件代码:

dep_exam,info 

主菜单(m_main)代码:

退出系统clicked事件的代码:

close(w_main)

学生差不多信息输入clicked事件的代码:

Open(w_infoinput)

学生成绩输入clicked事件的代码:

Open(w_scoreinput)

学生差不多信息查询clicked事件的代码:

Open(w_query)

学生成绩查询clicked事件的代码:

Open(w_squery)

报表clicked事件的代码:

Open(w_table)

七、设计心得

在这次课程设计中,我尝试了使用PowerBuilder进行数据库软件开发的方法,加深了对数据库课程知识的理解。

由于时刻仓促,技术水平有限,软件还有专门多不足之处,如:

成绩查询部分不够完善,成绩输入模块不支持学生成绩批量输入,软件代码比较冗余、效率不高等等,差不多上对PB操作不熟练,对相关功能缺乏认识造成的。

在今后的学习中我会加强理论与实践的结合,通过不断的摸索来弥补自己在软件制作方面的差距。

计算机0303班01号文静

2005年12月20日

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

当前位置:首页 > 解决方案 > 学习计划

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

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