2017-04-25 93 views
0

我有一個非常簡單的問題。我想要做的就是創建一個數據庫模式。Oracle ID,PK和FK數據庫模式

Database Schema

  • PLANT有兩列:PLANT_ID(主鍵)和NAME它來自KNIME
  • PRODUCTION也有兩列:主鍵和NAME也來自KNIME

我想要的是PLANT_ID列也應該在PRODUCTION表中。我怎樣才能做到這一點?

+0

我不清楚你在問什麼。 「我該怎麼做」的簡單答案是 - 您在CREATE TABLE語句中包含該列。但我懷疑你真正的問題是別的。 –

+0

什麼是KNIME?如果需要該列名稱,請將PLANT_PLANT_ID重命名爲PLANT_ID – eckes

+0

@Dave PLANT_ID設置爲'自動遞增',以便表名PLANT在添加名稱時自動添加PLANT_ID。我希望在PRODUCTION表中看到PLAt_ID。例如 - 如果我想加入該表... – buechertasche123

回答

0

目前還不清楚你想要什麼;應根據實體工廠和生產之間的關係來規定要求。生產可以持有工廠的ID(如果生產實體可以有一個工廠)[反之亦然]。這實際上取決於工廠和生產之間關係的平等性。如果「生產」可以有唯一的工廠,那麼只需將「工廠ID」列放入「生產」表(即外鍵)中即可。如果它是多對多的(即一個生產實體可以有多個工廠或者一個工廠實體可以與生產實體有很多關係),那麼您需要一個「交集實體」,比如說說Plant_Production只有plant_id和Production_id(可能是一個如果業務要求規定,則描述關係)。

+0

我認爲你的意思是「基數」。雖然我有點像「關係的狂歡」。 –

+0

@DaveCosta好的一個!這就是我在午夜左右回答問題所得到的結果。 –

0

我想你在問什麼是如何創建一個數據庫約束,使得PRODUCTION.PLANT_PLANT_ID始終引用PLANT中的一行。

要做到這一點,你需要:

  1. 添加主鍵到PLANT表。對於這兩種Alter Table Oracle Documentation
  2. 添加一個外鍵從PRODUCTION(PLANT_PLANT_ID)PLANT

見。