我很慚愧地問這個問題,但最近出現了一種情況,那就是我需要爲三種不同類型的銀行實體創建單個表格,這三種不同類型的銀行實體彼此相關。讓我解釋。數據庫表中的循環引用
想象一張銀行表格,其中包含一個管理銀行或經營農村分行的正常銀行的詳細信息,或者在本行或零售銀行分行下經營的農村分行,這些分行不屬於此分層結構,但僅與農村分支。
此前,我決定爲這些人制定4個不同的表格,這些表格受到FK限制(即指導行,農業分行,農村分行和零售銀行分行)。但是,當我開始創建TRANSACTION表時,我感到困惑,因爲任何這些實體之間可能發生交易(例如:農村分行&零售分行,農村分行之間等)。這意味着我不僅要記錄銀行實體的「目的地」ID,還要保留一些數據以幫助應用程序邏輯確定要加入哪個TABLE進行查詢。我覺得這是不好的
此外,還有一個USER表,用戶可能屬於這些實體中的任何一個,這裏也有4個不同的銀行實體表存在問題。我怎麼知道用戶是屬於農村分支還是零售分支機構還是執行銀行?
因此,我創建了一個單一的BANK表(實質上是因爲它們是相似的實體,因爲它們可以相互處理)我在表中添加了一個PARENT列來保存ID的值母機構的關係(關係I ot herwise使用FKs實現)。因此,農村分行的母行欄中會有操作銀行的ID。零售分行沒有父母,因此其值爲NULL等等。
我現在看到的問題是,在BANK表中有一個PK/FK關係,這是一個循環引用。
我的問題是:這有多糟糕?什麼可能是一個出路?