数据库设计心得

发布时间 2023-11-10 15:02:26作者: 仿生代码蟹

本组项目是某高校就业平台系统,页面与功能比较繁杂,可以大致分为4个端:学校端,学生端,企业端,管理员端

 

业务需求

完成企业招聘

学生可以向企业投简历,企业可以发布岗位,企业和学校合办宣讲会,学生可以参加

初步设计

四类账户每种需要一个表来记录账户信息,也便于进行账户管理

此外根据业务需求也确定了 简历、宣讲会、岗位、公告、面试信息等相关实体类

为了便于后台管理,为绝大部分实体类设置了自增主键

按照数据库设计范式设置了相应的外键约束

后续修正

在开发过程中注意到一些在初步设计中没有考虑到的业务需求,并对数据库进行修改。

例如受限于表的范式约束和业务逻辑的便利性,添加了额外的“被标记的岗位”表,实现对特定账户的个性化岗位筛选

添加了学校账号的state字段实现管理员账号对学校账号的管理等

在β版本的计划中,可能还需要引入日志系统支持进一步的数据分析

心得体会

表是为完成业务需求设计的,要保证能够为所有对应业务实现支撑。

在我们的团队项目中,数据量十分有限,没有必要过于担忧性能问题

充分的外键约束是数据库完整性的有力保证

面对考虑不周的业务需求,优先考虑改变业务逻辑而不是修改数据库,后者可能导致严重影响项目中其他部分的正常进行。

全局ER图如下