2016-07-28 83 views
0

我想知道是否可以嵌套SQL表?或者最好的做法是将ID赋予例如第一个表格中的人员,这是第二个表格的关键?是否可以嵌套SQL表?

+1

哪个RDBMS是这样的?请添加一个标签来指定您是使用'mysql','postgresql','sql-server','oracle'还是'db2' - 或者其他的东西。 –

+1

您通常使用两个表之间正确的外键关系来执行此操作。虽然有些DBMS确实支持(例如Oracle和Postgres),但它通常不是这样的一个主意。 –

回答

1

如果通过“嵌套”,您指的是您在Access中获得的“子表视图” - 这是外键关系的UI表示,这正是您所描述的。

0

您不能嵌套表格。诸如crow foot notation等符号风格允许您构建关系。一个盒子可能有许多卷饼,一个卷饼可能有很多豆子。具有主键和外键或复合键的ID将是链接表的标准方式。 编辑 箱主键ID链接到卷饼外键BoxID作为SQL约束。

更多信息

  • www.techopedia.com/definition/5547/primary-key
  • www.techopedia.com/definition/6572/composite-key
  • www.w3schools。 com/sql/sql_foreignkey.asp
+0

谢谢,所以你使用外键链接表之间? –

+0

是的,主键将被外键引用。 – user4660919

0

在Oracle中,可能有一个表作为类型,然后在该类型的另一个表中有一列或只是嵌套表。

在SQL Server中,我不记得,但我认为这可能是可能的,因为您可以创建用户类型的表类型。

检查此链接https://msdn.microsoft.com/en-us/library/ms175007.aspx

+0

您可以使用自定义类型的数组在Postgres中执行类似操作。 –

+0

抱歉没有Postgres的知识,但是我想感谢你给我这些知识:)在将来我可以告诉其他用户它也可能在Postgres中。 –

+0

我认为在SQL Server中根本不可能。用户定义的(表格)类型不能用于定义(常规)表格的列。 –