需要解决方案postgres相关表索引

时间:2018-07-16 11:09:49

标签: postgresql ddl

在pg数据库上我根本不是上帝,所以我将问题放在这里。

我有5张桌子:

  • domain_check
  • domain_registrant
  • domain_registrar
  • domain_tech

现在它们的结构:

域:

domain_id | domain_name | init_check_id | last_check_id | updated_at | created_at

domain_check:

check_id | domain_id | check_status | updated_at | created_at

domain_registrant:

id | check_id | domain_id | name | updated_at | created_at

domain_registrar:

id | check_id | domain_id |详细信息| updated_at | created_at

domains_tech:

id | check_id | domain_id | name | updated_at | created_at

就像您可以看到domain_check与域相关,其余表与domain和domain_check相关。 为它们创建索引和外键的最佳方法是什么?

有人可以给我DDL示例吗?

1 个答案:

答案 0 :(得分:1)

索引将带有主键。您的每个表都应该有一个主键。可以将domains表修改为具有这样的主键:

alter table domains add primary key (domain_id);

然后,您可以将一个外键添加到domain_check:

alter table domain_check add constraint fkdomains_domain_check
    foreign key (domain_id) references domains (domain_id);

此结构将在domains表上添加索引,并将外键引用添加到domain_check表。