php - CakePHP数据库设计: associations for job board

标签 php mysql database cakephp

大家好。

我实际上正在使用 CakePHP 构建一个工作板,如果您能在设计数据库方面获得一些帮助,我们将不胜感激!

我有一个带有不同外键的表jobs: id、recruiter_id、title、sector_id、division_id、experience_id 等。

关联表(部门、部门和经验)具有相同的配置id、name和job_count,有时还有一个或两个其他字段(例如部门的company_count)。

所以我想知道是否有更好的方法来设计这些表格。我考虑将它们三个放在一个名为 lists 的表中,键为:id、value 和 list_name。使用此配置,我只需执行一个请求即可获取所有列表,而不是 3 个。

我的问题是“好方法”解决方案是什么?也许还有另外一个?

最佳答案

将它们放在单独的表中似乎有点重复,但实际上它们都是相同的东西 - 作业的属性,并且具有非常相似的表结构。

我认为您可以为“job_properties”或其他内容创建一个表。

每个属性都可以有一个唯一的 slug(如果您愿意)或者只使用它的 id。

// job_properties table example
id
slug // (optional or could be called "key" if you prefer)
type // (optional - "sector", "division", "min_exp")
name // (for use on the names of things like "marketing" or "technology")
value // (int - for use on things like minimum experience)

那么每个Job都会有很多JobProperty。如果需要的话,它还允许任何工作拥有多个部门。

这将允许您根据作业是否具有特定属性或一组属性进行拉取,并且看起来整体更清晰、更统一,同时又不会使其过于困惑。

关于php - CakePHP数据库设计: associations for job board,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28725591/

相关文章:

php - 在 2 个 URL 中显示相同的结果

php - 将第二个变量添加到在 PHP 中提交表单时生成的变量

PHP mysql匹配多行结果

php - CSV导入-需要设置导入txt文件字符集

mysql - UNION有意想不到的结果吗?

mysql - 在MySQL中极快地查询排名数?

php - 在 MySQL 中搜索单个字符串

sql - 如何使用ODBC检查数据库是否存在

mysql - 如何使用 MySQL 获取有序表中行的位置?

php - SSL 证书问题 : self signed certificate