【数据库】学生档案管理系统(续)

参见前一篇:【数据库】学生档案管理系统


数据库表的设计及分析

在此我们仅对关键表进行分析


学生关系拥有14个属性,其中学号为主键,是学生唯一的标识。外键班级号引用了班级表中的中的主键——班级号
该关系不存在多值属性以及复合属性
该关系存在函数依赖:
(1)学号->姓名,性别,电话,出生年月,籍贯,家庭地址,入校日期,班级号,职务,档案号,学籍状况,免冠照,学生密码
(2)档案编号->姓名,性别,电话,出生年月,籍贯,家庭地址,入校日期,班级号,职务,档案号,免冠照
因此,从属性的单值性和函数依赖关系可知:该关系符合3 NF.


奖惩记录关系拥有5个属性,其中记录编号作为主键,是奖惩记录的唯一标识。
该关系不存在多值属性以及复合属性。
该关系存在函数依赖:
(1)记录编号->奖惩日期,奖惩事件,性质,奖惩地点
因此,从属性的单值性和函数依赖关系可知:该关系符合3 NF.



奖惩情况关系不存在主键,外键“奖惩记录编号”引用奖惩记录表中主键——奖惩记录编号;外键“学号”引用学生表中主键——“学生编号”



档案管理员一共有3个属性,其中管理员编号为主键。是档案管理员的唯一标识。
该实体不存在多值属性以及复合属性
(1)管理员编号->管理员密码,管理员姓名,管理员密码
因此,从函数依赖可以看出,该表符合3NF

教育经历一共有6个属性,其中教育经历编号为主键。是教育经历的唯一标识。
该实体不存在多值属性及复合属性。
(1)编号->开始日期,终止日期,证明人,学校名称,在校职务
因此,从函数依赖可以看出, 该表符合3NF

教育情况关系不存在主键,外键“编号”引用教育经历记录表中主键——编号;外键,“学号”引用学生表中主键——“学生编号”

以上的四个表中具有如下的函数依赖:
班级号->教师号,学院号,专业号,班长,年级名称,班级名称
学院号->学院名
专业号->学院号,专业名称
教师号->学院号,教师姓名,教师密码
在这些函数依赖中没有非主元素对主元素的传递函数依赖,所以一句 这些函数依赖拆分的表示满足3NF的

开发和运行环境


开发环境



运行环境



效果展示

开始界面


登陆


学生管理


演示视频

(*点击图片跳转到Youku视频)

总结(*长文慎读)

因为这次的课程设计题目的需求很明确,所以我们并没有花太多时间在需求讨论上,直接就按题目的模块划分开始做详细设计。根据题目的要求进行了项目功能的划分。分析用例,画出用例图对每个功能快的功能进行分析。因为时间较为紧迫于是我们选择RAD的开发方式,进行任务分配,分开进行编码,最后进行整合与部署。
在设计数据库的时候我们开始以为只要按照题目要求,每个模块做一个表就可以,但当仔细考虑之后才发现设计一个优秀的数据库并没有那么简单。
这其中我们遇到很多问题。比如班级表的设计,较为简单的一种方法是班级做一张表,学院,专业,年级作为班级的属性。仔细分析我们就可以看到这样的函数依赖:班级号->专业,学院;专业->学院;存在非主属性对主键的传递函数依赖,同时这样的表中会有大部分的班级学院的属性是相同的(即在同一学院的班级学院列属性相同)会存在大量的数据冗余。所以我们将班级、专业、学院分别单独做表,因为专业和班级之间是一对多的关系,学院与专业也是一对多的关系,所以班级表中有引用专业的主键——专业号做外键,专业的表中引用学院的主键——学院号做外键。这样虽然满足了三范式,但在实际操作的时候我们才发现这种建表方法并不是绝对的好。因为每次查找学生班级情况或者添加学生的时候都需要将班级、专业、学院三张表连接起来,效率很低,相比还是建在同一张表中更为合理。
另外的问题就是学生与教育经验以及奖惩记录之间是“一对多”的关系还是“多对多”的关系。拿“奖惩记录”来说,似乎一对多更为合理——一个学生可以有多个奖惩记录或者没有奖惩记录;但如果我们这样考虑——不同的学生可以有相同的奖惩记录,比如以团队形式参赛的“全国大学生数学建模大赛”,这似乎也是合理的……这就像大一课程设计时将实际物体抽象成类,用程序语言描述习以为常的事物有时却不是习以为常的“容易”。最后我们选择了“多对多”的模式。但是实际操作中我们遇到了这样的问题,即在删除奖惩记录时,若有多个学生由此条记录,则会出现错误,即其他学生的奖惩记录会变为空值,而若不删除奖惩记录中的元组,则会造成大量数据的冗余,产生大量垃圾占用了存储空间,但是由于时间紧迫而且问题发现的较迟,我们就未进行改正,这也是我们的遗憾之一。
我们的程序还有一个致命性的问题,即效率与安全性的问题。在效率方面,我们大量的操作是通过C#语言来实现,虽然我们也用了触发器、存储过程、视图等,但是从程序整体上来说封装性较差,大量的代码使可读性下降了。
从安全性的角度来说,我们系统的授权是通过应用程序的代码授权实现的。主要是因为在SQL中很难实现元组的授权。于是整个SQL的授权机制便受到忽略。好处是会有细密的授权,问题有二,一是,授权代码会与应用程序的代码混合在一起;二是,通过应用程序的授权而非SQL的授权很难保证没有漏洞。由于一个疏忽,一个应用程序可能不检查程序而使没有权限的用户访问机密数据,要确保所有应用程序都具备所需的权限检查,其工作包括通读所有应用程序服务器的代码,这在一个大系统中是一个较为艰巨的任务。
但是我们的程序从功能上来说还是比较强大的,虽然是牺牲了效率,但是带给用户较大的方便性及可用性,同时我们设计了较为友好的人机交互界面,极大地提高了程序的易用性。

