sql - 引用外键数组

标签 sql associations one-to-many varray

假设我有一个表 T - 它的每一行都有一个键(假设 TID 列)。现在我有第二个表 A,其中的每一行我都希望有一个来自 TID 的值列表。我怎样才能实现这个目标?

我考虑过从 T 创建值的 VARRAY 并将其放入 A 中,但不知怎的,我觉得这不是一个正确的方法。 ..

最佳答案

如果 T 中的一行可以属于 A 中的多行,则 normal way就是创建链接表:

create table A_TO_T 
    (
    TID foreign key references T(TID), 
    AID foreign key references A(AID),
    primary key (TID, AID)
    );

链接表也称为 junction or cross-reference table .

如果T中的一行只能属于A中的一行,可以给T表添加外键:

alter table T add
    AID foreign key references A(AID);

关于sql - 引用外键数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30369689/

相关文章:

java - JPA:检查实体是否具有关联的更好方法

ruby-on-rails - 如何禁用 belongs_to :touch option in Rspec tests for Rails models?

nhibernate - 如何在不删除引用对象的情况下删除 Nhibernate 多对多关联

java - 使用联接表将 JPA 双向 @ManyToOne 关系映射到多个表

mysql - 从一个表中选择行,以一对多关系连接另一个表中的最新行

mysql - 一对多关系的 SQL 查询

sql - 查找 Teradata SQL 中给定列的哪些行具有不同的值

sql - select 查询中的 if then 语句

c# - 我如何在 C# 中将字符串列表作为 SQL 参数传递

Android Rooms - 在字符串中搜索