當前位置:首頁 » 操作系統 » 資料庫一對多關系表

資料庫一對多關系表

發布時間: 2022-09-06 07:12:46

❶ ACCESS表之間一對多關系;並實施參照完整性需要怎麼操作

ACCESS表之間一對多關系與參照完整性設置步驟如下。

1、點擊菜單欄【資料庫工具】下的【關系】。

這樣ACCESS表之間一對多關系和參照完整性就設置好了。

❷ 在VF資料庫中創建表間一對多關聯的步驟

將這兩個表加入到某一個資料庫中,設置「一方」的表建立主索引,「多方」的表建立同一欄位的的普通索引,打開資料庫設計器,從「一方」表的此欄位按左鍵拖到「多方」表的此欄位,這時會出現一條黑線,此時一對多永久關系建立完畢。

❸ 表之間的「一對多」的關系是指

一對多關系為關系資料庫中兩個表之間的一種關系,該關系中第一個表中的單個行可以與第二個表中的一個或多個行相關,但第二個表中的一個行只可以與第一個表中的一個行相關。

一對多關系,一般為一個表的主鍵對應另一個表的非主鍵,主鍵的值是不能重復的,而非主鍵值是可以重復的,一個主鍵值對應另一個表的非主鍵的值,那麼就只有一個值對一個值或一個值對多個值兩種可能,故稱一對多。而在一對一關系中,一般是主鍵對應主鍵,那麼顯然就只有一個值對一個值的可能,故稱一對一。



(3)資料庫一對多關系表擴展閱讀

在語文的語法中常常有些關聯詞有一個詞對應兩面,這就要求後面的關聯詞要與前面的關聯詞對應。如果前面的關聯詞對應一面,後面的也只能對應一面。反之,前面的關聯詞對應兩面,後面的關聯詞也要對應兩面。

成績好是因為老師是否認真教書。 這樣的語法就是錯誤的。成績好是一面,而「是否」是兩面,這樣就形成了一對多,所以錯誤。正確的語法應該是:成績好是因為老師認真教書。

❹ 在資料庫設計器中,建立兩個表之間的「一對多關系」應滿足的條件是什麼

在資料庫的兩個表間建立永久聯系時,要求兩個表的索引中至少有一個是主索引。必須先選擇父表的主索引,而子表中的索引類型決定了要建立的永久聯系的類型。如果子表中的索引類型是主索引或候選索引,則建立起來的就是一對一關系。如果子表中的索引類型是普通索引,則建立起來的就是一對多關系。

❺ 資料庫如何建立表間一對多關系

MySQL裡面有如下的表

user:id username
photo:id name
photo_favour(圖片收藏關系表):photo_id user_id

假設這幾個表都相當大,需要進行分表。我的分表規則是:
user表按照id取模,這樣user相關的表都可以按照這個取模後的結果來分表;
photo表按照id取模,同樣與photo相關的表都可以按該規則分表;
至於photo_favour是一個多對多的關系表,我現在的想法是該表復制多一份,一份以photo_id來分表,一份以user_id分表,分別建立不同的索引,這樣就變為兩個一對多的關系。
我有兩個問題:
1、這樣的分表可行嗎,有更好的分表方法嗎?
2、一對多的關系在進行分表時候,例如user表和user_favour表都按照user_id來取模得到序號x來確定分表。如果1個用戶會有100條收藏記錄,那麼user_x有100W條記錄時候user_favour_x分表就有1000W記錄,這時候user_favour_x又需要分表了,怎麼解決這種情況?

這種情況我會放棄多對多的形式,弄兩個表
user_to_photos: user_id, photo_id_list
photo_to_users: photo_id, user_id_list
1個user喜歡的photo id全塞到photo_id_list
1個photo被哪些用戶喜歡了,也全塞到user_id_list
這樣的讀取就高效了很多,,寫的時候注意並發臟寫。。。同樣你根據user_id愛怎麼分表就怎麼分。
===
如果收藏量太大,還是不能滿足,就要考慮切分記錄,1個user可以擁有多條記錄,每條記錄都可記錄多個photo id
user_to_photos: user_id, num, photo_id_list
num欄位可有可無,如果你需要精確定位user 222 收藏的 photo 333在哪條記錄,就需要安排好演算法,找到對應的num
大概是這樣,重點是演算法邏輯

資料庫中建表時經常所說一對一、一對多、多對多等等關系究竟是什麼意思?分別在什麼情況下要用到一對一或一對式,而又在什麼情況下又要用到多對多?在這里我們詳細分析,並且用實例來講解各種關系的實際運用!
關聯映射:一對多/多對一存在最普遍的映射關系,簡單來講就如球員與球隊的關系;一對多:從球隊角度來說一個球隊擁有多個球員 即為一對多多對一:從球員角度來說多個球員屬於一個球隊 即為多對一數據表間一對多關系如下圖:

