mysql - 职位发布的首选数据库设计

标签 mysql sql database database-design relational-database

我有两种类型的职位发布——公司职位发布和项目职位发布。以下是每个的输入字段(在前端):

*company*
- company name
- company location
- company description

*project*
- project name
- project location
- project description
- project type

最好的数据库设计是什么——一个表,保持所有字段分开——

`job_post`
- company_name
- company_location
- company_description
- project_name
- project_description
- project_type
- project_location

一个表组合字段-

`job_post`
- name
- location
- description
- project_type
- is_company (i.e., whether a company (True) or project (False)

或者两张 table ,或者别的什么?为什么这种方式比其他方式更可取?

最佳答案

根据很多因素,包括这项工作的最大规模,我会比 2 个单独的表更进一步规范化数据,也许有一个公司名称表等......因为连接多个表导致查询速度比一张长长的永无止境的表格,里面装满了您的所有信息。如果您想为项目而不是公司添加更多字段怎么办?

简而言之,我肯定会使用多个表。

关于mysql - 职位发布的首选数据库设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9577725/

相关文章:

mysql - 向表中插入数据时出现 SQL 错误

php - Laravel Schema 中等效的 MySQL 数据类型 SET 是什么?

mysql - 我应该为这些数据使用单独的表格吗?

php - 如何使用关系和 where 子句选择所有记录 Laravel MySQL

c# - 使用 Visual C# 插入 MySql 服务器

mysql - 如何在单个事务中保留具有主从关系的表?

sql - 关于如何将数字 1 - 69 的所有可能的 5 个数字组合查询到 SQL 表中的逻辑问题

mysql - SQL 更新加入错误

java - OpenCsv | SQL |只写入表头,不写入表格内容

mysql - 需要有关主键选择的建议