目的

①了解使用数据库创建和表的创建.

②了解使用数据的添加和增删改查等SQL语句.

③理解数据库的表之间的关系处理.

④构建良好安全的后台数据管理系统.

设备及材料

一台装有SQL Server2012数据库,Eclipse的PC机.

三 数据库设计

3.1系统需求分析阶段

学生信息管理系统是非常通用的管理信息系统,是学校单位实现办公自动化的前提和基础。一个学校要正常运作必定有一个健全的学生管理系统,来管理学生的信息,包括学生学号、姓名、性别、民族及奖惩成绩情况。除此之外,系统还供学生查询个人和公共信息, 管理员对学生信息进行更改或删除,管理学生的变更和管理,大大提高学校内部学生管理的工作效率。

所有的数据库需求分析阶段就是分析用户的需求,而需求分析主要包括数据库的起点,而需求分析的结果需要准确的反应用户的实际需求,数据库的设计不能脱离具体的、实际的需求分析。

应该准确客观的反应出用户的实际需求,需求分析的准确性将直接影响到数据库最终呈现的效果,同时也将影响到后面各个阶段的设计,最终影响设计的结果。最终呈现出来就是一个脱离实际的,不符合用户要求的数据库。

由此可见,系统分析阶段的分析显得尤为重要,只有认真仔细的分析以后才能设计出合理的数据库。下面我们从需求分析阶段的目标、需求分析阶段的任务、数据字典、等多方面作出全面仔细的分析,结合需求分析各阶段、各流程的具体图解作出详细的分析。

  1. 需求分析阶段的业务分析

1用户注册。实现用户的注册功能。用户可以通过注册页面进行注册,注册信息包括用户账号、密码。

2权限管理。用户分为系统管理员和普通用户两种权限。普通用户只有查询功能。

3系统登陆。实现注册用户登陆,只有登陆用户才能访问系统的其他功能。

  1. 基础数据录入。管理员通过基础数据录入系统的基础数据,例如学院、专业、班级等。
  2. 学生信息录入。管理员可以通过数据录入界面实现学生的档案录入。学生档案信息包括姓名、学号、性别、专业、班级、电话、籍贯、照片。

6学生档案查询。可以按学生的学号、姓名、班级查询学生信息,并可以将查询结果以excel的方式导出数据。

7删除和修改。可以通过查找定位到指定学生记录,并可以对该学生档案进行删除和修改。

8普通用户登录后可以查找学生档案。查找支持按学院、专业、学生姓名、学号等查找。

3.1.2需求分析阶段的功能分析

(1) —般用户可以查询个人信息和修改自己的登录密码;

  1. 管理员可以查询所有员工的信息并可以做添加、修改、删除的操作。

3.1.3需求分析阶段的任务

3.1.3.1处理对象

系统处理对象是学生的信息管理,而本课题的设计主要针对干部信息管理,财务管理、日常事务管理以及文件管理作出全面的分析。

在学生的信息处理中主要涉及几下几个方面的信息:

(1)学生基本信息(Staff):包括编号、姓名、性别、年龄、联系电话、头像、等信息。

(2)班级基本信息(Dpartment):班级编号、班级名称等信息。

3.1.3.2处理功能要求

学生管理系统主要实现对学校的科学化、条理化、信息化、高效化管理。其中包括学生信息、学院,班级,专业等添加功能。而本课题的设计主要针对学生信息管理作出全面的分析,而学生管理、专业管理以及班级管理的设计大同小异,这里不再做详细的分析概述。

具体功能描述如下:

(1)学生信息管理主要完成干部信息的查询与更新,从而实现对学生信息的科学化管理。

3.1.3.3安全性和完整性要求

安全性先通过视图机制,不同的用户只能访问系统授权的视图,这样可提供系统数据一定程度上的安全性,再通过用户授权机制,通过用户登陆来识别用户级别,根据这个级别来分配用户权限,达到数据更高层次的安全保密功能。近而可以满足用户的基本数据安全性要求。

完整性要求用于描述各种信息之间的制约关系,以及关联关系,各个数据项的取值范围以及各个数据项是否可以不取值。根据实际需要,采取一定的手段来满足用户的完整性需求。详细完整性要求见于系统的逻辑设计阶段。

