資料庫一對多 聯合主鍵

2021-08-24 18:10:26 字數 386 閱讀 4063

使用者表

使用者id(主鍵), 使用者名稱……

表 id(主鍵), 名稱, 儲存位置….

使用者– 關係表

使用者id, id (使用者id和id建聯合主鍵), 序號(在該使用者的顯示順序)….

取如:

隔行取(取偶數行):

select a.id, b.名稱, …… from 使用者– 關係表 a

inner join

表 b

on a.id = b.id

where a.使用者id = 『使用者編號』 and (a.序號)%2 = 0

聯合主鍵和復合主鍵的區別就是:復合主鍵是一張表的主鍵含有乙個以上的字段組成,不使用無業務含義的自增id作為主鍵。聯合主鍵要同時是兩個表的主題組合起來的

資料庫 一對一,一對多,多對多

一對一 就是說a表中的一條記錄對應著b表的一條記錄。大家可能會覺得這不是變得複雜了嗎?其實不然,如果,當一張表的字段過於太多,而很多字段可能只有在某些情況下,才會使用到,這時也可以考慮使用一對一設計。條件 建立單獨的表就行了,優點 1.便於管理 可提高一定的查詢速度 2.減輕 cpu 的 io 讀寫...

Linq一對多聯合查詢

問題 學生表,班級表,我要班級下面學生 a表,字段 aid,class b表,字段 bid,bname,aid a表資料 1 班級1 2 班級2 b表資料 1 學生1 1 2 學生2 1 3 學生3 2 4 學生4 2 我想得到 class name 班級1 學生1,學生2 班級2 學生3,學生4 ...

資料庫的一對一,一對多,多對多

關聯對映 一對多 多對一 存在最普遍的對映關係,a 表中的一行可以匹配 b 表中的多行,但是 b 表中的一行只能匹配 a 表中的一行。只有當乙個相關列是乙個主鍵或具有唯一約束時,才能建立一對多關係。簡單來講就如球員與球隊的關係 一對多 從球隊角度來說乙個球隊擁有多個球員 即為一對多 多對一 從球員角...