基于华为云OpenGauss的数据库系统设计

举报
yd_249117356 发表于 2023/10/13 20:47:21 2023/10/13
【摘要】 本文章介绍如何使用华为云OpenGauss数据库和Delphi语言开发一个简易的数据库系统。

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视图的更新


【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。