(转载请注明作者和出处:http://blog.csdn.net/xiaowei_cqu未经允许请勿用于商业用途)


  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
《数动学生档案管理系统》 1.引言 自学电脑已经三年了,总希望能派上用处,前段时间看见学校用Excel管理学生档案于是想在网上下载一个档案管理软件,却发现是付费软件,后来咨询档案管理的老师才知道免费的软件功能不齐全,付费的软件很贵动辄上万元,我们学校还好可是农村中小学往往望尘莫及。我向来主张共享。如果大家对生活工作中的一点发现都藏者掖着,都需要用货币来交换的话,我想社会也不会发展到今天。如果不是思想的传播和经验的交流恐怕我们至今仍处于结绳记事的石器时代。于是就有了这个作品,这是我的第二个Web类的作品,由于没有经过系统的学习难免会有不足,请见谅! 2.编写目的 提高学校档案管理效率,方便数据收录和查询。 3.定义 IIS: logo:网站的图标 4.参考资料 互联网上的资源。 5.软件概述 A.目标:利用Web编程和数据库技术让全校老师参与档案的管理,提高管理效率。 B.功能: a.超级管理员可以通过后台设置系统LOGO 标题 首页连接等操作,无需软件支持直接后台设置。 b.一般管理员可以收录数据 查询数据 修改数据 添加评论 查看评论 删除评论等操作。 c.随时随地备份数据库让你的数据安全高效。 d.所有的文本域都经过五层过滤让您的数据安全无忧。 e.数据库留有未用字段方便系统升级。 f.数据库经过加密不用担心被下载。 g.一键备份 h.一键恢复 i.权限管理,适合多用户操作 j.强大的数据导入功能 6.运行环境 A.硬件:没有测试条件,暂无数据。 B.软件:服务器端 操作系统:Windows XP以上 数据库: Access 2003以上 IIS: 5.0以上 客服端 操作系统:Windows 98以上 分辨率: 1024*768以上 7.使用说明 A.安装:(以XP为例)开始→设置→控制面板→添加或删除程序→添加/删除Windows组件 →放入Windows光盘→在Windows组件向导中选择Internet信息服务IIS→安装→回到控制面板→选择管理工具→选择Internet信息服务→设置(如果还不会直接联系我) B.输入:本系统禁止输入 "or" "and" "select" "delete" "updata" "char" ">" "<" 单引号 等危险字符。 8.运行说明: A.步 骤:IE→输入域名→登录→操作→退出系统 B.操作要求:a.禁止直接在IE地址栏输入页面地址。 b.操作完成后请点击“退出系统” 9.非常规操作 A.直接输入页面地址。 B.输入"or" "and" "select" "delete" "updata" "char" ' 等字符。 C.未点击“退出系统”直接关闭页面。 D.直接在数据库中添加或删除数据。 10.系统文件及文件夹 A.文件夹:css 存放css文件 data 存放数据库 databackup 存放数据库备份文件 image 存放图像文件 B.文 件:admin_del_student.asp 删除学生记录脚本 admin_head.asp 登录成功跳转页面 admin_pl_del.asp 删除评论脚本 admin_sjbf.asp 数据备份页面 admin_sjhf.asp 数据恢复页面 admin_slsz.asp 收录设置页面 admin_student.asp 快速浏览页面 admin-student_q.asp 数据管理页面 admin_studentmoidfy.asp 学生详细信息页面(从admin_student.asp跳转的) admin_studentmoidfy_q.asp 学生详细信息页面(从admin_student_q.asp跳转的) admin_sy.asp 首页链接脚本 admin_tjbj.asp 添加班级页面 admin_tjgly.asp 添加管理员页面 admin_tjpl.asp 添加评论页面 admin_tjpi_add.asp 添加评论脚本 admin_tjsj.asp 添加学生信息页面 admin_tjsjmodify.asp 修改学生信息页面 admin_tjsjmodify_add.asp 修改学生信息脚本 admin_withdraw.asp 首页链接脚本 admin_xgmm.asp 修改密码页面 admin_xtsz.asp 系统设置页面 admin_xxcx.asp 信息查询页面(最高权限) admin_xxcx2.asp 信息查询页面(一般权限) admin_xxpl.asp 显示详细评论页面 admin_xxpl_q.asp 显示详细评论页面(从admin_studentmodify.asp跳转) Concerning_software.asp 关于软件 conn.asp 数据库链接脚本 Contact_a_managing_person.asp 联系管理员页面 Discover_loophole.asp 发现漏洞举报页面 help.asp 帮助信息页面 index.asp 系统首页 longxiang_mingyang_001.asp数据库文件(修改文件名后缀为mdb就可以打开了) 11.特别说明 A.如果使用虚拟服务器搭建此系统虚拟服务器必须支持ASP B.浏览器必须开启Cookie C.保护webshell 这可能会被黑客利用 D.数据是无价建议您每天备份一次数据库 E.本系统界面友好,功能齐全,数据后台安全,是同类产品的新秀 F.本系统内附强大的数据查询功能,使用户能方便地进行数据处理 G.本系统由管理员对用户进行权限管理,适合多用户操作 H.本系统难免有不足之处,欢迎大家提出宝贵意见 F.部分浏览器不支持脚本语言,则无法运行脚本,请在Internet选项中设置 G.请不要在数据库中添加或删除数据,这可能导致部分数据打不开 H.此系统不断升级中,敬请关注,如果系统不符合贵校的要求请联系我,我将单独为你修改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值