以oracle自帶的用戶scott為例。
創(chuàng)新互聯(lián)專(zhuān)業(yè)為企業(yè)提供薩爾圖網(wǎng)站建設(shè)、薩爾圖做網(wǎng)站、薩爾圖網(wǎng)站設(shè)計(jì)、薩爾圖網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、薩爾圖企業(yè)網(wǎng)站模板建站服務(wù),十年薩爾圖做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
create?table?dept(
deptno?number(2)?primary?key,?--deptno?為?dept表的主鍵
dname?varchar2(10),
loc?varchar2(9)
);
create?table?emp(
empno?number(4)?primary?key,?--empno?為?emp表的主鍵
ename?varchar2(10),
job?varchar2(9),
mgr?number(4),
hiredate?date,
sal?number(7,2),
comm?number(7,2),
deptno?number(2)?references?dept(deptno)?--dept表中deptno字段?為?emp表的外鍵
);
create TABLE zhao(\x0d\x0a id number primary key,\x0d\x0a mingcheng nvarchar2(50),\x0d\x0a neirong nvarchar2(50),\x0d\x0a jiezhiriqi date,\x0d\x0a zhuangtai nvarchar2(50)\x0d\x0a);\x0d\x0acreate TABLE tou(\x0d\x0a id number primary key,\x0d\x0a zhao_id number,\x0d\x0a toubiaoqiye nvarchar2(50),\x0d\x0a biaoshuneirong nvarchar2(50),\x0d\x0a toubiaoriqi date,\x0d\x0a baojia number,\x0d\x0a zhuangtai nvarchar2(50),\x0d\x0a foreign KEY(zhao_id) REFERENCES zhao(id)\x0d\x0a);\x0d\x0aforeign key (zhao_id) references to zhao(id)\x0d\x0a多了個(gè)to
1、外鍵是屬于約束的一種,所謂約束顧名思義,就是限制你在數(shù)據(jù)庫(kù)的操作。而你對(duì)數(shù)據(jù)庫(kù)有什么操作,無(wú)非是增、刪、改、查,外鍵起的作用就是讓你在數(shù)據(jù)庫(kù)幫助的情況下更合理的增加數(shù)據(jù)的正確度。
2、所以,外鍵只是輔助,并不能起到你說(shuō)的【B.NAME是否也自動(dòng)出現(xiàn)張三兩個(gè)字】。
3、外鍵的作用是能夠避免如下情況。
如
【班級(jí)信息表】存放的是班級(jí)信息表。
【學(xué)生表】存放的是學(xué)生信息,包含班級(jí)信息。
這個(gè)時(shí)候 在【學(xué)生表】中存放的班級(jí)信息應(yīng)該在【班級(jí)信息表】存在才合法,自己人為控制的話難免有漏掉的情況,用外鍵則可以讓數(shù)據(jù)庫(kù)自動(dòng)控制,當(dāng)插入【學(xué)生表】中的數(shù)據(jù)在【班級(jí)信息表】不存在的時(shí)候,數(shù)據(jù)庫(kù)不允許插入。
---
以上,希望對(duì)你有所幫助。