设置外键约束的通常方法是选择外键将指向哪个表。
我在1个表和一组表之间有一个多态关系。
这意味着该表将与集合中的那些表之一相关。
例如。
images: person_id, person_type
subordinates: id, col1, col2...col9
products: id, colA, colB...colZ
在上面的示例中,如果person_type为“ subordinates”,则person_id应该是subordinates.id的外键,产品也应如此。
因此,我想知道,是否可以对多个表之一使用外键,或者在分配一个表时必须专门设置它指向的表?
这个问题是针对MySQL和PostgreSQL的。
谢谢
问题内容: 我正在开发一个将用作其他应用程序的可扩展框架的应用程序。 基本类之一称为节点,节点具有内容。SQL表如下所示: TABLE节点(NodeId int,....等) 表格NodeContentRelationship(NodeId int,ContentType字符串,ContentId int) 开发人员可以扩展应用程序以创建自己的内容类型。 显然,从关系数据库的角度来看,这很不好,因
问题内容: 因此,这更多是一个设计问题。 我有一个主键(例如用户的ID),并且有大量与该用户相关联的信息。 我应该根据信息将多个表细分为几类,还是只有一个表包含许多列? 我过去这样做的方法是拥有多个表,例如,一个表用于应用程序使用情况数据,一个表用于配置文件信息,一个表用于后端令牌等,以使事情看起来井井有条。 最近有人告诉我,最好不要那样做,有一个包含很多列的表也可以。关键是,所有这些列都具有相同
问题内容: 我有3张桌子。一个基本表,称为表A,两个引用表A的表,分别称为表X和表Y。X和Y都具有引用表A的外键约束。X和Y的外键也是它们自己的首要的关键。 我想知道是否有可能添加一个仅允许这些表之一包含引用表A的Recrod的约束。因此,如果X具有引用A的记录,则Y不能有一个,并且Y有一个记录,引用A,那么X不能有一个。 这可能吗? 谢谢, 问题答案: 使用UDF的CHECK约束(这是Oded的
我可以这样做吗?或者有没有其他更好的方法来处理这种情况
问题内容: 我有以下数据库结构/层次结构: TABLE product_type : TABLE product : parent_id :是product_type ID TABLE treeNode : 它是一个树层次结构(根有n个子节点),层次结构的数量 未知 。 col的值为 “ CATEGORY” 或 “ GROUP” ,这意味着我有2棵树: Categories: Groups: TA
问题内容: 我正在尝试在SQL Server的同一张表之间创建多对多关系。 我有一张桌子,上面有列和。 关系遵循以下规则: 一个孩子可以有很多父母 父母可以有很多孩子 ObjectA可以是ObjectB的子代,而ObjectB可以是ObjectA的子代 但是对象不能是其本身的直接子代 所以我创建第二个表格的列和,当然我希望这些关系通过级联删除。 但是当我在SQL Server中尝试此操作时,出现错