mysql中有大量的外键?这样好吗?

时间:2011-07-11 18:49:48

标签: php mysql database-design foreign-key-relationship

嘿伙计们(可能还有女孩)。我正在为一家我工作的公司在mysql中建立一个庞大的数据库,而且我很喜欢你可以帮助我的事情。

我的问题很简单:我怎么知道有很多外键?

我有8个表格,描述了以下数据:

第一关系

  • table country(pais)
  • 表状态(estado)
  • table city(cidade)

(city => state => country)

第二关系

  • table department(departamento)
  • table sector(setor)
  • 表角色(货物)

(role => sector => department)

第三关系

  • 法人实体(entidade juridica)
  • 公司(empresa)

(公司=>法人实体)

最后我有一个名为员工第九个表,此表具有前面描述的所有表的外键引用。


  • (主要)id-colab
  • fone_colaborador
  • fax_colaborador
  • ativo_colaborador
  • email_colaborador
  • (主要)cargo_id_cargo(货物表)
  • (主要)cargo_setor_id_setor(货物表)
  • (主要)cargo_segor_departamento_id_departamento(货物表)
  • (primary)empresa_id_empresa(empresa table)
  • (小学)empresa_entidade_juridica_id_entidade_juridica(empresa table)
  • (小学)empresa_entidade_juridica_cidade_cidade_id(empresa table)

  • (fK)货物表

  • (fk)e​​mpresa table

这个模型的主要概念是。

  • 我有一个法人实体的注册。
  • 法律实体必须放在country => state =>城市

  • 我有公司注册

  • 公司应告知其是否为分公司或母公司
  • 公司应该参考法人实体表(拥有地址,电话,州ID,城市ID,国家ID,邮政编码等......)

  • 我有一个角色注册

  • 角色应该引用扇区表
  • 扇区表应该具有对department表的引用

最后,上图中描述了名为employee的主表。

我希望你们能为我做好准备!

见你。

1 个答案:

答案 0 :(得分:5)

如果这是保持数据正确规范化所需的外键,则表中可以有100个外键。不要担心这个数字。担心保持你的字段适当原子化和架构规范化。