Re: [討論] Key跟Foreign key的關聯性

作者: vity (逍遙盃-佛得)   2014-12-15 16:31:05
※ 引述《drcgs (我心中尚未崩壞的地方)》之銘言:
: 使用的資料庫:Mysql
: 我沒修過資料庫概念 目前是自修
: 我目前有一些觀念問題 key的問題跟Foreign key的關聯性
: key的種類很多種又該怎分(以用途來說)
: Q1.A表A欄位設Primary Key(主表)
: B表B欄位設Primary Key
: Foreign Key設定A表A欄位 Refrerenced table為B表B欄位
: 這樣無法設置成立 不曉得為和.
例如你PO這篇文, 可以這樣存資料庫
文章資料表
文章序號 作者ID 文章名稱 看板
1001 1 資料庫 Database
1002 3 我是帥哥 Mentalk
作者資料表
作者ID 作者名字 上站次數
1 drcgs 99
2 Codd 100
結果文章資料表找不到文章1002的作者資料, 因為沒有ID3, 見鬼拉
po文時作者資料應該一定有在ptt阿
自己有別人家裡鑰匙, 別人家他一定有一把阿, 因為自己那鑰匙是別人給的他家鑰匙
: Q1-1:
: 為何要設定 COLLATION為utf8-general_ci
?
: Q2:資料庫概念裡有很多種類型KEY 這些KEY的區分用途該怎嘛去瞭解及使用的方式
: EX:候選KEY 主索引KEY INDEX KEY之類....
有個Venn diagram有解釋各種key的關係
http://zh.wikipedia.org/wiki/%E5%85%B3%E7%B3%BB%E9%94%AE
還有一個更細節的圖 英文版
: Q3:什麻情況下才考慮欄位自動產生流水號?
: 感謝大家教導
如果ptt沒ID只有真實姓名, 就需要流水號才能辨認誰是誰, 因為會有同名同姓
如果ID可以不唯一, 例如可以有兩個drcgs, 那也要流水號才能分別出兩個drcgs
流水號 作者ID
1 drcgs
2 drcgs
資料已經有可以辨認誰是誰的就不需要流水號了, 反之就需要
一點淺見
作者: iamnotfat (我不肥)   2014-12-15 18:18:00
foreign key, primary key 是資料庫表格正規化之後的產物, 有興趣可以研究看看 Star schemahttp://goo.gl/Lkgm5J
作者: drcgs (我心中尚未崩壞的地方)   2014-12-16 00:17:00
感謝 太多有趣的地方 ...

Links booklink

Contact Us: admin [ a t ] ucptt.com