创新课程管理系统数据库设计心得

因为创新课程管理系统这一个项目,是一个从无到有,没有标准可以去参考的一个项目。

这个项目专门针对该课程进行设计,所以需求的功能点很多,因此数据库有多次设计,更改再推翻重新设计再更改。

因为用户有多个类型,系统管理员,学校管理员,老师,助教,学生。

一开始的时候想把每一个都单独设计为一个表,然后登陆的时候选择身份后直接在对应的表里面进行查找即可。所以当时的用户表是如下的:

后来经过小班讨论课,又觉得可以把所有的用户全部放在一个表里面,即一个User表里面有所有用户的资料,不过这样会导致许多字段的空的。

所以最后再向老师请教完之后,并且了解了更多的数据库设计相关知识后,判断用户里面极大部分为学生,而学生和助教的字段又大部分会相同,所以学生和助教做一张表,只需要加一个类别字段区分是学生还是助教,而其他的用户都可以另外放一张表。

因为功能点比较复杂,虽然在我们这一期的项目中不需要全部实现,但是数据库却需要全部先设计出来。最终的结果如下:

数据库设计心得:设计数据库的话,如果是比较简单的,比如说只有三,四个表,那还不太会出现漏洞,而对于比较复杂的数据关系,那么设计的时候往往就会出现顾首不顾尾的问题。而且还需要考虑的就是字段的域约束,是否能为空等问题。

        所以最后慢慢发现设计数据库的主要的方式还是跟随着业务逻辑,尤其是将自己代入到用户中去。假设自己是某一类用户,然后对于我这个用户,我需要做一些什么样的操作?这一些操作的数据是否要保留下来?保留下来的意义在哪里?只要理清楚了这三个问题,那么对于自己这个用户类型就可以有一个比较清晰的数据库存储数据的思路。

原文地址:https://www.cnblogs.com/hbxloveyuu/p/10013194.html

时间: 2024-10-10 10:35:07

创新课程管理系统数据库设计心得的相关文章

创新课程管理系统之测试心得

哈哈哈,经过了一个学期的学习和努力,我们(至少对于我这个菜鸟来说)人生中做的第一个项目,终于还是走到了期末验收的阶段. 说实话,一学期下来还是感觉收获满满的. 抛开学到的技术不说,光是眼界这方面,至少做了个项目让我充分认识到了自己的不足,相信以后会更加有动力来学习新知识,新技术. 总之一句话,很感谢负责课程的老师和助教,真的,大家都辛苦啦! 对照着我们组的第二次迭代计划,项目完成后,就部署到了服务器上进行了测试. 项目的测试一共分成了两波儿来测,一波儿是开发人员自己先测,一波儿是非开发人员和开发

创新课程管理系统-第一次迭代开发心得

