當前位置:首頁 » 數據倉庫 » 資料庫1對多關系
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

資料庫1對多關系

發布時間: 2022-11-29 17:41:42

『壹』 請問資料庫在創建表的時候如何設計表關系,一對一,一對多,多對多 請高手舉例說明。謝謝!!!

多對多關系至少需要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,或者一條一條的添加。
例如:下載站點的文件,(文件表-關系表-文件表)可以被軟體工具打開,軟體工具本身也是一種文件,可以被下載。用戶的好友,也是用戶(用戶表-好友關系表-用戶表)
增加關系:同版主任命型。
刪除關系:同版主任命型

『貳』 資料庫1對多的關系可以詳細解釋下么

一個公司是否只有一個老總,底下有一堆的員工,這種老公和員工對應的關系是一對多的關系,其中老總是一個,員工多個,而老總和員工之間是管理的關系。

『叄』 Access資料庫中一對一和一對多的關系是什麼意思!

一個欄位中的特定值對應另外一個欄位中的多個值叫一對多,如
表1 表2
id name deptno deptno dept
1 張三 2 1 行政部
2 李四 2 2 財務部
3 王五 1
用deptno 連接兩個表
財務部下面有兩個員工 表2 和表1 的關系就是1對多
一個欄位中的特定值對應另外一個欄位中的唯一特定值就是一一對應

『肆』 資料庫中 1:m m:n 是什麼意思,急!謝謝了!

在資料庫概念模型設計的時候,ER圖是基本方法之一,主要用來描述資料庫中所涉及實體及實體與實體之間的關系。實體間的關系通常有:1對1(1:1),1對多 (1:m),多對1(m:1),多對對(m:n)等。

它是關系型資料庫的幾種關系,是很基礎的,也是很重要的,通過他可以幫助你建立更合理的資料庫,同樣在實際應用中,對資料庫的建立方式懷疑的時候,這也是個理論的依據。要充分理解並且了解各種的關系應該建立什麼樣子的表。

資料庫管理系統

是為管理資料庫而設計的電腦軟體系統,一般具有存儲、截取、安全保障、備份等基礎功能。資料庫管理系統可以依據它所支持的資料庫模型來作分類,例如關系式、XML;或依據所支持的計算機類型來作分類,例如伺服器群集、行動電話;

或依據所用查詢語言來作分類,例如SQL、XQuery;或依據性能沖量重點來作分類,例如最大規模、最高運行速度;亦或其他的分類方式。不論使用哪種分類方式,一些DBMS能夠跨類別,例如,同時支持多種查詢語言。

以上內容參考:網路-資料庫

『伍』 資料庫查詢一對多關系,只列出一條數據

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里的數據了

『陸』 如何理解關系的一對一和一對多關系

  1. 一對一關系是指關系資料庫中兩個表之間的一種關系,該關系中第一個表中的單個行只可以與第二個表中的一個行相關,且第二個表中的一個行也只可以與第一個表中的一個行相關。

    舉例:班級與班長之間的聯系:一個班級只有一個正班長;一個班長只在一個班中任職。

  2. 一對多關系是關系資料庫中兩個表之間的一種關系,該關系中第一個表中的單個行可以與第二

    個表中的一個或多個行相關,但第二個表中的一個行只可以與第一個表中的一個行相關。

    舉例:班級與學生之間的聯系:一個班級中有若干名學生;每個學生只在一個班級中學習。

  3. 多對多關系是關系資料庫中兩個表之間的一種關系, 該關系中第一個表中的一個行可以與第二個表中的一個或多個行相關。第二個表中的一個行也可以與第一個表中的一個或多個行相關。

    舉例:課程與學生之間的聯系:一門課程同時有若干個學生選修;一個學生可以同時選修多門課程。

『柒』 關於資料庫一對多,多對一,多對多的問題

根據實際情況考慮就行了。
一個顧客可以擁有多本圖書,一本圖書只能被一個顧客擁有 1 vs 多
同理,顧客 vs 訂單 1vs 多
管理員和圖書的關系 多vs多
管理員和訂單的關系 1vs 多

『捌』 怎樣在資料庫中實現一對多的關系

怎樣在資料庫中實現一對多的關系
良好的資料庫設計都是要符合第三範式或者更加嚴格一些,所以多對多是一種比較不好的設計方案,會對系統的開發和維護造成很大困難,特別是代碼上,要重復的比較各個鍵值,因此都是採用引入關系表的方法,將兩個表的主鍵提取作為關系表的欄位,然後關系表中設置游動主鍵,這樣就將多對多的關系解耦成1對多的關系

『玖』 資料庫ER圖一對多聯系1:n與1:m的區別

在資料庫概念模型設計的時候,ER圖是基本方法之一,主要用來描述資料庫中所涉及實體及實體與實體之間的關系。實體間的關系通常有:1對1(1:1),1對多 (1:m),多對1(m:1),多對對(m:n)等。
比如有兩個簡單實體,分別是單位和職員,它們的關系就是1:m,一個單位可以有多個職員;
再比如有兩個實體,分別是學生和圖書,它們的關系就是m:n,從而形成中間表 學生借閱的圖書,結果是1本圖書可以被多人借閱,1個人也可以借多本圖書。
其它的自己去查教程吧。
順帶說說,許多人做資料庫表設計是想到哪裡就建個欄位,沒有做概念設計,這樣的資料庫生命周期很短,而且維護極難。基本知識學好了非常重要!

『拾』 SQL的一對多,多對一,一對一,多對多什麼意思

1、一對多:比如說一個班級有很多學生,可是這個班級只有一個班主任。在這個班級中隨便找一個人,就會知道他們的班主任是誰;知道了這個班主任就會知道有哪幾個學生。這里班主任和學生的關系就是一對多。

2、多對一:比如說一個班級有很多學生,可是這個班級只有一個班主任。在這個班級中隨便找一個人,就會知道他們的班主任是誰;知道了這個班主任就會知道有哪幾個學生。這里學生和班主任的關系就是多對一。

3、一對一:比如說一個班級有很多學生,他們分別有不同的學號。一個學生對應一個學號,一個學號對應一個學生;通過學號能找到學生,通過學生也能得到學號,不會重復。這里學生和學號的關系就是一對一。

4、多對多:比如說一個班級有很多學生,他們有語文課、數學課、英語課等很多課。一門課有很多人上,一個人上很多門課。這里學生和課程的關系就是多對多。