SQl怎麼構建多對多關係表,sql多對多關係如何建表

2021-03-03 23:20:21 字數 4716 閱讀 6184

1樓:day無敵在路上

create table 教師

bai(教師du工號zhi 型別

dao primary key,

教師姓名

型別版,

教師地址 型別,

教師** 型別)

create table 課程

權資訊(課程編號 型別 primary key,課程名稱 型別,

資訊備註 型別)

create table 任課

(教師工號 型別 references 教師(教師工號),課程編號 型別 references 課程資訊(課程編號),primary key(教師工號,課程編號))

sql 多對多關係如何建表?

2樓:古舟蓑笠翁

create table 教師

(教師工號 型別 primary key,教師姓名 型別,

教師地址 型別,

教師** 型別)

create table 課程回資訊

(課程編號 型別 primary key,課程名稱 型別,

資訊備註答 型別)

create table 任課

(教師工號 型別 references 教師(教師工號),課程編號 型別 references 課程資訊(課程編號),primary key(教師工號,課程編號))

3樓:myth月神

如果是開發人員,建議就當做普通的表來建,沒必要設定外來鍵。避免刪除,更改操作出錯。

利用**來實現幾張表的關係。

兩個表如何建立一對多的關係

4樓:匿名使用者

create table department --部門表抄(depart_id int identity primary key,

depart_name varchar(20))gocreate table employee--員工襲表(emp_id int identity primary key,emp_name varchar(20),depart_id int foreign key references department(depart_id) )go

---一個員工只能在bai一個部門,而一個部門有多個du員工--簡而言之,在employee表裡應zhi用department的主鍵。這就是一對dao多的關係

5樓:匿名使用者

利用索引這是永久 聯絡了由主索引拖放到普通索引上就可以了

臨時關聯就用命令:set relation to 欄位名

6樓:匿名使用者

點上你的一對多大一。。然後點著他往你多上面拉。。然後鬆手他就有關係了。。。。。、。、。、

7樓:匿名使用者

1.一對多,在多的一copy方建立外來鍵(外來鍵指向一的主鍵)母親與孩子的關係:母親,孩子兩個實體

母親表:id(p),名字,年齡,性別

孩子表:id(p),名字,年齡,性別

以上關係:一個媽媽可以在孩子表中找到多條記錄(也可能是一條),但是一個孩子只能找到一個媽媽

是一種典型的一對多的關係。

但是以上設計:解決了實體的設計表問題,但是沒有解決關係問題,孩子找不到母親,母親也找不到孩子

解決方案:在某一張表中增加一個欄位,能夠找到另外一張表中的記錄:在孩子表中增加一個欄位

指向母親表,因為孩子表的記錄只能匹配到一條母親表的記錄。

母親表:id(p),名字,年齡,性別

孩子表:id(p),名字,年齡,性別,母親表id(母親表主鍵)

怎樣向sql一對多關係的資料表中插入資料 15

8樓:匿名使用者

提交資訊時

先把課程資訊插入課程表(course)

insert into course (title,discretion) values ('課程名','相關資訊');

查出 課程的id

select id from course where title='課程名'

再在內courseasooteacher表裡容也要插入老師和課程相對應的id值

你根據選擇的老師得到老師id,再進行多次插入不就可以了?

insert into courseasooteacher(courseid、teacherid)values('上面查出的id',『選擇的老師id');

sql多對多關係的兩表如何聯合查詢出所有的結果?

9樓:城春許木深

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)用來指連線條件,它由被連線表中的列和比較運算子、邏輯運算子等構成。

10樓:匿名使用者

通過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,不然不行

11樓:匿名使用者

看的頭暈啊,呵呵,難的想

在sql中建立一個多對多的表,分析實體,找出關係模式,並定義它們之間的關係?可以寫具體的例項嗎?謝謝

12樓:滿天海晨星

多對多的表,比如倉庫和倉庫管理員,一個倉庫管理員可能對多個倉庫進行管理,一個倉庫也可被多個倉庫管理員管理。而倉庫和倉庫管理員就是現實當中的實體,當把這兩個實體的相關屬性用類似這樣的關係表示時:r (a1,a2,a3,.......

),就是我們說的關係模式。它們之間的關係第一句話已經表明了他們之間是一種多對多的關係。

sql中怎麼建立一個多對多的表?要具體步驟,不要理論,謝謝

13樓:滿天海晨星

以下為自己在創bai建此類表時的du一些步驟,習慣因人而異zhi

,可能比dao較籠統,貴在實踐,專僅供參考。

1、分析屬

現實當中的實體。比如:倉庫和倉庫管理員。

2、建立對應關係模式:倉庫(倉庫編號,名稱)主鍵為倉庫編號,管理員(管理員編號,姓名),主鍵為管理員編號。

2、判斷實體間的關係,一對

一、一對多、多對多。比如:倉庫和倉庫管理員的關係,就是多對多的關係:一個倉庫可以被多個管理員管理,一個管理員也可以管理多個倉庫。

3、轉換多對多關係。新增關係實體,轉化為一對多關係。比如值班(倉庫管理員編號,倉庫編號,日期),主鍵為(倉庫管理員編號,倉庫編號,日期)

4、最後呢用第一步當中和第三步當中的分析結果,將錶轉化到資料庫當中一個個對應的表,並完成約束的建立。

在sql中怎麼建立一個多對多的表,分析實體,找出關係模式,並定義它們之間的關係

14樓:匿名使用者

兩個實體之間的關係是多對多得話,那麼在建表的時候就要建立三回

張表。比如說學生和課程答,他們之間是多對多的關係,一個學生可以選多門課程,一門科目被多個學生選修,這個時候需要通過學生選課表來體現學生與科目的關係。例如下表

學生表:student_id(pk),student_name,student_***,student_name

科目表:subject_id(pk),subject_name,subject_teacher

學生選課表:[student_id,subject_id](聯合主鍵),score(成績)

sql多對多查詢,效能,sql 資料庫 一對多查詢

select from 產品表 where 產品id in select 產品id from 產品表 參數列 where 引數id in select 引數id from 引數 where 引數名稱 in 引數1 引數2 速度不會很慢的 select from 產品表 where exists se...

access怎樣建立一對多的表關係

只要資料是一對多的 關係就是一對多的 access怎樣建立一對多的表關係 access表之間一對多關係 並實施參照完整性需要怎麼操作 操作都是有一些教程的,根據教程裡面就可以很好的操作了,這個都可以的 開啟工具 關係,把相關表拖上去,進行處理。access資料局建立關係的時候,是一對一,怎樣才能一對...

SQL語句 怎麼對某個資料庫中的資料表進行備份與還原

1 匯出整個資料庫 包括表結構和資料部分 mysqldump u 使用者名稱 p 資料庫名 匯出的檔名 例如 mysqldump u root p 111111 test1 test.sql 2 匯出資料庫中的一個表 mysqldump u 使用者名稱 p 資料庫名 表名 匯出的檔名 例如 mysq...