[SQL ] 想問一下有關primary key設計的問題
(針對 SQL 語言的問題,用這個標題。請用 Ctrl+Y 砍掉這行)
資料庫名稱:SYBASE
資料庫版本:15.0
內容/問題描述:
因為沒有修過資料庫相關基礎課程,只在工作上使用,
最近碰到一個問題,想問一下各位先進的意見。
有一個table 結構大概長這樣
company_id char(7) Key
dollar_code char(1) Key
bank_no char(4)
bank_acct char(20)
用途是紀錄各個公司的銀行帳戶,分台幣與外幣每個幣別各一個銀行帳戶,
收到一個修改需求,希望每個公司,每個幣別允許多一個銀行帳戶,當然
各幣別帳戶不可duplicate.
原有table結構不足,因此須修改。
先修改成這樣
Table schema1
company_id char(7) Key
dollar_code char(1) Key
seq_no int Key <--增加
bank_no char(4)
bank_acct char(20)
最簡單的做法,增加一個seq_no,所以每公司,每幣別可指定多個銀行帳戶,
當然此結構有可能銀行帳戶會Duplicate,
但被要求修改成
Table schema2
company_id char(7) Key
dollar_code char(1) Key
bank_no char(4) Key
bank_acct char(20) Key
每公司,每幣別同樣可指定多個銀行帳戶,也不會Duplicate,
但使用上就沒有那麼方便。
EX:
1.例如說每公司,每幣別如果可指定n個銀行帳戶,但table中每公司,每幣別資料可能不滿n個,使用SQL於Query時補足n筆就不太容易,大概只能使用Cursor硬寫。
2.使用SQL update時,須記住原本的bank_no與bank_acct才能update
但以上兩點使用Table schema1就很容易做到。
想問一下各位先進的想法,或是我有那些想法是錯誤的,還請各位指正。
或是有更好更方便的Table schema設計。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.225.13.182
※ 文章網址: https://www.ptt.cc/bbs/Database/M.1443798994.A.95B.html
→
10/03 09:42, , 1F
10/03 09:42, 1F
→
10/04 17:20, , 2F
10/04 17:20, 2F
→
10/04 17:24, , 3F
10/04 17:24, 3F
→
10/04 17:24, , 4F
10/04 17:24, 4F
→
10/04 17:32, , 5F
10/04 17:32, 5F
推
10/06 00:33, , 6F
10/06 00:33, 6F