OJ系统-----设计数据库

数据库

我们一共创建了‘同学’、‘老师’、‘题目’、‘课程’、‘考试’和‘测试用例’6个表。

同学

‘同学’表一共有6个属性,分别为:

  1. 用户名
  2. 注册邮箱
  3. 密码
  4. AC率
  5. 所选课程
  6. 提交的题目

其中,‘提交的题目’中包含着8个复合属性,分别为:

  1. 提交题目的id
  2. 提交的时间
  3. 语言
  4. 结果
  5. 得分
  6. 代码长度
  7. 内存
  8. 运行时长
老师

‘老师’表一共有5个属性,分别为:

  1. 用户名
  2. 注册邮箱
  3. 密码
  4. 开设课程
  5. 上传课程的id
题目

‘题目’表一共有6个属性,分别为:

  1. 题目编号id
  2. 丛属课程
  3. 上传老师
  4. 题目类型
  5. 题目详情
  6. ac率

其中的‘题目详情’属性包括6个复合属性,分别为:

  1. 题目名称
  2. 时间限制
  3. 内存限制
  4. 描述
  5. 实例测试输入
  6. 实例测试输出
课程

‘课程’表包含5个属性,分别为:

  1. 课程名称
  2. 开课学期
  3. 授课老师
  4. 包含题目
  5. 对应的考试
考试

‘考试’表包含7个属性,分别为:

  1. 类型
  2. 形式
  3. 地点
  4. 时间
  5. 考试密码
  6. 授课老师
  7. 从属课程
测试用例

‘测试用例’这个表包含四个属性,分别为:

  1. 测试用例编号id
  2. 输入内容
  3. 输出内容
  4. 测试题目id

E-R图

ER图

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为参考资料学习借鉴。 3、本资源作为“参考资料”如果需要实现其他功能,需要能看懂代码,并且热爱钻研,自行调试。 基于SpringBoot+SpringCloud+Vue的在线代码评委系统(OJ)源码+数据库+项目说明.zip # README-CN # OJ系统 开始开发 ## 环境准备 ​ 运行此程序必须要有**Ubuntu**系统, ​ Linux 内核版本 >= 3.10 ​ jdk1.8版本, ​ mysql8.0, ​ redis。 ### go-judge系统运行 **gojudge所需要的端口是5050** <a href="">go_judge手册</a>. 在Docker上运行 ~~~bash docker run -it --rm --privileged --shm-size=256m -p 5050:5050 criyle/executorserver ~~~ #### c/c++语言环境测试 **接下来我们打开postman进行测试已post形式发送请求http://IP:5050/run携带参数** ~~~java { "cmd": [{ "args": ["/usr/bin/g++", "Main.cc", "-o", "a"], "env": ["PATH=/usr/bin:/bin"], "files": [{ "content": "" }, { "name": "stdout", "max": 10240 }, { "name": "stderr", "max": 10240 }], "cpuLimit": 10000000000, "memoryLimit": 104857600, "procLimit": 50, "copyIn": { "Main.cc": { "content": "#include <iostream>\nusing namespace std;\nint main() {\nint a, b;\ncin >> a >> b;\ncout << a + b << endl;\n}" } }, "copyOut": ["stdout", "stderr"], "copyOutCached": ["Main.cc", "a"], "copyOutDir": "1" }] } ~~~ **我们服务器会给我们返回** ~~~bash [ { "status": "Accepted", "exitStatus": 0, "time": 726910000, "memory": 55812096, "runTime": 787566071, "files": { "stderr": "", "stdout": "" }, "fileIds": { "Main.cc": "4EK46KIB", "a": "LR567VHA" } } ] ~~~ **接下来我们根据Main的Id对他进行run** ~~~bash { "cmd": [{ "args": ["a"], "env": ["PATH=/usr/bin:/bin"], "files": [{ "content": "1 1" }, { "name": "stdout", "max": 10240 }, { "name": "stderr", "max": 10240 }], "cpuLimit": 10000000000, "memoryLimit": 104857600, "procLimit": 50, "strictMemoryLi

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值