在mysql中存储作业标准

时间:2011-04-22 00:31:26

标签: php mysql

我正在开发一个门户网站,它将工作要求,如经验,工资等存储在数据库中,每当任何用户(新/旧)符合该条件时,作业应在登录后在其仪表板中显示。 员工中的我的专栏是 年龄,城市,行业,婚姻状况。

因此,当admin发布作业时,他将定义用户可以看到的条件。对于前者年龄在20-30岁之间,只有孟买这样的城市。

如何有效地将这些信息存储在数据库中。

我使用的是PHP / MySQL。

2 个答案:

答案 0 :(得分:5)

理想情况下,您应该使用用户创建一个表:

  • 唯一ID
  • 名称
  • 婚姻状况
  • 年龄

创建第二个表来配合行业和UUID,如下所示:

  • 唯一ID
  • 行业

这样,特定用户可以属于多个行业。

第三,创建一个表来配置用户ID和体验:

  • 唯一ID
  • 位置
  • 行业
  • 开始日期
  • 结束日期

由于行业和经验是给定用户可以拥有任意数量的数据,因此您需要将数据抽象到自己的表中。不要尝试在单个表中表示所有这些信息 - 这是一个解决方案,可以通过单个雇主进行不良扩展。

我还想指出,如果您的申请将在美国和其他几个国家部署,那么雇主根据年龄和婚姻状况进行歧视实际上是非法的。我假设这不适用于你,但确实如此。

答案 1 :(得分:1)

在加快查找速度方面,您要做的最重要的事情是确保索引要搜索的列。

例如,如果您想进行基于某个开始日期的搜索:

像: select * from tablename where start_date> '某个约会';

然后将'tablename'表上的start_date列编入索引非常重要。

除了确保您的表格是正交的,决定设置数据库的最佳方式之外,您还需要问自己,您会询问数据库会出现什么样的问题,并围绕这些问题设计表格。