概念性的回答,百度有很多,這里就通俗一點說~
站在用戶的角度思考問題,與客戶深入溝通,找到太湖網站設計與太湖網站推廣的解決方案,憑借多年的經驗,讓設計與互聯網技術結合,創造個性化、用戶體驗好的作品,建站類型包括:網站設計、成都做網站、企業官網、英文網站、手機端網站、網站推廣、域名注冊、虛擬空間、企業郵箱。業務覆蓋太湖地區。
簡單點說:
1、主鍵,就是唯一能標示表中每一條記錄的存在,記住,是唯一,就好比---人口信息表(姓名,性別,身份證號),這里面有幾億人,要確定到底是找哪位,只有通過身份證號,身份證號這個字段就可以設為主鍵。當然,它也可以由幾個字段組成,
如---成績表(學號,課程號,成績),這里,學號和課程號是主鍵,因為這兩個字段合在一起,才能確定某一條成績記錄,如A君的數學成績...
2、外鍵,通俗點,就是引用別人的字段,不是自家產的。
如--員工表(員工號,姓名,部門號)
部門(部門號,部門名稱,部門經理)
在這里,員工表的主鍵是員工號,而部門表的主鍵是部門號,由于員工表中的部門號必須要依賴于部門表,所以,員工表中的部門號就是外鍵
再通俗點,就是車牌別人定,我只是套牌的。
3、主碼,其實跟主鍵是一樣的,它也是可以唯一標示每一條記錄的存在,叫法不同而已。。。如 工人(工人ID,身份證ID,工資,姓名)
在這里,工人ID和身份證ID都可唯一標示記錄,我挑工人ID做主碼,那么,身份證ID就充當候選碼咯,反正它也能干這活,如果身份證ID做主碼,那么工人ID就做候選碼咯!
查找表的外鍵(包括名稱,引用表的表名和對應的鍵名,下面是分成多步查詢):
select * from user_constraints c where c.constraint_type = 'R' and c.table_name = 要查詢的表
查詢外鍵約束的列名:
select * from user_cons_columns cl where cl.constraint_name = 外鍵名稱
查詢引用表的鍵的列名:
select * from user_cons_columns cl where cl.constraint_name = 外鍵引用表的鍵名
查詢表的所有列及其屬性
select t.*,c.COMMENTS from user_tab_columns t,user_col_comments c where t.table_name = c.table_name and t.column_name = c.column_name and t.table_name = 要查詢的表
查找表的外鍵(包括名稱,引用表的表名和對應的鍵名,下面是分成多步查詢):
select
*
from
user_constraints
c
where
c.constraint_type
=
'r'
and
c.table_name
=
要查詢的表
查詢外鍵約束的列名:
select
*
from
user_cons_columns
cl
where
cl.constraint_name
=
外鍵名稱
查詢引用表的鍵的列名:
select
*
from
user_cons_columns
cl
where
cl.constraint_name
=
外鍵引用表的鍵名
查詢表的所有列及其屬性
select
t.*,c.comments
from
user_tab_columns
t,user_col_comments
c
where
t.table_name
=
c.table_name
and
t.column_name
=
c.column_name
and
t.table_name
=
要查詢的表
主鍵就是自己設定的字段,該字段不能為空,而且該字段的值必須唯一,外鍵就是在主表中可以重復出現,但是它是另一個表的主鍵,對過外鍵使兩個表相關.
查看表索引、主鍵、外鍵、約束
(包括索引名,類型,構成列)
SELECT T.*, I.INDEX_TYPE
FROM USER_IND_COLUMNS T,USER_INDEXES I
WHERE T.INDEX_NAME = I.INDEX_NAME
AND T.TABLE_NAME = I.TABLE_NAME
AND T.TABLE_NAME = 'ORG_DLF' ----指定表
AND T.TABLE_OWNER= 'ODSRPT_SIT2'; ----指定用戶
(包括名稱,構成列)
SELECT CU.*
FROM DBA_CONS_COLUMNS CU, DBA_CONSTRAINTS AU
WHERE CU.CONSTRAINT_NAME = AU.CONSTRAINT_NAME
AND AU.CONSTRAINT_TYPE = 'P'
AND AU.TABLE_NAME = 'LOAN_APPLICATION_FEE' -----指定表名
AND CU.OWNER='ODSRPT_SIT2'; -----指定用戶名
(包括表名稱,構成列)
SELECT CU.COLUMN_NAME,AU.TABLE_NAME
FROM DBA_CONS_COLUMNS CU, DBA_CONSTRAINTS AU
WHERE CU.CONSTRAINT_NAME = AU.CONSTRAINT_NAME
AND AU.CONSTRAINT_TYPE = 'U'
AND AU.OWNER='RPT_UAT2' -----指定用戶名
AND AU.TABLE_NAME = 表名 ; -----指定表名
Select a.Owner 外鍵擁有者,
a.Table_Name 外鍵表,
c.Column_Name 外鍵列,
b.Owner 主鍵擁有者,
b.Table_Name 主鍵表,
d.Column_Name 主鍵列,
c.Constraint_Name 外鍵名,
d.Constraint_Name 主鍵名
From User_Constraints a,
user_Constraints b,
user_Cons_Columns c, --外鍵表
user_Cons_Columns d --主鍵表
Where a.r_Constraint_Name = b.Constraint_Name
And a.Constraint_Type = 'R'
And b.Constraint_Type = 'P'
And a.r_Owner = b.Owner
And a.Constraint_Name = c.Constraint_Name
And b.Constraint_Name = d.Constraint_Name
And a.Owner = c.Owner
And a.Table_Name = c.Table_Name
And b.Owner = d.Owner
And b.Table_Name = d.Table_Name;
分享題目:oracle怎么判斷外鍵,oracle 外鍵
文章位置:http://m.kartarina.com/article28/heidjp.html
成都網站建設公司_創新互聯,為您提供Google、、定制開發、網站排名、品牌網站建設、網頁設計公司
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