在設計資料庫的表的時候,需要明確的點就是,就是這張表是幹什麼的,它的主鍵是什麼,它與哪些表有關,表的關聯無非就是按照主鍵或者外來鍵與其他表形成暫時的關聯關係,得到完整的資料。下面,我使用三個簡單表的來展示表與表之間的關聯。
1,學生表
在設計每一張表的時候我們首先需要確定的就是,它的唯一性,在學生表中應該存的就是學生的基本資訊,比如名字,學號等,學號是唯一的,所以用學號作為主鍵
2,課程表
在課程表中課程號是唯一的,所以用課程號作為主鍵,課程表中還需要乙個外來鍵學號來與學生表關聯起來,有了這個學號,就能將學生表與課程表關聯起來,知道某某學生選了哪些課程
3,課程詳細表
在這個表中需要存課程的詳細資訊,所以使用詳細id做主鍵,課程號作為外來鍵,將課程表與課程詳細表關聯起來
使用left join將這三張表關聯起來
結果如下:
表的關聯就是將不同的表的資料聚合在一起,因為不可能將所有的資料全放在乙個表裡面
關於資料庫表設計的一點體會
以乙個實際工作為例,在乙個金融系統中,從業務上看有投資人和借款人這兩類使用者,但從使用者類別上看有企業使用者和個人使用者,請問建表時如何做比較好。方式一 user表 user person表 user enterprise表 方式二 user表 user investor 投資人表 user bor...
資料庫的設計原則 關聯還是不關聯?
資料庫的設計原則 關聯還是不關聯?設計 資料庫 確定使用hibernate 的過程中,時常會有爭論,爭論的焦點主要還是集中在表與表之間的關聯上面 有的傾向於去掉表與表之間的任何關聯 有的拿完整性說話,必須保留所有的關聯性。觀點1 我傾向於去掉所有的關聯,為了開發的方便。然後寫 的時候自己留意完整性的...
關聯表查詢資料庫
1.呼叫方法 this getrelationlist m map,bd prefix.deal as d left join db prefix.user as u on d.user id u.id d.u.site id d.id map指的是查詢條件陣列 2.實現函式 protected f...