3.2 逻辑结构设计

3.2.1将ER模型转化为关系模型

(1)管理用户表(用户编号+登录账号+密码+权限区别)

PS:权限区别,规定为int类型,1代表普通权限,只有查询数据的权限,2代表管理员权限,可添加编辑删除学生信息.

(2)学院表(编号+学院名称+标识字段)Ps:标识字段, 设置为int类型,存储1代表学院,2代表专业,3代表班级,如此设计,就可以用一张表就装下学院,专业,班级的信息.

(3)学生表(学号+姓名+性别+学院+专业+年龄+班级+电话+籍贯+照片)PS:调动编号为主码,员工编号为外码.

3.3 数据库的物理设计

3.3.1具体表的结构设计

管理用户表

编号

字段名称

数据结构

约束条件

1

用户编号

int

Not null primary key

2

登录账号

varchar(40)

Not null

3

登录密码

Varchar(400)

null

4

权限区别

Int

Not null

学院表

编号

字段名称

数据结构

约束条件

1

编号

int

Not null primary key

2

名称

varchar(40)

Not null

3

标识字段

Int

Not null

学生表学号+姓名+性别+学院+专业+年龄+班级+电话+籍贯+照片

编号

字段名称

数据结构

约束条件

1

学生编号

int

Not null primary key

2

姓名

varchar(40)

Not null

3

性别

varchar(40)

Not null

4

学院

int

Not null

5

专业

Int

Not null

6

年龄

Int

Not null

7

电话

varchar(40)

Not null

8

头像

varchar(40)

Not null

四 成品效果图

4.1 创建数据库

4.2 添加数据

4.3用户登录(使用java web开发)

4.4 登录后来到首页

4.5 管理员信息操作

4.6学院,专业,班级管理

4.7学生管理

4.8添加管理(这里以添加学生为例子,其他模块相同)

点击添加按钮,即可提交学生信息保存到数据库中.

五 结果总结

不同的数据库产品所提供的物理存储环境、存取方法和存储结构有很大的差别,能供设计人员设用的设计变量、参数范围也很不相同。物理设计 阶段的目标是根据 SQL Server2000 具体的功能,设计优化的物理数据库结构,使得在数据库上运行的各种事务响应时间最小,存储空间利用率高,事务吞吐量大。

此次数据库设计仍然有许多不足,还有许多可以改善的地方.

比如说,我在设计学院表时,是如此设计的:

这样设计,让得一张表就能同时装下学院,专业,班级等信息,而这将让用户在操作页面时频繁检索操作同一张表,但考虑到一个学校一般情况下学院班级的数据不会有上万条,甚至不足一千几百条,所有数据量不大,这样设计似乎也可以,但在使用时,还是发现了问题.

如图,在添加数据时,现在数据库中一共有两条学院信息,而当我选择其中的一条信息之后.

而当我选择了信息学院之后,后面的专业栏里还是存在着日语这个专业,而是因为我此刻表中的数据不多,如果数据在多一点的话,所有的专业还是会在这个下拉框中出现,这难免影响到了用户的体验.

出现这样的问题,最主要的原因还是因为这些数据都存在了同一张表中的原因,为了解决这个问题,我们可以在原来的基础上,再加上一个字段.

如此,就可以根据这个字段区分表中数据之间的关系,得以解决上述问题.

而类似的不足还有很多,我们也因此了解到了一些经验,后续将继续努力改善.

源码下载:https://download.csdn.net/download/weixin_42868605/20686727

如果你还需要详细的WORD设计报告以及源码,也可以关注私信我。

