1. 資料庫查詢一對多關系,只列出一條數據
select aaa.*,bbb.name as bbb_name from table3 ccc
left join table1 aaa on aaa.id=ccc.table1_id
left join table2 bbb on bbb.id=ccc.table2_id
where 1=1
應該根據table3 進行聯合查詢
你上面的是Left table1 當然是顯示table1里的數據了
2. 關於資料庫一對多,多對一,多對多的問題
根據實際情況考慮就行了。
一個顧客可以擁有多本圖書,一本圖書只能被一個顧客擁有 1 vs 多
同理,顧客 vs 訂單 1vs 多
管理員和圖書的關系 多vs多
管理員和訂單的關系 1vs 多
3. 怎樣在資料庫中實現一對多的關系
怎樣在資料庫中實現一對多的關系
良好的資料庫設計都是要符合第三範式或者更加嚴格一些,所以多對多是一種比較不好的設計方案,會對系統的開發和維護造成很大困難,特別是代碼上,要重復的比較各個鍵值,因此都是採用引入關系表的方法,將兩個表的主鍵提取作為關系表的欄位,然後關系表中設置游動主鍵,這樣就將多對多的關系解耦成1對多的關系
4. 資料庫ER圖一對多聯系1:n與1:m的區別
在資料庫概念模型設計的時候,ER圖是基本方法之一,主要用來描述資料庫中所涉及實體及實體與實體之間的關系。實體間的關系通常有:1對1(1:1),1對多 (1:m),多對1(m:1),多對對(m:n)等。
比如有兩個簡單實體,分別是單位和職員,它們的關系就是1:m,一個單位可以有多個職員;
再比如有兩個實體,分別是學生和圖書,它們的關系就是m:n,從而形成中間表 學生借閱的圖書,結果是1本圖書可以被多人借閱,1個人也可以借多本圖書。
其它的自己去查教程吧。
順帶說說,許多人做資料庫表設計是想到哪裡就建個欄位,沒有做概念設計,這樣的資料庫生命周期很短,而且維護極難。基本知識學好了非常重要!
5. 請問資料庫在創建表的時候如何設計表關系,一對一,一對多,多對多 請高手舉例說明。謝謝!!!
多對多關系至少需要3個表,我們把一個表叫做主表,一個叫做關系表,另外一個叫做字典表或者副表(字典表是紀錄比較少,而且基本穩定的,例如:版塊名稱;副表是內容比較多,內容變化的,例如)。
按照資料庫的增刪查改操作,多對多關系的查找都可以用inner join或者
select * from 主表 where id in (select 主表id from 關系表)
1,角色任命型
特點:關系表兩外鍵組合無重復紀錄,關系表一般不需要時間欄位和主鍵,有一個表是字典類型的表。
界面特點:顯示主表,用checkbox或多選select設置多選關系。
例如:任命版主(用戶表-關系表-版塊名稱表),角色許可權控制等,用戶是5個版塊版主,只要關系表5行紀錄就可以確立,關系表的兩個外鍵具有聯合主鍵性質。
增加關系:如果沒有組合紀錄,insert之。
刪除關系:如果有組合紀錄,刪除之。
2,集合分組型
特點:同角色任命型類似,關系表兩外鍵組合無重復紀錄,關系表一般不需要時間欄位和主鍵。區別是主副表都不是字典表,可能都很大不固定。
界面特點:顯示主表,用搜索代替簡單的checkbox或多選select,或者一條一條的添加。
例如:歌曲專集(專集表-關系表-歌曲表)。手機分組(分組表-關系表-手機表)。用戶圈子(圈子表-關系表-用戶表)。文章標簽(文章表-關系表-標簽表)
增加關系:同版主任命型。
刪除關系:同版主任命型。
3,明細帳型
特點:關系表可以有重復紀錄,關系表一般有時間欄位,有主鍵,可能還有文字型的欄位用來說明每次發生關系的原因(消費)。
界面特點:顯示關系表,用radio或下拉設置單選關系。
例如:現金消費明細帳或訂單(用戶表-訂單表-消費原因表),用戶可能多次在同一事情上重復消費。積分變化紀錄也屬於這類。
增加關系:不管有沒有組合紀錄,insert之,紀錄時間。
刪除關系:根據關系表PK刪除。
4,評論回復型
特點:同明細帳型關系表一般有時間欄位,有主鍵,區別是重點在文字型的欄位用來說明每次發生關系的內容(評論回復)。
界面特點:回復文本框。
例如:論壇回復(用戶表-回復表-帖子表),用戶可能多次在不同帖子上評論回復費。
增加關系:不管有沒有組合紀錄,insert之,紀錄時間和文字。
刪除關系:根據關系表(回復表)PK刪除。
5,站內簡訊型
特點:主副表是同一個,關系表一般有時間欄位,有主鍵,重點在關系表文字型的欄位用來說明每次發生關系的內容(消息)或者其他標記位來表示文字已讀狀態時間等。
界面特點:回復文本框。
例如:站內簡訊(用戶表-簡訊表-用戶表),用戶可能給用戶群發或者單發,有標記位來表示文字已讀狀態時間等。
增加關系:不管有沒有組合紀錄,insert之,紀錄時間和文字。
刪除關系:根據關系表(回復表)PK刪除。
6,用戶好友型
特點:主副表是同一個,同集合分組型,關系表兩外鍵組合無重復紀錄,關系表一般不需要時間欄位和主鍵。
界面特點:同集合分組型,顯示主表,用搜索代替簡單的checkbox或多選select,或者一條一條的添加。
例如:下載站點的文件,(文件表-關系表-文件表)可以被軟體工具打開,軟體工具本身也是一種文件,可以被下載。用戶的好友,也是用戶(用戶表-好友關系表-用戶表)
增加關系:同版主任命型。
刪除關系:同版主任命型
6. 資料庫ER圖一對多聯系1:n與1:m的區別
在資料庫概念模型設計的時候,ER圖是基本方法之百一,主要用來描述資料庫中所涉及實體及實體與實體之間度的關系。實體間的關系通常有:1對1(1:1),1對多
(1:m),多對1(m:1),多對對(m:n)等。
比如有兩個簡單實體,分別是單位和職員,它們的關系就是1:m,一個單位可以有多問個職員;
再比如有兩個實體,分別是學生答和圖書,它們的關系就是m:n,從而形成中間表
學生借閱的圖書,結果是1本圖書可以被多人借閱,1個人也可以借多本圖書。版
其它的自己去查教程吧。
順帶說說,許多人做資料庫表設計是想到哪裡就建個欄位,沒有做概念設計,這樣的資料庫生命周期很權短,而且維護極難。基本知識學好了非常重要!
7. mysql資料庫中如何用一對多表示多對多
拿用戶角色來說
用戶 ←多對多→ 角色
概念模型如下:
箭頭指向多的一方
8. Access資料庫中一對一和一對多的關系是什麼意思!
一個欄位中的特定值對應另外一個欄位中的多個值叫一對多,如
表1 表2
id name deptno deptno dept
1 張三 2 1 行政部
2 李四 2 2 財務部
3 王五 1
用deptno 連接兩個表
財務部下面有兩個員工 表2 和表1 的關系就是1對多
一個欄位中的特定值對應另外一個欄位中的唯一特定值就是一一對應
9. 簡述VISUAL FOXPRO資料庫中創建表間一對多(1:N關聯步驟
1。
將兩個表加到同一個資料庫中。
2。
「一方」的表按關鍵字建立主索引或候選索引,「多方」的表按此欄位建立普通索引。
3。
打開資料庫設計器,按住滑鼠左鍵,從主表的此索引欄位拖動到被關聯表的此索引欄位,此時會出現一條黑線,至此,一對多關系創建完畢。
10. 一對一關系,一對多關系,多對多關系,分別舉兩個例子
一、一對一關系舉例:
1、每個中國本土居民和他們唯一的身份證編號。
2、每個班級中唯一的班長,每個班長也只服務於唯一的班級。
二、一對多關系舉例:
1、一個年級段有多個平行班級,多個平行班都隸屬於一個年級段。
2、一個班級有若干個學生,若干個學生隸屬於一個班級。
三、多對多關系舉例:
1、一個班級有若干個老師,一個老師也可以帶若干個班級。
2、一門課程同時有若干個學生選修,一個學生可以同時選修多門課程。
詳細解讀
以上一對一、一對多、多對多關系隸屬於映射。在數學里,映射是個術語,指兩個元素的集之間元素相互"對應"的關系,為名詞。"映射"或者"投影",需要預先定義投影法則部分的函數後進行運算。因此"映射"計算可以實現跨維度對應。
相應的微積分屬於純數字計算無法實現跨維度對應,運用微分模擬可以實現本維度內的復雜模擬。 映射可以對非相關的多個集合進行對應的近似運算,而微積分只能在一個連續相關的大集合內進行精確運算。