2016-07-28 72 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中根本不可能。用戶定義的(表格)類型不能用於定義(常規)表格的列。 –

相關問題