基于华为云OpenGauss的数据库系统设计
1、 需求说明
(1) 需求分析:
学生组织是高校精神文化的重要组成部分,对于学生的个人发展、社交和实践经验都具有积极的促进作用。面试是学生组织对于申请者进行选拔的重要环节,通过面试可以筛选出适合加入学生组织的候选人,既能更好地帮助候选人在组织中成长,也为学生组织的后续发展提供源头活力。
然而,当前学生组织面试过程存在许多问题。我校绝大多数学生组织的面试高度依赖于人工操作,包括面试时间和地点的安排、面试官的手动选择、面试评价的手动记录等,这些过程可能分散到各种平台和载体上,不仅效率低下、出错率高,而且没有统一的数据支持和记录,导致后续难以进行数据的整合和分析。
因此,我们需要开发一个学生组织面试系统,通过建立这样一个统一的平台达到以下优化:
1. 提高面试效率和质量
系统将对面试的各个环节进行规范化,对面试资格的硬性要求做出检查和评估,帮助面试官和面试者快速理解面试流程,高质量完成面试。
2. 优化面试公平性
系统将记录面试过程中各个面试官的评价,便于录取时回顾面试情况,让面试结果更加客观、公正。
3. 数据分析和管理
面试系统可以保存和备份面试者的基本资料和面试表现,提供更好的管理和跟踪支持。
(2) 目标用户:
该面试系统面向大学或高中学校的学生组织。它旨在为组织筛选最佳候选人,并简化面试流程,提高招募效率。
(3) 功能要求:
面试申请:学生可以通过该系统在线申请面试。需要提供个人信息,如姓名、年级、专业、联系方式等。系统管理员可以查看面试申请来审核学生资格,并对同意或不同意进行处理。
面试安排:管理员可以使用系统为学生安排面试时间、地点和面试官。系统应该能够自动通知被安排面试的学生和面试官。
面试评估:系统应该能够为面试官提供面试评价表,并记录每位学生的面试结果。管理员可以使用系统查看面试结果以便于决策。
2、 ER图
3、 范式证明
只有两个字段的必满足3NF/BCNF,此处不再证明。
comment(interviewer_email, interviewee_email, comment)
schedule中f={email->room_id,email->time_id,email->is_finished}
timetable中f={id->date_time,id->start_time,id->end_time}
comment中f={(interviewer_email,interviewee_email)->comment}
account中f={email->password,email->identity}
以上均满足BCNF
application中由于主键(email,phone,student_id)中存在部分依赖,所以只满足3NF。
4、 功能说明
管理员后台
面试者登记志愿和简介,查看
面试官登录系统进行面试评价(暂未完成)
分配面试教室
全部面试结束后进行录取
5、 主要设计展示
基本表:
共8个,见下图:
备份
使用的是逻辑备份
表的增删改查:
多个用户及连接
数据库根据四种不同的身份建立数据库用户,并授予对应的权限,然后在系统中建立相应的连接。
应用程序权限管理
系统为每种身份创建了独立的操作界面,并使用与该身份相对应的数据库连接进行操作。
视图
用户列表,分配面试官,分配面试者
函数
查看未填写申请表的用户,查看年级不符合要求的用户
界面表级联
用户预约面试时间时,选择日期后,会出现该日期对应的可选时间段
触发器
user_list视图的更新
- 点赞
- 收藏
- 关注作者
评论(0)