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

資料庫一對多建表

發布時間: 2023-03-05 12:13:20

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

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

㈡ 資料庫一對多怎麼建立,還有主外鍵的區別

一對多:一個表的唯一健對應另一個表的某個欄位 並且這個欄位不是唯一的 這就是一對多
主鍵:唯一健 沒的說 插入的值必須唯一
外鍵:簡單地說 你對有外鍵的表操作的時候要滿足外鍵的約束條件;不然不會讓你操作
外鍵是屬於約束的一種,所謂約束顧名思義,就是限制你在資料庫的操作。而你對資料庫有什麼操作,無非是增、刪、改、查,外鍵起的作用就是讓你在資料庫幫助的情況下更合理的增加數據的正確度。
外鍵的作用是能夠避免如下情況。

【班級信息表】存放的是班級信息表。
【學生表】存放的是學生信息,包含班級信息。
這個時候 在【學生表】中存放的班級信息應該在【班級信息表】存在才合法,自己人為控制的話難免有漏掉的情況,用外鍵則可以讓資料庫自動控制,當插入【學生表】中的數據在【班級信息表】不存在的時候,資料庫不允許插入。

㈢ 一對一、一對多、多對多,如何設計數據表

一對一正確。

一對多和多對一是多個表 ,至少兩個表,一對多和多對一是相互的:
主鍵是自己定義的,一般外鍵表引用的對應的表的鍵是主鍵;

多對多三個表,有一個是關系表(中間表);
中間表沒有普通欄位,一般只有有兩個外鍵,同時引用兩個表,多對多就出來了

㈣ 資料庫中的一對多怎麼設計表

//老公
class Husband implements java.io.Serializable{
private Integer id;
private String name;
private Set<Wife> wifes;//一個老公能擁有多個老婆
}
//老婆
class Wife implements java.io.Serializable{
private Integer id;
private String name;
}
/**
* create table Husband{
* id int primary key,
* name varchar
* }
* create table Wife{
* id int primary key,
* name varchar ,
* h_id int 外鍵
* }
*
* */

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

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

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

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