Mysql中表之间的超类型和子类型关系的语法

时间:2014-02-16 18:25:54

标签: mysql database-design

我有一个用户表,其中包含user_id,username和password列。还有三种用户;买家,卖家和经纪人,其个人资料信息具有共同的列名称,地址,描述等。此外,卖家和买家都有列介绍人栏。此外,每个用户都将拥有一个简介买家,卖家或经纪人。我想在mysql中设置超类型和子类型关系。这将是mysql中的语法?提前感谢您的回答。

2 个答案:

答案 0 :(得分:0)

mysql没有超类型/子类型关系的特定语法。如果需要,您可以为每个子类型创建一个表,然后创建一个具有子类型并集的视图以实现超类型。您需要确保表的主键不会发生冲突。根据数据,有不同的方法来实现它。

答案 1 :(得分:0)

超级类型/子类型关系是常规的一对一关系,您可以将类型或角色列添加到“超类型”表或使用特殊的USER_ROLE表。实际上,在此特定用例中,您具有用户角色而不是类型和超类型。泛化是一种面向对象的编程概念,通常对数据建模没有任何意义。