基于SQLServer ,使用Java Web开发的学生信息管理系统,在校大学生和新手可参考学习相关推荐

  1. Java项目开发,学生信息管理系统

    Java项目开发,学生信息管理系统 @author:Mr.Gu @date:2020/5/31 开发时间大二年级,数据结构综合实习 文章目录 Java项目开发,学生信息管理系统 开发效果 开发要求 开 ...

  2. 使用Java Swing开发的学生信息管理系统(界面美观)

    设计一个学生基本信息管理系统,实现"系统登录","学生信息增加","学生信息查询","学生信息删除","学生信 ...

  3. Java项目开发:学生社团管理系统

    Java项目开发:学生社团管理系统 @author:Mr.Gu @date:2021/5/31 文章目录 Java项目开发:学生社团管理系统 项目需求 开发环境 项目效果 二.项目源码 1.创建登录J ...

  4. Eclipse+Java+Swing+Mysql实现学生信息管理系统

    目录 一.系统介绍 1.开发环境 2.技术选型 3.系统功能 4.数据库 二.系统展示 1.注册系统 2.登录系统 3.系统主页面 4.添加学生信息 5.修改学生信息 6.查询学生信息 三.部分代码 ...

  5. 复习Java第一个项目学生信息管理系统 04(权限管理和动态挂菜单功能) python简单爬数据实例Java面试题三次握手和四次挥手生活【记录一个咸鱼大学生三个月的奋进生活】016

    记录一个咸鱼大学生三个月的奋进生活016 复习Java(学生信息管理系统04权限管理和动态挂菜单功能) 改写MainFrame的构造方法 新增LoginFrame的验证登录是否成功的代码 新增Logi ...

  6. java实现简单的学生信息管理系统

    java实现简单的学生信息管理系统(无界面) 学生类实体: package com.edu.imau.wcy;public class Stu {private String stuNum;//学号p ...

  7. (解析+源码)基于JAVA Swing+MySQL实现学生信息管理系统(增、删、改、查)数据库/文件存储

    根据学校对学生信息日常管理需要,学生信息管理系统包括以下功能: 登录系统: 新建学生信息:添加学生信息: 删除学生信息:对指定学生信息进行删除: 修改学生信息:对指定学生信息进行修改 查找学生信息:输 ...

  8. 基于Java Swing+mysql的学生信息管理系统

    学生信息管理系统 学生管理系统目录 学生信息管理系统 一.前期工作 ①下载eclipse.mysql.navicat ②建立navicat与mysql的连接 二.明确项目的具体实现思路 ★系统功能分析 ...

  9. 基于JAVA实现的简易学生信息管理系统(附源码)

    一.前言 最近在学习JAVA,这几天跟着网上的视频学完基础知识之后,做了一个学生信息管理系统,写的比较普通,没太大亮点,希望可以给初学者一些参考经验,另外,如有不恰当的地方还请各位指正! 学生信息管理 ...

最新文章

  1. iOS翻页视图控制器UIPageViewController的应用
  2. Android深入浅出系列之实例应用—弹出消息Toast对象的使用自定义方式(二)
  3. C语言逗号运算符和逗号表达式基础总结
  4. 阿里可观测性数据引擎的技术实践
  5. java callback 多线程_JAVA Callback效率测试
  6. Atlas 配置高可用
  7. Python打印到文件
  8. Livebos--流程结束触发事件(修改表和表里的表格字段)
  9. 聊聊redisson的分布式锁
  10. ADO.NET 2.0 功能一览
  11. unity中的游戏推出代码
  12. windows10双系统删除linux,双系统删除教程详解:Windows(linux)双系统,教你如何删除其中一个!...
  13. 【HTML】极简个人主页设计
  14. 经验分享|裸金属服务器部署
  15. 光伏电站运维管理方案
  16. educoder:Python初探(三)
  17. springboot发送QQ邮箱
  18. 3D点云 (Lidar)检测入门篇 - PointPillars PyTorch实现
  19. 电销机器人百度百科_从做百度百科看站长百态
  20. QCon旧金山2016大会,议题发布及研讨会一瞥

热门文章

  1. C语言发展史(The development of the C language)-BCPL、B与C【转】
  2. 《森林防火视频监控系统技术规范》解读
  3. 互联网+人工智能+区块链 对教育产生颠覆革命
  4. ethtool 修改网卡 eeprom 内容
  5. C语言一球从100米高度自由落下
  6. 如何通过图像消失点计算相机的位姿?
  7. XSL 转换:XSLT 可缓和 XML 架构的不相容性问题[网淘]
  8. Android Media Format 支持的格式
  9. 香港数金基建区块链论坛(五):如何鼓励香港金融科技生态的发展
  10. COMSOL——水杯中的自然对流问题