概念性的回答,百度有很多,这里就通俗一点说~
简单点说:
①.、主键,就是唯一能标示表中每一条记录的存在,记住,是唯一,就好比---人口信息表(姓名,性别,身份证号),这里面有几亿人,要确定到底是找哪位,只有通过身份证号,身份证号这个字段就可以设为主键.当然,它也可以由几个字段组成,
如---成绩表(学号,课程号,成绩),这里,学号和课程号是主键,因为这两个字段合在一起,才能确定某一条成绩记录,如A君的数学成绩...
如--员工表(员工号,姓名,部门号)
部门(部门号,部门名称,部门经理)
今天这一节,员工表的主键是员工号,而部门表的主键是部门号,由于员工表中的部门号必须要依赖于部门表,所以,员工表中的部门号就是外键
再通俗点,就是车牌别人定,我只是套牌的.
今天这一节,工人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
要查询的表
user_cons_columns
cl
cl.constraint_name
外键名称
外键引用表的键名
t.*,c.comments
user_tab_columns
t,user_col_comments
t.table_name
t.column_name
c.column_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' ----指定表
(包括名称,构成列)
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' -----指定表名
(包括表名称,构成列)
SELECT CU.COLUMN_NAME,AU.TABLE_NAME
AND AU.CONSTRAINT_TYPE = 'U'
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怎么判断外键相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!