[請益] 關於關聯式資料庫處理重複架構的方式
最近在開發功能的時候
有遇到一個滿困擾的問題
在某些需求中,可能會遇到數張結構相同的表,
只是因為外來鍵參考的表不一樣而分化
比如說有個紀錄縣市總預算的需求
假設縣和市都有自己的東西要存,因此不能存在同一張表
必須是獨立的兩張表
那資料庫預算表可能會長這樣
CountyBudget
id/countyId/income/expenses
CityBudget
id/cityId/income/expenses
在程式面或許可以把預算表的屬性抽一個物件
在縣市底下放這個物件進去
但資料庫這邊除了重複定義欄位之外 有其他方式可以解決嗎?
有想過類似這樣的方式
Budget
id/type/referId/income/expenses
但是問題是這樣就沒辦法建立實體關聯了QQ
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.134.113.80 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1671603742.A.79A.html
→
12/21 14:33,
1年前
, 1F
12/21 14:33, 1F
→
12/21 14:33,
1年前
, 2F
12/21 14:33, 2F
→
12/21 14:33,
1年前
, 3F
12/21 14:33, 3F
→
12/21 14:33,
1年前
, 4F
12/21 14:33, 4F
我上面只是舉個例子 實際上有些情況是city和country並沒有關聯性 所以也沒有關聯表
可以直接參照
目前的做法就是在city和country底下各自建立一張budget表
但這種方式在遇到budget表底下也有很多與其關聯的表
維護上就會十分麻煩...
以MSSQL來講 應該是做不到type/referId,可以和不同的表做關聯吧?
※ 編輯: f0921048125 (220.134.113.80 臺灣), 12/21/2022 14:49:26
※ 編輯: f0921048125 (220.134.113.80 臺灣), 12/21/2022 14:51:13
推
12/21 15:07,
1年前
, 5F
12/21 15:07, 5F
推
12/21 15:11,
1年前
, 6F
12/21 15:11, 6F
→
12/21 16:18,
1年前
, 7F
12/21 16:18, 7F
→
12/21 16:18,
1年前
, 8F
12/21 16:18, 8F
→
12/21 16:18,
1年前
, 9F
12/21 16:18, 9F
→
12/21 16:18,
1年前
, 10F
12/21 16:18, 10F
推
12/21 17:06,
1年前
, 11F
12/21 17:06, 11F
→
12/21 17:06,
1年前
, 12F
12/21 17:06, 12F
→
12/21 17:07,
1年前
, 13F
12/21 17:07, 13F
我們有用On Delete的慣例
因此很少會選擇放棄實體關聯
※ 編輯: f0921048125 (111.83.165.50 臺灣), 12/21/2022 18:20:19
推
12/21 18:35,
1年前
, 14F
12/21 18:35, 14F
→
12/21 18:35,
1年前
, 15F
12/21 18:35, 15F
→
12/21 18:44,
1年前
, 16F
12/21 18:44, 16F
→
12/21 18:44,
1年前
, 17F
12/21 18:44, 17F
→
12/21 18:45,
1年前
, 18F
12/21 18:45, 18F
推
12/21 19:07,
1年前
, 19F
12/21 19:07, 19F
→
12/21 19:07,
1年前
, 20F
12/21 19:07, 20F
→
12/21 19:07,
1年前
, 21F
12/21 19:07, 21F
→
12/21 19:07,
1年前
, 22F
12/21 19:07, 22F
→
12/21 19:07,
1年前
, 23F
12/21 19:07, 23F
推
12/21 19:41,
1年前
, 24F
12/21 19:41, 24F
推
12/21 20:17,
1年前
, 25F
12/21 20:17, 25F
→
12/21 20:17,
1年前
, 26F
12/21 20:17, 26F
→
12/21 22:10,
1年前
, 27F
12/21 22:10, 27F
推
12/21 23:25,
1年前
, 28F
12/21 23:25, 28F
推
12/22 02:07,
1年前
, 29F
12/22 02:07, 29F
→
12/22 02:07,
1年前
, 30F
12/22 02:07, 30F
推
12/22 09:14,
1年前
, 31F
12/22 09:14, 31F
→
12/22 09:14,
1年前
, 32F
12/22 09:14, 32F
→
12/22 09:14,
1年前
, 33F
12/22 09:14, 33F
推
12/22 12:01,
1年前
, 34F
12/22 12:01, 34F
→
12/22 12:23,
1年前
, 35F
12/22 12:23, 35F
→
12/22 12:24,
1年前
, 36F
12/22 12:24, 36F
→
12/22 12:26,
1年前
, 37F
12/22 12:26, 37F
→
12/22 12:45,
1年前
, 38F
12/22 12:45, 38F
→
12/22 12:48,
1年前
, 39F
12/22 12:48, 39F
→
12/22 12:50,
1年前
, 40F
12/22 12:50, 40F
推
12/22 14:30,
1年前
, 41F
12/22 14:30, 41F
推
12/22 17:08,
1年前
, 42F
12/22 17:08, 42F
→
12/22 17:15,
1年前
, 43F
12/22 17:15, 43F
→
12/22 23:14,
1年前
, 44F
12/22 23:14, 44F
→
12/22 23:14,
1年前
, 45F
12/22 23:14, 45F
→
12/22 23:14,
1年前
, 46F
12/22 23:14, 46F
→
12/22 23:14,
1年前
, 47F
12/22 23:14, 47F
→
12/22 23:14,
1年前
, 48F
12/22 23:14, 48F
推
12/22 23:25,
1年前
, 49F
12/22 23:25, 49F
→
12/23 08:31,
1年前
, 50F
12/23 08:31, 50F
→
12/23 23:53,
1年前
, 51F
12/23 23:53, 51F
→
12/24 22:29,
1年前
, 52F
12/24 22:29, 52F
→
12/24 22:30,
1年前
, 53F
12/24 22:30, 53F
推
12/25 01:41,
1年前
, 54F
12/25 01:41, 54F
→
12/25 01:43,
1年前
, 55F
12/25 01:43, 55F
→
12/25 01:44,
1年前
, 56F
12/25 01:44, 56F
推
12/25 01:45,
1年前
, 57F
12/25 01:45, 57F
→
12/25 01:45,
1年前
, 58F
12/25 01:45, 58F
→
12/25 01:46,
1年前
, 59F
12/25 01:46, 59F
→
12/25 01:47,
1年前
, 60F
12/25 01:47, 60F
→
12/25 01:47,
1年前
, 61F
12/25 01:47, 61F
→
12/25 01:48,
1年前
, 62F
12/25 01:48, 62F
→
12/25 01:48,
1年前
, 63F
12/25 01:48, 63F
→
12/25 01:49,
1年前
, 64F
12/25 01:49, 64F
→
12/25 01:49,
1年前
, 65F
12/25 01:49, 65F
→
12/25 01:50,
1年前
, 66F
12/25 01:50, 66F
推
12/25 01:51,
1年前
, 67F
12/25 01:51, 67F
→
12/25 01:51,
1年前
, 68F
12/25 01:51, 68F
推
12/25 01:53,
1年前
, 69F
12/25 01:53, 69F
→
12/25 01:53,
1年前
, 70F
12/25 01:53, 70F
→
12/25 01:53,
1年前
, 71F
12/25 01:53, 71F
→
12/25 01:54,
1年前
, 72F
12/25 01:54, 72F
→
12/25 01:54,
1年前
, 73F
12/25 01:54, 73F
→
12/25 01:55,
1年前
, 74F
12/25 01:55, 74F
→
12/25 01:56,
1年前
, 75F
12/25 01:56, 75F
→
12/25 01:56,
1年前
, 76F
12/25 01:56, 76F
→
12/25 01:58,
1年前
, 77F
12/25 01:58, 77F
→
12/25 01:58,
1年前
, 78F
12/25 01:58, 78F
→
12/25 01:58,
1年前
, 79F
12/25 01:58, 79F
→
12/25 01:59,
1年前
, 80F
12/25 01:59, 80F
→
12/25 01:59,
1年前
, 81F
12/25 01:59, 81F
推
12/25 02:01,
1年前
, 82F
12/25 02:01, 82F
→
12/25 02:02,
1年前
, 83F
12/25 02:02, 83F
→
12/25 02:02,
1年前
, 84F
12/25 02:02, 84F
→
12/25 08:39,
1年前
, 85F
12/25 08:39, 85F