資料庫多對多關係,高手進多對多關聯式資料庫必須有三張表嗎??

2021-03-05 12:30:03 字數 2579 閱讀 5702

1樓:註冊好勒

1.學生一個表。id,name,num,score。

學生id,名字,學號,和得分情況.主要就是這個score。因為一個學生要記錄他一個學期所有課時的表現。

又不可能為每個課時單獨加欄位,所以建議採取字串記錄的方式|4,1|5,0|6,1|7,1|8,1|9,1|10,0|11,1|12,1|13,1|15,1|17,1|19,1|20,1|22,1|25,1|41,0|44,0|...........

2.課程一個表。id,name.一個id,一個課程名就可以

3.課程安排表。就是一整個學期的課程,id,classid.還可以擴充套件時間,達到查詢周,月情況的目的

score這樣的形式,:前的數字是課程安排表裡的id,比如一天10節課,第一節是1,第二節是2,第二天就是21,22,第三天。。。。。後面的0和1就是是否到課

這樣就差不多了。

查詢一個學生到課總覽,查詢,後的1和0即可

查詢一個學生英語或化學,查詢課程id後,匹配課程安排表裡的classid,查詢出所有屬於英語的id,就是score欄位裡,前面的數字,再count對應,後的0和1;

查詢一個學生本月到課情況。先從課程安排表裡取本月的課程安排表裡的id,再和上面一樣取月時段裡的所有id,查詢,後的0和1.給分吧。

2樓:匿名使用者

學生一張表,課程一張表,學生與課程選課關係表。你是要每節課的表現,那就從選課關係表再擴充套件一張表記錄表現。

3樓:

選課(課程號,學號,上課時間,表現)

多對多關聯式資料庫必須有三張表嗎?? 5

4樓:蝸牛

不是的。比如學生表和選課表 就是多對多的關係 一個學生可以選3門課,一門課程可以被多個學生選。但是 只要在學生表裡有選課欄位就可以了 或者在選課表裡有 選擇它的學生欄位就可以了

5樓:du瓶邪

在關聯式資料庫中,除了一對一,一對多外,還有一個多對多關係.

前兩個關係都只需要內兩個表本容身就能表達清楚他們之間的關係,而多對多關係則需要第三張中間表來表達清楚兩張表之間的關係.

在一般情況下是由三個欄位組成:

1、中間表本身的自增主鍵,

2、兩張表各自的主鍵。

這時候命名就成為了一個問題,而採用雙下劃線就能解決這個問題。

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

6樓:匿名使用者

1、一對一可以兩個實體設計在一個資料庫中l例如設計一個夫妻表,裡面放丈夫和妻子

2、一對多可以建兩張表,將一這一方的主鍵作為多那一方的外來鍵,例如一個學生表可以加一個欄位指向班級(班級與學生一對多的關係)

3、多對多可以多加一張中間表,將另外兩個表的主鍵放到這個表中(如教師和學生就是多對多的關係)

希望這樣講對你有點幫助!

7樓:匿名使用者

例1:學生選修課程

學生表 (主鍵 學生id)

課程表 (主鍵 課程id)

學生選課表 (聯合主鍵 學生id 課程id)學生表與課程表是實體資料表,學生選課表就是這兩個實體物件間的對應關係,能過這個關係表可以建立起一個學生選修多門課程的關係。。。

例2:使用者帳戶許可權分配

帳戶資訊表 (主鍵 帳戶id)

角色資訊表 (主鍵 角色id)

為了使一個帳戶可被指定多重角色,還需要一個能將「帳戶資訊表」和「角色資訊表」關聯起來的「帳戶角色表(聯合主鍵 帳戶資訊id 角色資訊id)」

8樓:匿名使用者

一對一:我有一個身份證號 ;

一對多:我有多張銀行卡;

多對多:我是招行、交行、建行的客戶,但是這些銀行使用者均過億。

9樓:匿名使用者

你把因果關係弄倒了,不是建立表的時間選用這樣的關係,而是我們根據現實世界中設計出這樣的關係而建立的表,也就是說我們設計資料庫的目的是解決現實中的問題的,而不是你說的為了設計讓現實去適應系統,而是系統必須適合現實.

關於資料庫設計,先從現實分析e-r(實體-聯絡)模型,資料庫建立的標準就是這個e-r圖的.是現實決定了我們使用的表關係.然後從這個e-r進行資料庫的建立.

所以這些關係都**於現實.

所以這個問題,可以檢視一下資料庫設計,e-r分析等內容.不是一兩個例子能給你說清楚的!

關聯式資料庫中,表的關係有一對一,一對多和多對多三種關係。下面表之間的關係敘述正確的是( )。(選擇二

10樓:匿名使用者

產品表products對產品類別表categories是一對多的關係

定單表orders對定單詳情表[order details]是一對多的關係

這兩個是1:n

比如你買自行車產品表是自行車 那產品類別可能有賽車 ,普通車。粗輪。細輪等

那這就是一對多

另一個也是類似 不懂可以接著問

11樓:匿名使用者

定單詳情表[order details] 對定單表orders是一對多的關係

多對多關聯式資料庫必須有三張表嗎,多對多關聯式資料庫必須有三張表嗎

不是的。比如學生表和選課表 就是多對多的關係 一個學生可以選3門課,一門課程可以被多個學生選。但是 只要在學生表裡有選課欄位就可以了 或者在選課表裡有 選擇它的學生欄位就可以了 在關聯式資料庫中,除了一對一,一對多外,還有一個多對多關係.前兩個關係都只需要內兩個表本容身就能表達清楚他們之間的關係,而...

資料庫中多對多的關係用字串,資料庫中多對多的關係用一個字串

no,千萬不要一個欄位儲存多個id,肯定會有問題的。電影表 id 演員 id 關聯電影id 這樣不就ok了。為什麼資料庫中不說多對一關係 多對一不符合二維表的設計規範,也無法滿足唯一的業務規則,所以一般之說一對多。比如一個人可以有多張銀行卡,總不能多個人用一張銀行卡吧 都是說一對多。為什麼?抓主要矛...

資料庫查詢一對多關係,只列出一條資料

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 應該...