第一次做项目,第一次用javaee开发web工程项目,很多东西不会,摸着石头过河,也学到了很多东西. 第一次迭代开发,小组总体做出来的东西不多,与计划相比少了不少.完成的大致有两个半模块,其一是登录注册,其二是报警信息展示,其三是工单处理,还在技术上研究了动态数据在图表上的动态展示的实现(基于单个数据项的展示).总体来说,很多后台工作没实现,前端做的页面倒是蛮多,交互功能也有,前端的工作进度是先于后台的:后台开发的滞后性,以致于功能模块的集成进度受到了阻碍. 接下来就说一说我们组项目(创新课程管

创新课程管理系统——测试心得

项目整合完成后,就部署到了服务器上进行了测试. 因为我们项目的使用群体很多,所以在测试的时候是一个角色分配测试. 系统管理员和学校管理员分一个人来测. 老师分一个人来测试. 学生一个人. 助教一个人. 每个人只负责自己对应角色的测试,将自己代入到用户中,摸索使用上面所有的功能. 测试对象 创新课程管理系统.本机,服务器端Web测试. PC上运行系统,本地测试,以及布置在服务器端进行远程测试. 测试要点 主要测试系统管理员,学习管理员,教师,助教,学生.这5个角色对应的功能是否实现,是否有bug.

创新课程管理系统---测试心得

项目整合完成后,就部署到了服务器上进行了测试. 因为我们项目的使用群体很多,所以在测试的时候是一个角色分配测试. 系统管理员和学校管理员分一个人来测. 老师分一个人来测试. 学生一个人. 助教一个人. 每个人只负责自己对应角色的测试,将自己代入到用户中,摸索使用上面所有的功能. 测试对象 创新课程管理系统.本机,服务器端Web测试. PC上运行系统,本地测试,以及布置在服务器端进行远程测试. 测试要点 主要测试系统管理员,学习管理员,教师,助教,学生.这5个角色对应的功能是否实现,是否有bug.

MySQL数据库--学生管理系统数据库设计

目录 学生管理系统数据库设计 学生管理系统功能介绍 数据库设计步骤 第1步: 找对象 第2步:找属性 第3步: 找关系 建表原则 第4步: 找特例: 等级明显而且不包含敏感数据的信息建议保持为1张表 总结: 数据库设计遵循的原则[重点] 学生管理系统数据库设计 设计一套数据库首先要熟悉当前系统有哪些功能,具体的业务流程是什么 学生管理系统功能介绍 一套学校用的学生管理系统,最核心的功能如下 学生信息管理(增加学生,删除学生,修改学生,查询学生信息==简称:CURD) 老师信息管理(CURD) 课

手势识别项目小组——数据库设计心得

因为我们的项目是算法类,所以项目本身的需求不太明确.设计数据库的过程其实本身也是在进一步明确需求的过程. 这是我们画出的用例图: 以下是我们小组成员的数据库设计心得: JJ: 通过本次数据库设计的过程,我经历了很多也学会了很多. 首先因为课程组的要求是设计出至少15张表,而我们想要达到15张表是很困难的.我们的设计想法是先根据我们之前设计的原型先设计出一些表,根据登陆.注册.历史记录等设计了几张表.但是这些表也基本是基于用户而设计的,后来我们也寻求了指导老师的帮助,指导老师帮忙想了一个损失函数表

噪声收集系统——数据库设计心得

数据库设计心得 在需求分析阶段,其实数据库的设计就已经初具雏形,组内初步分析了需要哪些表来存放哪类数据,并探讨了各个表中的关键字段.但在需求分析阶段的数据库设计并不完整,只描述了部分实体,表中的属性也不能完全描述需求,数据库表间的关系没有体现,这就需要进入详细的数据库设计阶段来完善. 在数据库设计的第一阶段,还是围绕用户需求来展开工作.用户的需求在设计过程中扮演着中心角色,如果一开始对需求的分析就出现偏差,那数据库设计就很容易出现问题,好在需求分析阶段结束后我们的需求是十分明确的,项目组内根据项

教务处课程管理系统的设计与实现 文献收集

教务处课程管理系统的设计与实现 文献收集 TODO:完整 基于WEB的高职院校课程管理系统设计与实现 基于Bootstrap和地图API高校课程管理系统的设计与实现 基层电大学生课程管理系统设计与开发 江门一职学生成绩管理系统的研究与分析 许昌陶瓷职业学院教务管理系统的设计与实现 技师学院OA办公自动化系统-教务管理子系统设计与实现 面向成人教育的学生信息管理系统的设计与实现 上海应用技术学院教学管理系统设计与实现 高校教师教学工作量管理系统设计与实现 闽西职业技术学院考试监考安排管理系统的研究

银行储蓄管理系统——数据库设计

一.       项目设计目的 (1)培养学生运用所学课程<数据库系统原理>的理论知识和技能,深入理解<数据库系统原理>课程相关的理论知识,学会分析实际问题的能力. (2)培养学生掌握用<数据库系统原理>的知识设计计算机应用课题的思想和方法. (3)培养学生调查研究.查阅技术文献.资料.手册以及编写技术文献的能力. 二.       项目背景 当今计算机及网络技术飞速发展,计算机应用在全球范围内日益普及,而社会也正快速向信息化社会前进,信息系统的作用也越来越大.因此,纸