關聯映射:一對一關系就如球隊與球隊所在地址之間的關系,一支球隊僅有一個地址,而一個地址區也僅有一支球隊。數據表間一對一關系的表現有兩種,一種是外鍵關聯,一種是主鍵關聯。圖示如下:
一對一外鍵關聯:

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

7,未知屬性型
特點:在設計初期,主表的某些欄位類型和名稱是不確定的時候,關系表實際上是主表的可擴展欄位,
一個[主表](ID),
一個[屬性名稱表](屬性ID.屬性名稱),
一個[屬性值表],包括3個欄位:
屬性值(屬性Value varchar(500))
主表ID
屬性ID
這樣可以作到最小冗餘度。
(和常見的多對多關系不同的是:值統一用varchar來存儲,因為這類型的值一般不會用來計算)。
比如:
軍隊的資料庫設計中有種物資叫做「戰繳物資」,就是打仗的時候繳獲的,軍隊自己都不知道這些物資有什麼屬性。
比如繳獲的化學品有化學名,通用名,是否有輻射,計量單位,包裝規格,數量等等,或者不是化學品是其他任何未知的東西。
這樣東西就可以
某奇怪東西.屬性集合["某某奇怪屬性名"]="某某奇怪值";
某變態東西.屬性集合["某某變態屬性名"]="某某變態值";
這樣存儲。
再比如:
手機型號有幾千種,除了共同屬性外還有不同屬性有幾百個,屬性名和值類型都不一樣,有的手機有這屬性,有的沒有。
對於這樣的「多態」,我們就採用上面的設計結構。
其效果相當於:
某奇怪手機.屬性集合["某某奇怪屬性名"]="某某奇怪值";
某變態手機.屬性集合["某某變態屬性名"]="某某變態值";
界面特點:設置主表一行紀錄的屬性時候,要列出所有可能的屬性名稱,每個對應一個文本框。

❻ 怎樣在資料庫中實現一對多的關系

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

❼ 簡述VISUAL FOXPRO資料庫中創建表間一對多(1:N關聯步驟

1。
將兩個表加到同一個資料庫中。
2。
「一方」的表按關鍵字建立主索引或候選索引,「多方」的表按此欄位建立普通索引。
3。
打開資料庫設計器,按住滑鼠左鍵,從主表的此索引欄位拖動到被關聯表的此索引欄位,此時會出現一條黑線,至此,一對多關系創建完畢。

❽ 資料庫建立一對多關系

表1
可以有用戶ID,用戶名,用戶密碼
表2
用戶ID,本表ID,日期時間,日歷事件,事件類型,備注
某個用戶登陸你可以知道它的ID再用此用戶ID知道他的日歷事件
select * from 表2 where 用戶ID=??

❾ 關系資料庫表之間有哪幾種關系類型

表間關系分類:一對一,一對多,多對多。作用:建立永久關系和臨時關系

❿ 一對一關系,一對多關系,多對多關系,分別舉兩個例子

一、一對一關系舉例:

1、每個中國本土居民和他們唯一的身份證編號。

2、每個班級中唯一的班長,每個班長也只服務於唯一的班級。

二、一對多關系舉例:

1、一個年級段有多個平行班級,多個平行班都隸屬於一個年級段。

2、一個班級有若干個學生,若干個學生隸屬於一個班級。

三、多對多關系舉例:

1、一個班級有若干個老師,一個老師也可以帶若干個班級。

2、一門課程同時有若干個學生選修,一個學生可以同時選修多門課程。

詳細解讀

以上一對一、一對多、多對多關系隸屬於映射。在數學里,映射是個術語,指兩個元素的集之間元素相互"對應"的關系,為名詞。"映射"或者"投影",需要預先定義投影法則部分的函數後進行運算。因此"映射"計算可以實現跨維度對應。

相應的微積分屬於純數字計算無法實現跨維度對應,運用微分模擬可以實現本維度內的復雜模擬。 映射可以對非相關的多個集合進行對應的近似運算,而微積分只能在一個連續相關的大集合內進行精確運算。

熱點內容
頁面顯示源碼 發布:2024-05-13 19:27:42 瀏覽:740
視頻站配什麼伺服器 發布:2024-05-13 19:12:48 瀏覽:465
mc驅動編譯教學 發布:2024-05-13 19:11:12 瀏覽:439
r9s怎麼關閉應用加密 發布:2024-05-13 19:02:57 瀏覽:534
末並的演算法 發布:2024-05-13 18:38:03 瀏覽:406
java入門視頻教學 發布:2024-05-13 18:37:48 瀏覽:449
技術員加密鎖 發布:2024-05-13 18:09:03 瀏覽:197
安卓系統如何調成維修模式 發布:2024-05-13 17:14:31 瀏覽:232
恆易貸服務密碼多少 發布:2024-05-13 17:14:29 瀏覽:38
圖書館資料庫下載 發布:2024-05-13 17:00:54 瀏覽:897