文档库 最新最全的文档下载
当前位置:文档库 › 数据库设计教学管理系统实例

数据库设计教学管理系统实例

数据库设计

一、需求分析

设计和开发应用系统的第一步就是进行需求分析,了解用户对数据库系统的基本要求。例如,教学管理人员及教师通过该系统可以对全校教师信息、系部信息、课程信息和学生信息进行添加、删除、修改和查询等操作,教师通过该系统可以对所教课程进行成绩的登记管理;另外,通过该系统还可以对学生选课情况进行汇总分析、产生报表等。

系统主界面如图:

二、概念结构设计

三、逻辑结构设计

ER 图转换成数据库关系模型需要5个表(四个实体,一个关系) 1、“系部”表:系号、系名、系主任 2、“教师”表:教师编号、姓名、性别、出生日期、系号、职称、电话号码、E-mail 、简历、照片 3、“学生”表:学号、姓名、性别、出生日期、系号、班级、货款否、简历、照片 4、“课程”表:课程号、课程名、学分、教师编号、开课学期 5、“选课”表:学号、课程号、成绩

课程 授课

系部

学生

选课

教师

管理 n 包含

1 1

n

m

n

n 1

成绩

表格1 “系部”表

表格2 “教师”表

表格3 “学生”表

表格4 “课程”表

四、代码设计

五、信息输入模块设计

该模块主要通过窗体完成对数据库中各个表的记录的输入和编辑

(1)“教师”表信息输入:教师表中的信息较多,设计为单个窗体样式,其中,“系号”组合框使用向导生成,“职称”组合框的“行来源类型”使用值列表,

在“教师编号”文本框中输入要查找的教师编号后,单击“查找”按钮,可以在当前窗体中显示相应的教师信息,以便于修改数据;单击“全选”按钮,可以取消筛选,恢复显示所有的教师记录。这两个命令按钮的功能用宏实现。

(a)教师窗体界面(共有命令按钮10个)

(b)“查找”按钮对应的宏:findTno查找

(C)“全选”按钮对应的宏:selAll全选

(d)其他8个命令按钮均使用命令按钮向导完成

第一条:记录导航→转至第一项记录

上一条:记录导航→转至前一项记录

下一条:记录导航→转至下一项记录

最后一条:记录导航→转至最后一项记录

增加:记录操作→添加新记录

删除:记录操作→删除记录

保存:记录操作→保存记录

退出:窗体操作→关闭窗体

(2)“学生”表信息输入:该窗体的设计与“教师”窗体类似

(3)“系部”表和“课程”表信息输入,这两个表的信息较少,可以设计为表格样式的窗体。

例如,选择“系部”表,单击“创建”选项卡→“窗体”组→“其他窗体”下拉按钮,选择“数据表”保存“系部”窗体。

(4)“选课”表信息输入:该表中的记录采用以班级和课程为单位的方式进行编辑,其界面

六、信息查询模块设计

该模块主要通过窗体完成查询参数的输入和查询结果的输入。

(1)教师信息查询:该窗体界面

选择某个教师编号后,单击“教师基本情况”按钮,可打开“教师基本情况”窗体,显示该教师的详细情况;单击“教师授课情况”按钮,可打开“教师授课情况”窗体,显示该教师讲授的所有课程。

“教师基本情况”窗体与输入信息的窗体很相似,只是将“系号”换成了“系名”,并增加了一项年龄信息,该文本框为计算机文本框,其“控件来源”为“=(year(date())-year([出生日期]))

(a)首先建立“教师信息查询”窗体;

(b)建立“教师基本情况查询”和“教师授课情况查询”;

与此相对应的SQL语句为:

SELECT DISTINCT 教师.教师编号, 教师.姓名, 系部.系名, 教师.职称, 课程.课程号, 课程.课程名AS 授课课程, 学生.班级AS 授课班级

FROM 学生INNER JOIN (系部INNER JOIN ((教师INNER JOIN 课程ON 教师.教师编号=课程.教师编号) INNER JOIN 选课ON 课程.课程号=选课.课程号) ON 系部.系号=教师.系号) ON 学生.学号=选课.学号

WHERE (((教师.教师编号)=[forms]![教师信息查询]![教师编号]));

(c)建立与以上两个查询对应的窗体:“教师基本情况”窗体和“教师授课情况”窗体;

(d)建立与“教师信息查询”窗体上两个命令按钮“教师基本情况”和“教师授课情

况”相对应的宏:“打开教师基本情况窗体”和“打开教师授课情况窗体”

(e)建立命令按钮与事件(宏)的对应关系

(2)学生信息查询:该窗体界面

选择学号,单击“查询”按钮,可以显示该学生的详细情况。选择班级,单击“查询”按钮,可以打开“按班级浏览学生记录”窗体,显示该班级所有学生的情况,并统计总人数。

创建“按班级浏览学生记录”窗体时,“创建”选项卡→“窗体”组中“其他窗体”下拉箭头,选择“多个项目”后输入某学生的学生号即可创建。然后在创建的窗体基础上进行手工设计。

到目前为止一共有4个查询、6个窗体和4个宏

(3)课程信息查询:该窗体界面,可以按开课学期查询课程情况

“开课学期”组合框的“更改”事件属性设置为一个宏,其中包含一个ApplyFilter操作,它的“Where条件”参数为

[课程].[开课学期]=[Forms]![按学期浏览开课情况][开课学期]

涉及一个表,所以不需要创建查询

创建“按学期浏览开课情况”窗体时,“创建”选项卡→“窗体”组中“其他窗体”下拉箭头,选择“多个项目”然后在创建的窗体基础上进行手工设计。

由此增加一个窗体和一个宏

(4)选课信息查询

(a)创建“选课情况查询”

(b)创建“选课情况查询”窗体

(c)创建“按学号查询选课情况”查询

(d)创建“按学号查询选课情况”窗体

(e)创建“打开按学号查询选课情况窗体”宏,并将“选课情况查询”窗体中的“查询”

按钮(本例中使用默认名:Command15)的“单击”事件属性设置为该宏。

(f)创建“按课程查询选课情况”查询

(g)以“按课程查询选课情况”为数据源创建“按课程查询选课情况子窗体”

然后输入“101”、“60”、“90”(本例)转“设计视图”修饰

(h)建立主窗体,无记录源,在该窗体中插入“按课程查询选课情况子窗体”,其中“分数下限值”文本框的名称为txtLow,“分数上限值”文本框的名称为txtHigh,这两个控件名称在“按课程查询选课情况”查询条件中被引用。保存该对象,命名为“按课程查询选课情况主窗体”。

(i)创建“按课程查询选课情况”宏,并将“选课情况查询”窗体中的“查询”按钮(本例中使用默认名:Command18)的“单击”事件属性设置为该宏。

到目前为止:五个表,七个查询,11个窗体,七个宏

七、信息汇总和分析模块设计

该模块主要利用报表对数据库信息进行统计和汇总,并根据需要选择是否打印输出。(1)教师授课情况:将所有教师的授课情况汇总在一起。

(a)建立“教师授课情况汇总”查询

(b)选择“教师授课情况汇总”查询,单击“创建”选项卡“报表”组中的“报表向导”按钮,

注:为了形象地说明报表的汇总功能,将原“课程”表中的102课程的讲授人由原来的505001改为506001

相关文档
相关文档 最新文档