大家好。
我实际上正在使用 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/