5、统计“popular_comp”类图书的平均价格和价格总和。
6、列出所有作者为“Oakland”籍的图书。
11
学生信息管理系统设计与实现
一、设计目的
1)对本学期来所学习的数据库系统标准语言SQL及老师补充讲解的VB知识进行巩固,并提高知识的综合应用能力和自己的动手实践能力; 2)提高利用VB进行程序设计的能力;
3)提升将现实生活问题向计算机系统程序转化的抽象分析设计能力; 4)学习调试和测试的技巧。
二、设计要求
要求设计的学生信息管理系统的背景及功能需求如下:
学生管理系统主要为本校学生提供学生信息及其信息的管理并为其他管理系统提供学生数据。
在学校的实际管理中,学生是按班级进行管理的,而班级是按院系设置的,为了系统功能的完整,有必要在系统功能中包含院系,班级的整体信息,这些功能也可以包含在院校管理的其他信息管理系统中。
对学生信息主要包括学号、姓名、籍贯、性别等信息。学生管理系统的功能概括起来就是学生的各种信息的录入,维护和查询。系统的学生信息管理系统所要完成的主要功能如下: 学生的基本信息的录入,包括:学号、姓名、性别、班级、出生日期、联系电话等。 学生的基本信息的修改维护。 学生学籍变动情况的记录。 学生信息的查询。
三、数据库设计
1、需求分析
12
随着社会的进步,各种信息量也逐渐增加,包括在学校内,对学生的信息管理就是一个很重要的环节。对于新录入的学员要及时增添其相关信息到学校数据库,而对于已经毕业的学员也要及时删除。同时,在校学生的信息还可以随时进行更新编辑,以便保证数据的完整性和正确性。
此学生信息管理信息系统是面向大学的管理系统,其目的是对学校内的学生,班级,系和学会进行统一有序的管理。
1)系统涉及到的各实体以及实体之间的关系如下:
学生——学号, 姓名,性别,宿舍区, 班号,系号, 学会名 班级——班号,人数,入校年份,系号
经过分析,有两个问题:①学会和学生之间是多对多的关系 ②学生,班级和系形成了循环的主外键的关系,这对于级联删除和级联插入时会出现问题。所以,最终将各个实体表整合如下:
学生——学号, 姓名,性别,宿舍区, 班号 班级——班号,人数,入校年份,系号
2)面向的对象有后台管理员和前台注册的用户,他们的权限也不相同,权限范围如下: ①管理员权限:
管理员可以对系,班级,学生,学会以及学会成员分别进行添加,删除,查询和修改,只要符合条件和逻辑便可以将数据写进数据库中,并保证数据没有冗余。同时可以对自己的密码进行修改。
②普通用户权限:
普通用户可以对每个学生的综合信息进行查询,但不能进行添加,删除以及修改操作。进行查询显示的信息使用的是视图,是将学生,班级,系,学会成员四张表进行连接生成的。同时,用户同样可以对自己的密码进行修改。 3)存储过程的应用:
在普通用户进行信息查询的时候使用了存储过程,用于显示所有学生的相关信息,是基于视图操作的。
其组织结构图如下:
学生信息管理系统 普通用户 管理员 学生信息查询 学生信息管理 用户信息管理 班级管理
13
相关数据流图如下
(1)管理员活动流图:
子系统 系统功能 系统数据 数据连接线 用户名、密码 管理员 添加用户 登陆 失败 成 功 用户班级学生 信息信息信息 管理 管理 管理 班级信息 用户信息 学生信息
登录信息 (2)普通用户数据流图:
14
用户名、密码 普通用户 登陆 登录信息 失败 成 功 学生密码 信息修改 管理 学生信息 班级信息
数据字典:
(1) 数据结构:学生
含义说明:定义了一个学生的信息结构:
组成:学号, 姓名,性别, 出生年月,宿舍区, 班号,系号,学会名 数据项:学号
含义说明:唯一标识一个学生 类型:整型 长度:4
(2) 数据流:管理员对所有信息进行管理以及普通用户对信息进行查询
说明:表示每一位登录者的操作 (3) 处理过程: 各项操作
(4) 定义一个视图,用于显示普通用户查询的学生信息 (5) 定义一个存储过程,用于对视图中的学生信息进行查询
(6) 定义一个触发器,用于对普通用户注册的限制,有些用户名不能注册
二、结构设计
1.概念结构设计
根据需求,得到的E-R图如下:
15