设计可以提高数据存储的效率,保证数据的完整和一致。同时,合理的数据库结构也将有利于程序的实现。
设计数据库系统时应该首先了解用户各个方面的需求,包括现有的以及将来可能增加的需求。
3.1.数据库需求分析
用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输入和输出。收集基本数据、数据结构以及数据处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。
再仔细分析调查有关学生信息需求的基础上,将得到如下图所示的系统所处理的数据流程。
学生注册 基本信息输入 班级设置 课程基本信息 班级课班级管理 程设置 学籍信息管理 成绩信班级课程管理 息输入 成绩信息管理
针对一般学生信息管理系统的需求,通过对学生学习过程的内容和数据流程分析,设计如下所示的数据项和数据结构。
? 学生基本信息:包括学生学号、学生姓名、性别、出生日期、班号、
联系电话、入校日期、家庭住址和备注等数据项。
6
? 班级信息:包括班号、所在班级、班主任姓名、和所在教室等数据
项。
? 课程基本信息:包括课程号、课程名称、课程类别和课程描述等数
据项。
? 课程设置信息:包括年级信息和所学课程等数据项。
? 学生成绩信息:包括考试编号、所在班号、学生学号、学生姓名、
所学课程和考试分数等数据项。 有了上面的数据结构、数据项和数据流程,就可以进行下面的数据库设计。
3.2.数据库概念结构设计
得到上面的数据项和数据结构后,就可以设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。这些实体包括各种具体信息,通过相互之间的作用形成数据的流动。
本次实训根据上面的设计规划出的实体有:学生实体、班级实体、年级实体和课程实体。各个实体具体的描述如图。
学生实体图
学号 姓名 性别 出生日期 学生 班号 入校时间 家庭住址 联系电话
班级实体图
7
班级 班号 年级 班主任 所在教室
课程实体图
课程 课程号 课程名 课程类型 课程描述 年级实体图
年级 年级名称 包括班级 设置课程
实体和实体之间的关系如图所示。
8
学生 考核过程 班级设置 班级 年级设置 年级 课程设置 课程
3.3.数据库逻辑结构设计
现在需要将上面的数据库概念结构转化为SQL Server 2000 数据库所支持的实际数据模型,也就是数据库的逻辑结构。在上面的实体以及实体之间的关系的基础上,形成数据库中的表格以及各个表格之间的关系。
学生信息管理系统数据库中各个表格的设计结果如表所示。每个表格表示在数据库中的一个表。
表1 : class_Info 班级信息表格
表2: course_Info 课程基本信息表
9
表3: gradecourse_Info 年级课程设置表格
表4: result_Info 学生成绩信息表
表5: user_Info 系统用户表
表6: student_Info 学生基本信息表
五.各功能模块的创建及程序清单
4.1.学生信息管理系统主窗体的创建
10