在Mysql資料庫中如何實現表的多對一關聯?請說具體一點

2021-04-28 15:10:49 字數 3581 閱讀 1050

1樓:匿名使用者

現在的資料庫基本都是關聯式資料庫,表與表之間的關聯一般都是靠欄位來維持的。

版例如3個表,分別是權

使用者資訊表,購物訂單表,帳戶金額明細表

表結構如下(我寫簡單哈):

使用者資訊表欄位:userid,username,password

購物訂單表欄位:orderid,userid,goods,price

帳戶金額明細表:aid,userid,orderid,price

從上面3個表就能看出,他們之間的管理是:

通過使用者信心表的userid可以獲得購物訂單表的訂單資訊,如果想要獲得使用者或者購物訂單的賬戶金額明細資料,可使用userid或者orderid去帳戶金額明細表查詢相關資料,示例sql如下:

select * from 購物訂單表欄位 where userid=12

select * from 帳戶金額明細表 where userid=12

select * from 帳戶金額明細表 where orderid=3356

如果你還不明白的話,可發訊息給我。

在oracle資料庫中如何把兩張表關聯起來,多對一或者一對一一對多。請寫明語句 謝謝!!!

2樓:

有兩種辦抄法:

第一種方法是通過襲外來鍵:

假設有兩張表,

a表(aid,aname) b(bid,bname)表 ,要想把這兩者關聯起來的話。可以通過外來鍵來關聯,在b表或者a表中新增一個外來鍵。這裡就以b表把b(bid,aid(外來鍵),bname),這樣通過外來鍵兩張表就可以聯絡起來了,例如我們在查詢的時候通過aid就可以關聯查詢兩張表的資料了。

第二種方法就是增加一張表:

還是拿a表(aid,aname) b(bid,bname)表來舉例把,

我們可以增加個c表來聯絡ab表之間的關係

c表中只要放ab表的主鍵就行了

c(aid,bid),這樣我們就可以通過c表來關聯ab表了。呵呵

3樓:匿名使用者

必須要有關聯欄位,如t1表的id欄位與t2表的id欄位為關聯欄位則:

select * from t1,t2 where t1.id=t2.id

只要各張表有關聯欄位,寫法直接在上面的基礎上累加!

4樓:匿名使用者

你的a,b,c是你所指的三個別名吧?是因為你把子查詢作為i表,而其中的a 把語句貼下,我幫你看下。

在mysql資料庫裡如何建立兩個表的關聯

5樓:匿名使用者

1、首先我bai們開啟duworkbench創一個建資料庫(這裡都使用閃zhi電1執行選dao定命令列)。

專2、先建立student學生表。屬

3、再建立course課程表。

4、然後就可以建立sc關聯表了我們先寫上student的主鍵和course的主鍵,並寫上sc自己的屬性成績。

5、再寫上主鍵約束,以及把sc表的學號屬性和studnet的學號關聯、課程號屬性和course的課程號關聯。

6、再次執行就可以看到我們成功建立了學生表和課程表的關聯表sc。

6樓:匿名使用者

一般可以通過資料庫中的主外來鍵聯絡。。

不過要注意 外來鍵現在只在innodb引擎中有效果

也可以使用 觸發器等特殊手段 不過一般效率有問題

7樓:樂動

create table a(id int(10) primary key, age int(10));

create table b(id int(10) primary key, aid int(10),foreign key(aid) references a(id));

資料庫表與表之間多對多關係怎麼處理?

8樓:匿名使用者

拆分關係。增加一個表。使之符合正規化。

比如做學

生選課系統。多個學生選多門課。這是多對多關係。

這樣可以寫成三個表。

分別為。學生表(學號,姓名)

課程表(課程號,課程名)

選課表(學號,課程號)

通過選課表,將學生和課程聯絡起來了。

9樓:匿名使用者

把問題具體一些

多對多也可以join 連線

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

mysql資料庫中如何用一對多表示多對多 5

10樓:匿名使用者

拿使用者角色來說

使用者  ←多對多→ 角色

概念模型如下:

生成物理模型就成了2個1對多:

箭頭指向多的一方

11樓:小巴菜鳥

select(selectcount(0)froma)+(selectcount(0)fromb)

12樓:匿名使用者

建立一箇中間面 兩張表對中間表實現一對多或者多對一

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

13樓:匿名使用者

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

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

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

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

14樓:匿名使用者

例1:學生選修課程

學生表 (主鍵 學生id)

課程表 (主鍵 課程id)

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

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

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

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

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

15樓:匿名使用者

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

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

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

16樓:匿名使用者

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

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

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

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

mysql資料庫怎樣建立表,MYsql資料庫怎樣建立表?

比如要建立學生表表名為student,學生表有欄位學號 no 年齡 age create table student no int primary key 主鍵 age int 執行下就建立好了 隨便舉的例子,明白吧?謝謝採納!create database cookbook 建立一個叫 cookb...

mysql如何獲取資料庫下所有的表

參考下面的sql,去掉table name的條件,就會出來所有的表名了 select column name 列名,data type 欄位型別,column comment 欄位註釋 from information schema.columnswhere table name companies...

mysql資料庫表用什麼做主鍵,mysql設定主鍵的程式碼是什麼?

1 主鍵定義 表中經常有一個列或多列的組合,其值能唯一地標識表中的每一行。這樣的一列或多列稱為表的主鍵,通過它可強制表的實體完整性。當建立或更改表時可通過定義 primary key 約束來建立主鍵。一個表只能有一個 primary key 約束,而且 primary key 約束中的列不能接受空值...