Insert

將數據輸入到復雜的關係型數據庫中應該遵循哪些原則?

  • December 2, 2019

我是數據庫新手,如果這是一個基本問題,請原諒我。

我正在嘗試解析複雜的開源字典,並將數據輸出到同樣複雜的 Access 數據庫中:

在此處輸入圖像描述

我了解如何將數據插入表中,但我不明白的是如何將數據插入到多個表中,這些表中的外鍵相互依賴。舉一個簡化的例子:

我有三個表:EntryKeywordKeyword_Priority。每個條目都可以有多個關鍵字,因此該表通過外鍵Keyword連結回。Entry並且每個關鍵字元素可以有多個元素描述關鍵字的優先級,因此該Keyword_Priority表通過外鍵連結回Keyword,如下所示:

在此處輸入圖像描述

在這個簡化的場景中,假設我想使用 SQL 創建一個新條目。我從哪裡開始?我是否:

  1. 先插入到Entry表中創建一個新的EntryID
  2. Keyword然後使用新EntryID的作為外鍵插入表中
  3. Keyword_Priority然後使用關鍵字的ID欄位作為外鍵插入表中

或者,我應該反過來做嗎……

  1. 插入Keyword_Priority表格
  2. 插入Keyword表格
  3. 插入Entry表格

所以總結一下,我的問題是:

一次將數據插入多個表時應該從哪裡開始?是自上而下,還是自下而上?

外鍵與另一個表的主鍵相關。輸入帶有外來的記錄時,必須存在具有該主鍵的相應記錄。因此,您必須始終從插入關係 1 側的表(主鍵或父鍵或主鍵表)開始。然後只有您可以在關係的 n 側輸入一條記錄(進入明細表或子表或外鍵表)。

順序:1. 條目,2. 關鍵字,3. Keyword_Priority。

如果一個表有多個外鍵,則必須先輸入所有其他表中具有相應主鍵的相關記錄。例如,在向 中輸入記錄之前,必須已經插入了 in和 inSenseRestricted...的對應記錄。Sense``Reading

引用自:https://dba.stackexchange.com/questions/254513