在Oracle資料庫中如何把兩張表關聯起來,多對一或者一對一

2021-04-26 06:13:55 字數 2303 閱讀 1223

1樓:

有兩種辦抄法:

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

假設有兩張表,

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表了。呵呵

2樓:匿名使用者

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

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

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

3樓:匿名使用者

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

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

4樓:匿名使用者

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

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

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

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

5樓:匿名使用者

例1:學生選修課程

學生表 (主鍵 學生id)

課程表 (主鍵 課程id)

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

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

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

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

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

6樓:匿名使用者

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

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

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

7樓:匿名使用者

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

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

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

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

oracle資料庫中多條件查詢語句怎麼寫?

8樓:匿名使用者

select * from temp t where t.id=*** and t.name='11' 可以加很多的zhi

dao條件的

select * from tab_a where 1=1 1=1 意思是

內where條件為真的1=2條件就為假的

select * from (select * from tab1 ) as t1,(select * from tab2 ) as t2 where t1.id=t2.id

and t1.name='' and t2.pa=''; 把select * from tab1和select * from tab2 看成兩個容表

9樓:

這個問的不是很清楚,最簡單的就是

select * from a where a.id=3333 and a.name='zh';

將多個條件用and連線就可以,如果有或者的條件用or就可以

10樓:西門公子慶

select * from tab_a where 1=1 and 2=2 and 3=3;

等等,用and連線查詢條件。

oracle資料庫如何刪除資料庫

操作步驟如下 第一步 用超級管理員登陸oracle conn as sysdbaconn as sysdba 第二步 刪除指定的使用者 drop user username cascade 第三步 重新建立此使用者 create user username identified by passwor...

在oracle資料庫中怎麼刪除表

刪除無任何資料物件的表空間 首先使用pl sql介面化工具回,或者使用oracle自帶的答sql plus工具,連線需要刪除的表空間的oracle資料局庫。確認當前使用者是否有刪除表空間的許可權,如果沒有 drop tablespace,請先用更高階的使用者 如sys 給予授權或者直接用更高階的使用...

oracle資料庫中資料庫和表空間是等同的嗎

不等同。簡單的說,資料庫是乙個整體,乙個資料庫下可保護多個使用者 多個表 多個儲存過程 多個job 多個檢視等。而表空間可以認為是資料實體檔案的分類,比如有使用者表空間 系統表空間 索引表空間等,乙個表空間可以保護多個實體檔案。可以設定表空間的儲存大小,但實際使用多少由已存在的資料來決定。比如設定使...