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

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

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

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

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

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

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

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

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

转载于:https://www.cnblogs.com/hbxloveyuu/p/10013194.html

创新课程管理系统数据库设计心得相关推荐

  1. 餐饮管理系统 mysql数据库设计分析_终稿课程设计_餐饮管理系统数据库设计.docOK版(样例3)...

    <课程设计_餐饮管理系统数据库设计.doc>由会员分享,可免费在线阅读全文,更多与<(终稿)课程设计_餐饮管理系统数据库设计.doc(OK版)>相关文档资源请在帮帮文库(www ...

  2. 基于Java的学生课程管理系统的设计和实现

    基于Java的学生课程管理系统的设计和实现 软件工程王曦楠 要] 学生课程管理系统一直是学校高效组织管理办法信领域内的一个重要课题,特别随着当前教育领域内的深度变革,怎样才能让学生课程管理系统在教育机 ...

  3. 学生管理系统的mysql数据库设计_MySQL数据库--学生管理系统数据库设计

    目录 学生管理系统数据库设计 学生管理系统功能介绍 数据库设计步骤 第1步: 找对象 第2步:找属性 第3步: 找关系 建表原则 第4步: 找特例: 等级明显而且不包含敏感数据的信息建议保持为1张表 ...

  4. 学生成绩管理系统数据库设计--MySQLSQL Server

    MySQL 数据库设计-学生成绩管理系统 设计大纲 友情链接 1.医疗信息管理系统数据库–MySQL 2.邮件管理数据库设计–MySQL 3.点餐系统数据库设计–SQL Server 4.商品管理系统 ...

  5. 用Mysql做个人信息管理系统_个人信息管理系统数据库设计精选.doc

    个人信息管理系统数据库设计精选 河海大学计算机及信息工程学院(常州) 数据库课程设计 学年学期 2012第二学期 项目名称 个人信息管理 项目组员 曹清云.陈天昊 指导教师 景雪琴 组号:8 目 录 ...

  6. mysql设计体会_数据库设计心得体会

    组名:NoobStruggle. 成员:刘海天.胡亮.谭晓杰.宁君辉. 一.分析需求 对于每一个项目,数据库的设计都是至关重要的,它关系到后端进行接口开发时实现的难度,数据库中数据的可维护性,一致性, ...

  7. 用mysql设计数据库管理系统_MySQL数据库--学生管理系统数据库设计

    学生管理系统数据库设计 设计一套数据库首先要熟悉当前系统有哪些功能,具体的业务流程是什么 学生管理系统功能介绍 一套学校用的学生管理系统,最核心的功能如下 学生信息管理(增加学生,删除学生,修改学生, ...

  8. 学生管理系统的mysql数据库设计_MySQL 数据库 -- 学生管理系统数据库设计

    MySQL 数据库 -- 学生管理系统数据库设计 目录 学生管理系统数据库设计 学生管理系统功能介绍 数据库设计步骤 第 1 步: 找对象 第 2 步: 找属性 第 3 步: 找关系 建表遵守原则 第 ...

  9. 西电数据库实验-学生学籍管理系统 数据库设计

    西电数据库实验-学生学籍管理系统 数据库设计 文章目录 西电数据库实验-学生学籍管理系统 数据库设计 需求分析 实体集 联系集 概念结构设计 逻辑结构设计 实体集 department(id‾,nam ...

最新文章

  1. unity3d 游戏对象消失三种方法的区别(enabled/Destroy/active)
  2. Spring自定义注解+redis实现接口限流
  3. java ref 应用类型_Java中的四种引用类型比较
  4. python 累积正态分布函数_Python编程基础—Python语句书写规范
  5. nginx部署,nuxt静态部署,路由跳转失效的问题
  6. 做到这 3 点,斩获 BAT Offer 不是梦
  7. Android MuPDF 部署
  8. 李宏毅自然语言处理——ELMO/BERT/GPT简介
  9. 全部选中替换_一键解锁查找替换的新玩法!
  10. Confluence 6 恢复一个空间
  11. Java实现校园论坛系统
  12. 汽车品牌查询及车型大全查询
  13. c语言实验11实验报告,c语言 实验报告11 12.doc
  14. 计算机科学本科科研经历,秦瑶:一名本科生的科研故事
  15. TCP连接关闭—close和shutdown
  16. 招聘管理系统软件java源码_基于Spring Boot的java开源招聘源码-铭阳招聘管理系统...
  17. 现代控制理论课件分享及课后思考题(初稿待完善)
  18. 如何用大数据进行宠物店选址要素分析
  19. c#中将一个实体类复制到另一个实体类
  20. win7忘记密码怎么办,Administrator忘记密码解决办法【完美、简单、有效】

热门文章

  1. [Unity UGUI]点击和长按组件
  2. C++ 输入输出流 文本文件 二进制文件读写
  3. BGP no-advertise
  4. 如何训练大学生的工程实战能力
  5. 创建模块化程序(二)
  6. 一个恶心的无法同步服务器与pda时间的龌龊问题
  7. python 数据的读取
  8. python 试题归纳及答疑 更新中.....
  9. SQL Server基础
  10. 两种控制器的跳转与回跳