我正在为我的应用程序设计一个数据库,我在实现以下逻辑时遇到了问题。
用户可以是卖方,也可以是买方。我为用户创建了一个表,并创建了另一个名为USERTYPE的表,该表的类型为“供应商”和“买方”,但我必须通过使用相同的email_id (User_id)来知道用户是否同时是“供应商”和“买方”。任何实现这一逻辑的想法或建议。提前谢谢。
发布于 2013-10-28 05:02:40
是的,如果一个用户可以有很多类型(例如,最多2种),而且每种类型当然都有很多用户,那么这就是一种多到多的关系。
Users >--------< UserTypes
任何逻辑上的多到多关系都需要第三个物理表来同时引用两者。
Users ----< UserHasType >---- UserTypes
例如,这个表可以如下所示:
CREATE TABLE UserHasType (
user_id INT,
type_id INT,
PRIMARY KEY (user_id, type_id),
FOREIGN KEY (user_id) REFERENCES Users(user_id),
FOREIGN KEY (type_id) REFERENCES UserTypes(type_id)
);
https://dba.stackexchange.com/questions/52321
复制相似问题