資料庫中有三種主外來鍵關係圖:
(1)一對一關係:
(2)一對多關係(兩種):
總圖:注意:在資料庫中如果某列是
fk,那麼這列所在的表就意味著多。另外的表就是一。
如下圖:
四張表的結構展示了上面所有的三種關係圖:
建立的指令碼
(oracle)
create
table
pkfk_b (
pkb
varchar2(10
) not
null
primary
key,
column1
varchar2(10
), column2
varchar2(20
), column3
varchar2(10
) );
create
table
pkfk_d (
pkd
varchar2(10
) not
null
primary
key,
column1
varchar2(10
), column2
varchar2(20
), column3
varchar2(10
) );
create
table
pkfk_a (
pka
varchar2(10
) not
null
primary
key,
column1
varchar2(10
), column2
varchar2(20
), column3
varchar2(10
), foreign
key(pka)
references
pkfk_b(pkb) );
create
table
pkfk_c (
pkc1
varchar2(10
) not
null,
pkc2
varchar2(10
) not
null,
fkc
varchar2(10
), column1
varchar2(10
), column2
varchar2(20
), column3
varchar2(10
), primary
key(pkc1,pkc2),
foreign
key(pkc2)
references
pkfk_d(pkd),
foreign
key(fkc)
references
pkfk_b(pkb) );
主外來鍵關係
建立主外來鍵關係 el picklisttable中的recid 做el picklistline中的外來鍵 別名picklisttablerecid on update cascade on delete cascade 級聯刪除 更新,當主鍵表中 有相關變動的時候 外來鍵表跟著變化 alter ...
主外來鍵關係
外來鍵 受約束的表叫外來鍵表,約束的資料來源叫主鍵表 要想加外來鍵,首先得有主鍵表 要想刪除主鍵表,必須先刪除外來鍵表 作為外來鍵的資料來源的列,必須要是唯一鍵 create table teacher tno int primary key identity 1,1 not null,tname ...
資料庫表設計時應當建立主外來鍵關係
近期在做乙個小專案,討論到到底要不要在資料庫設計時,建立主外來鍵關係。外來鍵的作用我認為主要有兩個 乙個是讓資料庫自己通過外來鍵來保證資料的完整性和一致性 乙個就是能夠增加er圖的可讀性 我覺得第二點的重要性甚至比第一點還高 有些人認為外來鍵的建立會給開發時運算元據庫帶來很大的麻煩 因為資料庫有時候...