Insert
將數據輸入到復雜的關係型數據庫中應該遵循哪些原則?
我是數據庫新手,如果這是一個基本問題,請原諒我。
我正在嘗試解析複雜的開源字典,並將數據輸出到同樣複雜的 Access 數據庫中:
我了解如何將數據插入表中,但我不明白的是如何將數據插入到多個表中,這些表中的外鍵相互依賴。舉一個簡化的例子:
我有三個表:
Entry
、Keyword
和Keyword_Priority
。每個條目都可以有多個關鍵字,因此該表通過外鍵Keyword
連結回。Entry
並且每個關鍵字元素可以有多個元素描述關鍵字的優先級,因此該Keyword_Priority
表通過外鍵連結回Keyword
,如下所示:在這個簡化的場景中,假設我想使用 SQL 創建一個新條目。我從哪裡開始?我是否:
- 先插入到
Entry
表中創建一個新的EntryID
Keyword
然後使用新EntryID
的作為外鍵插入表中Keyword_Priority
然後使用關鍵字的ID
欄位作為外鍵插入表中或者,我應該反過來做嗎……
- 插入
Keyword_Priority
表格- 插入
Keyword
表格- 插入
Entry
表格所以總結一下,我的問題是:
一次將數據插入多個表時應該從哪裡開始?是自上而下,還是自下而上?
外鍵與另一個表的主鍵相關。輸入帶有外來的記錄時,必須存在具有該主鍵的相應記錄。因此,您必須始終從插入關係 1 側的表(主鍵或父鍵或主鍵表)開始。然後只有您可以在關係的 n 側輸入一條記錄(進入明細表或子表或外鍵表)。
順序:1. 條目,2. 關鍵字,3. Keyword_Priority。
如果一個表有多個外鍵,則必須先輸入所有其他表中具有相應主鍵的相關記錄。例如,在向 中輸入記錄之前,必須已經插入了 in和 in
SenseRestricted...
的對應記錄。Sense``Reading