1樓:手機使用者
拆分關係。增加一個表。使之符合正規化。
比如做學生選課系統。多個學生選多門課。這是多對多關係。
這樣可以寫成三個表。
分別為。學生表(學號,姓名)
課程表(課程號,課程名)
選課表(學號,課程號)
通過選課表,將學生和課程聯絡起來了。
資料庫表與表之間多對多關係怎麼處理?
2樓:匿名使用者
拆分關係。增加一個表。使之符合正規化。
比如做學
生選課系統。多個學生選多門課。這是多對多關係。
這樣可以寫成三個表。
分別為。學生表(學號,姓名)
課程表(課程號,課程名)
選課表(學號,課程號)
通過選課表,將學生和課程聯絡起來了。
3樓:匿名使用者
把問題具體一些
多對多也可以join 連線
資料庫表 多對多的關係怎麼建啊?
4樓:匿名使用者
a表,a_id,a_name,a_tel三個欄位。
b表,b_id,b_address,b_sol三個欄位。
關聯表,ref_id,a_id,b_id,儲存著ab兩表的id,比如:a有
a0001,zhang3,139555533a0002,li4,1397788888
a0003,wang5,13655566
b有 b0001,shanghai,234b0002,shenyang,332
b0003,chongqing,123
如果想要ab表多對多的話,只需要將關聯表進行增加即可,而ab兩表基本資料不變,
比如:關聯表ref_table:
r0001,a0001,b0002
r0002,a0001,b0001
r0003,a0001,b0003
r0004,a0002,b0003
通過聯合查詢,就可以得到多對多的資料了,而且不破壞基本資料表。
資料庫設計怎麼將 多對多關係 轉換成 一對多關係
5樓:匿名使用者
一個 多對多關係 可以轉換成兩個 一對多關係下面舉例說明:
有 學生表 與 選修課程表 多對多關係
一個學生可以選擇多門課程, 一門課程可以被多個學生選修.
需要新增加一個 學生選修課程情況表,2個欄位(學生編號, 課程編號)然後 學生表 與 學生選修課程情況表 為 一對多關係.
選修課程表 與 學生選修課程情況表 為 一對多關係.
6樓:匿名使用者
增加中間表進行對映,具體看實際業務了
資料庫表設計,一張表和多張表有關係,並且是多對多關係 200
7樓:長啊長就知道了
班級表(class): id,class_name學生表(student):id,student_name,class_id
老師表(teacher):id,name
成績表(score):id,kecheng_id,stu_id,score
課程表(kecheng):id,kecheng_name老師班級表(teacher_class):id,class_id,teacher_id
表關聯設計思想:
1-1,外來鍵放在那個表都可以,一般放在改動小的1-n,n-1,吧1的id放在n的裡面
n-n,需要第三張表來存放兩者id
班級-學生:1-n
班級-老師:n-n
另外現在幾乎不使用實體外來鍵,而採用邏輯外來鍵,方便修改
8樓:匿名使用者
單表的就不詳細說了
列舉一個吧,就比如班級表
class_id(主鍵)
class_name
class_studentnumber
//老師表和學生表也是一樣
在此基礎上,再新增下表
老師班級表
teacher_id
class_id
student_id
teacher_name
teacher_***
其中主鍵為:teacher_id和class_id雙主鍵,就可以實現多對多關係
9樓:super樂樂兒
設計雞毛。你就告訴你們老師。 你想查幾個表,想要什麼樣的結果,我給你寫sql!!!!!
資料庫表與表之間多對多關係怎麼處理?
10樓:匿名使用者
拆分關係,增加一個表,使之符合正規化。
比如做學生選課系統,多個學生選多門課,這是多對多關係。
這樣可以寫成三個表:
學生表(學號,姓名)
課程表(課程號,課程名)
選課表(學號,課程號)
通過選課表,將學生和課程聯絡起來了
sql多對多關係的兩表如何聯合查詢出所有的結果?
11樓:城春許木深
1、語句如下:
select project.*, [contract].* from project
left join contract_project on project.projectid = contract_project.projectid
left join [contract] on contract_project.contractid = [contract].contractid
注:contract在sql server中是關鍵字,因此使用了中括號。
2、使用left join
left join是以左表為準的。換句話說,左表(project)的記錄將會全部表示出來,而右表(contract_project)只會顯示符合搜尋條件的記錄
(例子中為: project.projectid = contract_project.
projectid)。對於contract表來說,contract_project表是它的左表。
此例以兩個left join 將三個表按條件聯接在一起。
擴充套件資料
連線通常可以在select語句的from子句或where子句中建立,其語法格式為:
select colunm_name1,colunm_name2
from table_name1
left join table_name2
on table_name1.colunmname=table_name2.colunmname
其中join_table指出參與連線操作的表名,連線可以對同一個表操作,也可以對多表操作,對同一個表操作的連線稱為自連線, join_type 為連線型別,可以是left join 或者right join 或者inner join 。
on (join_condition)用來指連線條件,它由被連線表中的列和比較運算子、邏輯運算子等構成。
12樓:匿名使用者
通過contract_project做中間表就行:
select *
from contract_project aleft join project b on a.projectid = b.projectid
left join contract c on a.contractid = c.contractid
前提是contract_project要大而全,包含所有的pid和cid,不然不行
13樓:匿名使用者
看的頭暈啊,呵呵,難的想
資料庫中如何處理多組多對多的關係?
14樓:瓜田
例如:學生的資料庫,一個老師教一個班 學生表裡面有個教師id欄位,這個欄位和老師表的教師id欄位就是多對一的關係,反過來就是一對多的關係, access:在有這兩個表的資料庫中,點選工具欄上的關係按鈕,把老師表的教師id欄位拖拽到學生表的教...
資料庫如何建立表間一對多關係,資料庫表與表之間多對多關係怎麼處理?
mysql裡面有如下的表 user id username photo id name photo favour 收藏關係表 photo id user id 假設這幾個表都相當大,需要進行分表。我的分表規則是 資料庫表與表之間多對多關係怎麼處理?拆分關係。增加一個表。使之符合正規化。比如做學生選課...
如何把資料庫表的多對多關係變成一對多關係
多對多關係要新建一個表,用來存放關係,有使用者id 和書id 就是哪個使用者收藏了哪本書,變成2個一對多關係 不太明白你想怎麼變成一對多的關係 你先建立個向量矩陣,把關係理清吧 資料庫設計怎麼將 多對多關係 轉換成 一對多關係 一個 多對多關係 可以轉換成兩個 一對多關係下面舉例說明 有 學生表 與...
資料庫為什麼要建立表間關係,資料庫建立表間關聯有什麼作用
建立關係,是因為這兩個實體之間本來就存在關係。就像 學生 必須有一個自己的 班級 老師 必須有 課程 這些實體之間本來就存在關聯,為了在查詢資料庫時候,能跟據一個表的資料查詢到另一個表的資料,比如我知道這個學生的編號,我就可以查詢該學生所在的班級,但是這是兩個獨立的表,要是能夠建立關係,就需要把班級...