数据库表设计多个表的外键

时间:2014-06-25 06:10:01

标签: php postgresql foreign-keys

在我的PHP和psql应用程序中,我有大量的客户和服务提供商,两者都可以登录系统,对于我们创建表USER的登录详细信息但我们如何在USER表中映射CUSTOMER表和SERVICE_PROVIDER表作为外键。结构Skeleton是

**CUSTOMER:** 
id    bigserial, 
name  character varying(100),
address character varying(350),
phone character varying(50),
etc....

**SERVICE_PROVIDER:**
id bigserial, 
name  character varying(100),
email  character varying(100),
phno  character varying(50),
first_esc  character varying(100),
sec  character varying(100),
etc


**USER**
id bigserial, 
username  character varying(100),
password  character varying(100),
customer_type  bigint 

在USER表列中,customer_type可以是客户或服务提供商

如何设计表格结构....

请帮帮我

感谢你 安州

1 个答案:

答案 0 :(得分:0)

需要的是从多个其他组(子类型)到(超类型)用户的FK。

每个表都有一个声明。使该语句为true的行将进入表中。客户是用户,服务提供商是用户。 CUSTOMER& SERVICE_PROVIDER(等)说一个人的事情是真的,USER说了些什么。

// "customer [id] has ..."
CUSTOMER(id,...)
    fk id references USER -- a customer is a user

// "service provider [id] has ..."
SERVICE_PROVIDER(id,....)
    fk id references USER -- a service provider is a user

// "user [id] has ..."
USER(id,...)

请参阅this

相关问题