Relational database的PrimaryKey

2012-11-28 8:46 am
我想問係relational database入面用的Primary Key for data可唔可以係同一個table中出現多於一次?


如:一個CD Table, CD Name當作Primary Key, 但一張CD包含著好多首歌的吧, 比如set 多一個field叫 Song name, 咁理論上一定不停地入同一個CD Name好多次(因為要入曬過張CD入面的所有歌), 咁依個情況下, Primary Key不是要重複使用了嗎?但PrimaryKey 定義又好像是說作為Primary Key的data一定要unique...

希望有人能幫幫我>_<..
更新1:

首先感謝熱心解答的咁多位啊! 我仲想問下 咁係咪將song name搬去第二個table,根住將song id set 成primary key再將cd id set 成oreign key,link埋佢地就得?(foreign key可以不unique吧?)

回答 (3)

2012-11-28 9:38 am
✔ 最佳答案
叫得做primary key當然係要獨一,例如一班同學,個學號可以先係獨一,但人名欄可以重複,不能做primary key。cd 名不可以做primary key,因為可以同名唱片。
因為用primary key的作用就係以一欄就可以id個record出黎。
做unique key,你可以用唱片個 upc碼。當然,如果冇,或者你根本唔care,你可以叫個sql自己gen一個key,以link去個sub table。
2012-11-28 11:02 pm
song name個case會破壞左primary key
一般系起多個table來擺song

可能你還沒學到Database normalization
2012-11-28 5:08 pm
Primary key must be unique.
In your case, you can define multiple columns as primary key or create an extra column (e.g. ID) with self-defined value or auto increment.


收錄日期: 2021-04-26 00:13:50
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20121128000051KK00014

檢視 Wayback Machine 備份