当前位置: 首页 > 知识库问答 >
问题:

java - 一个项目的数据库设计?

呼延弘方
2023-07-13

需求描述

有一个项目,面向学校德育评价,其数据库中有如下表结构:

  • 用户登录表:含一个“个人信息”字段,该字段依赖于下面的用户信息表
  • 用户信息表:根据需求,分为学生表、教师表、运维表

ps:考虑到后期程序的灵活性及学校的发展性,可能后期运维人员可能会陆续增加,所以单独设置了运维表

问题描述

首先因为上面说到的缘故,为了兼顾后期项目的灵活性问题【后面运维人员可能不止一个】,不考虑常用的预分配运维账号的方式,即:运维人员需要自己注册账号

现在的问题是根据上述需求,项目要在用户注册阶段区分出这个用户是学生、教师还是运维;尤其是要避免类似于学生错注册成运维这种情况

请问大佬们有什么好的建议吗

共有1个答案

常飞翼
2023-07-13

用户登录表增加一下“用户类型”字段,这几个 'student', 'teacher', 'operator' 等。然后学生注册的时候让他们输他们的学生ID,系统通过查验这个ID是不是在学生数据库里来确认他们的身份。老师和运维用邀请码的方式来注册,由学校的领导来分配提前生成好,注册的时候校验他们的身份,已经注册的用户,可以给他们一种方法来修改用户类型,但是需要更高级别的管理权限才行。

 类似资料:
  • 需求描述 有一个项目,面向学校德育评价,打算留一个发布通知的模块,现在拿不准如何设计数据库 个人方案 我个人有预想两种方案去解决 在mysql中建一个系统通知表 直接存redis中 第一种方案的优点是可以实现数据的持久化,但是对于一些时效性较强的通知【例如系统维护通知等】需要进行额外处理【因为基本上过了时效以后这条记录几乎不会再用到了】 第二种方案的优点是可以比较轻松的处理时效性问题,但是需要考虑

  • 参考《项目建议书》、《需求说明书》、用户界面原型、以及各种标准和规范对数据库设计如下: (1). 结构设计: * 找实体: 实体是实体-关系模型的基本对象,是现实世界中各种事物的抽象。 凡是可以相互区 开并可以被识 的事、物、概念等对象均可认为是实体。 基本的实体列表如下: 会员 类别 商品 订单 订单详情 收货地址 商品评论 商品图片 友情链接 站内公告 ... * 找属性: 每个实体都有一组特

  • 因此,我在为我的数据库提出实体关系时遇到了一些麻烦,但是我已经完成了一些设计过程,并且是最低口径的。将创建数据库,以便学生可以有许多课程的许多对许多关系(显然我知道)。数据库需要每天跟踪家庭作业和出勤率。但是,课程可以只是一周中的一天或许多天。 顾问- 学生- 课程- 学生课程- 这里我陷入了困境,我想创建一个日历表,但我如何将数据关联到作业表和出勤率。如有任何建议,欢迎批评指正。

  • 初始化数据库脚本 脚本目录 ./demos/project/init/sql/ CREATE TABLE IF NOT EXISTS `user_info` ( `id` int(11) NOT NULL AUTO_INCREMENT, # 用户ID `email` varchar(255) DEFAULT NULL, # 邮箱地址 `password` varchar(2

  • Java 插件给项目加入了一些属性 (propertiy).这些属性已经被赋予了默认的值,已经足够来开始构建项目了.如果你认为不合适,改变它们的值也是很简单的.让我们看下这个例子.这里我们将指定 Java 项目的版本号,以及我们所使用的 Java 的版本.我们同样也加入了一些属性在 jar 的manifest里. 例子 7.5. 定制 MANIFEST.MF 文件 build.gradle sou

  • 尽管Java 插件在你的项目里加入了许多任务,只有几个会在项目构建中经常用到。 最常用的任务是 build 任务, 用于完全构建你的项目.运行 gradle build 命令执行后,Gradle 将会编译和测试你的代码,并生成一个包含所有类与资源的 JAR 文件: 例子 7.2. 建立一个 Java 项目 gradle build 命令的输出: > gradle build :compileJav