问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Oracle一个字段的的外键可以当另一个字段的主键吗

发布网友 发布时间:2022-05-02 18:30

我来回答

4个回答

热心网友 时间:2022-06-21 05:59

可以的,写段代码给你看

--创建主表userinfos,userid是这个表的主键
create table userinfos(userid int primary key not null, username varchar(20) not null);

--创建表scores,scid是这个scores表的主键
create table scores(scid int primary key not null, useridsc int not null,score int not null);

--建立主外键约束,使得成绩表里的useridsc这个列存放的学生编号,必须是userinfos表的userid列的值,也就是说,不允许还没有这个学生,就有了这个学生的成绩
alter table scores add constraint FK_scores_userinfos foreign key (useridsc) references userinfos(userid);

希望你能看懂

热心网友 时间:2022-06-21 06:00

可以的。一个字段可以为其他表中字段的外键,当然可以为本身表的主键。比如商品编号可以为主键,也可以同时为外键

热心网友 时间:2022-06-21 06:00

“主键”是指在数据库的表中能唯一标识一条记录的最小的字段集合。
外键(Foreign Key)   如果公共关键字在一个关系中是主关键字,那么这个公共关键字被称为另一个关系的外键。
给你一个实例
create table S(
Sno char(9) not null,
Sname char(10) not null,
Ssex char(4) not null,
Sage int not null,
Sdept char(10) not null,
primary key(Sno)
);
Insert into S(Sno,Sname,Ssex,Sage,Sdept) values('200215121','李勇','男',20,'计算机');
Insert into S(Sno,Sname,Ssex,Sage,Sdept) values('200215234','刘晨','女',18,'通信');
Insert into S(Sno,Sname,Ssex,Sage,Sdept) values('200215324','王敏','女',19,'经管');
Insert into S(Sno,Sname,Ssex,Sage,Sdept) values('200215401','张力','男',20,'物理');
Insert into S(Sno,Sname,Ssex,Sage,Sdept) values('200215402','王华','男',18,'物理');
Insert into S(Sno,Sname,Ssex,Sage,Sdept) values('200215411','赵王','男',18,'环资');
Insert into S(Sno,Sname,Ssex,Sage,Sdept) values('200215431','肖颖','女',20,'旅管');
Insert into S(Sno,Sname,Ssex,Sage,Sdept) values('200215432','张虎','男',19,'旅管');

create table C(
Cno char(4) not null,
Cname char(15) not null,
Cpno int,
Ccredit int not null,
primary key(Cno)
);
Insert into C(Cno,Cname,Cpno,Ccredit) values('1001','数据库',5,4);
Insert into C(Cno,Cname,Cpno,Ccredit) values('1002','数学',4,2);
Insert into C(Cno,Cname,Cpno,Ccredit) values('1003','会计学',1,4);
Insert into C(Cno,Cname,Cpno,Ccredit) values('1004','信息系统',2,4);

create table SC(
Sno char(9) not null,
Cno char(4) not null,
grade int,
primary key(Sno,Cno),
foreign key(Sno) references S(Sno),
foreign key(Cno) references C(Cno),
check (grade between 0 and 100 or grade is not null)
);
Insert into SC(Sno,Cno,grade) values('200215121','1001',89);
Insert into SC(Sno,Cno,grade) values('200215121','1002',76);
Insert into SC(Sno,Cno,grade) values('200215121','1003',88);
Insert into SC(Sno,Cno,grade) values('200215234','1004',89);

热心网友 时间:2022-06-21 06:01

肯定能的啊!
这个就是外键的定义啊!
oracle 问题,请教高手了……

1、作为外键的字段在主表中一定是主键或者是具有唯一约束(Unique)的字段;2、作为外键的字段与主表中所参照的字段是同一类属性(字段名字可以不同)。从这两个规则可知,在问题中提到的字段name即使不是主键,只要它是被约束为唯一(Unique)就可以做外键的参照字段。

oracle中外键对表的修改、删除、插入会有怎么样的印象。 外键是从另...

1、外键的概念:外键是关系数据库三个完整性的五个约束条件之一,是表与表之间建立的一种关系。在Oracle数据库的scott/tiger用户中,表Dept和Emp通过外键进行了关联。在这里Dept表叫主表,Emp表叫从表,外键是字段Deptno。2、加入外键的条件:a、两个表有相同属性字段,取值范围相同;b、外键在主表中...

oracle中 主键和外键是什么意思?什么地方采用呢?

主键就是区别这个表的唯一关键字 比如一个学生表 学号不能重复且唯一 学号就是关键字 外键就是跟其他表联系的字段 还是比如有一张学生表 还有一张选课表 这个时候要修改学生表中的学号 选课表里对应的就也得变 这样就需要给选课表加学号作为外键约束 这样当你修改 学号时 所有外键关联的就都改了 ...

oracle中 主键和外键是什么意思?什么地方采用呢?

主键的意思是一个列或多列的组合,其值能唯一地标识表中的每一行,可强制表的实体完整性。主键主要是用与其他表的外键关联,以及本记录的修改与删除。外键的意思是表示了两个关系之间的相关联系。作用是以另一个关系的外键作主关键字的表被称为主表,具有此外键的表被称为主表的从表。

Oracle数据库中的主键,外键,约束我总是不理解!或者说知道个大概意思,可 ...

Oracle数据库中的主键:表示一张表中记录的唯一性,不能有重复。外键:一个属性的值是另外一个表中的属性,大多数也是另外一个标主键。约束:对某一个属性的取值的约束,例如年龄大于0小于100。

oracle的外键怎么使用?

1、外键是属于约束的一种,所谓约束顾名思义,就是限制你在数据库的操作。而你对数据库有什么操作,无非是增、删、改、查,外键起的作用就是让你在数据库帮助的情况下更合理的增加数据的正确度。2、所以,外键只是辅助,并不能起到你说的【B.NAME是否也自动出现张三两个字】。3、外键的作用是...

oracle 表一的A、B两个字段是联合主键,表二使用表一的A字段作为外键...

不可以。从定义看,外键至少需要父表上A列/A字段是唯一的(UNIQUE约束),如果A、B字段作为联合主键,则不能保证A字段唯一性约束。有矛盾,所以不可以。

oracle 主键、外键和主键约束、唯一约束如何理解,谢谢!

主键是唯一证明,在茫茫人海中,怎么区分你和别人呢。通过身份证(当然也有别的,指纹之类的)。每个身份证号都是唯一的。不可能有两个人有同一个身份证号(理论上)。外键相当于引用别人的主键。比如说你买房子,有房产证。那个房产证上要有你的身份证号。这里,你的身份证号就成了外键 唯一性约束...

关于外键的几个问题?

2)主键:当有多个候选码时,可以选定一个作为主码,选定的候选码称主键 3)外键: 关系R中的一个属性组,它不是R的候选码,但它与另一个关系S的候选码相对应,则称这个属性组为R的外码或外键。问题四:什么是主键和外键 关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是...

oracle 单表查询受外键影响吗?

在Oracle数据库中,外键是强制实施参照完整性的一种方式,我们约定主键表为主表,外键表为从表,使用外键就意味着一个表中的值在另一个表中也必须出现,指挥在修改时受到影响,在查询时是不受影响的。或者在查询时也可以禁用外键,语法参考:

外键必须是另一个表的主键吗 外键可以是主键吗 主键可以有多个吗 access怎么设置字段为主键 主键和外键的概念 数据库的主键和外键 外键和主键名能相同吗 外键和主键的区别 mysql主键和外键
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
刀塔传奇攻略 刀塔传奇圣堂刺客属性怎么样[图]介绍_刀塔传奇攻略 刀塔... 刀塔传奇圣堂刺客技能加点解析介绍_刀塔传奇圣堂刺客技能加点解析是什么... 天谕手游圣堂雷罡和地罡哪个好 走哪个流派更吃香 谁说圣堂不能当DPS 雷罡输出圣堂养成教学 如何成为一名合格的雷罡圣堂 输出技巧分享 烟花三月下扬州是哪首古诗 巴中市巴州区大学中专招生委员会办公室单位简介 四川巴中市巴州区的高考报名号前几位是多少? 巴中市高考总分多少 求stand and deliver oracle中两张表存在主外键关系怎么建表 电视剧《因为爱情有多美》25-27集 因为爱情有多美第二部的片尾曲为什么查不得? oracle创建外键 因为爱情有多美里第几集是大结局 oracle为表建立外键时没有命名FOREIGN KEY约束,现在想删外键怎么办?? 因为爱情有多美这电视剧里几个主角最后结果是怎样的。 《因为爱情有多美》文馨是谁演的 oracle编写存储过程从原有表中查找数据导入新表,insert到一部分后中止了过程,怎么让能接住去执行插入 微信群发明信片怎么弄 微信怎样发送朋友明信片到朋友圈 怎样转发微信明信片 怎么把所有微信好明信片推荐给其他人吗? 睡眠不好怎么办?如何改善? 什么是呼叫中心的业务报表? 睡眠质量差怎么改善? 爱吃苦瓜代表着一个人怎样的品行性格 爱吃苦瓜的女人什么性格? 女人说要吃掉男人有什么心里暗示 苦瓜女是什么意思? 花呗逾期了10天 还能使用嘛? 2020年小考分数线是多少分? 贺州市实验中学小考录取分数线2020年 请问达三中2020年小升初的分数线是多少分? 2020成武县一中小升初分数线大约是多少? 2020年景开中学小升初分数线是多少? 2020年小升初录取分数线是多少? 2020年景开中学小升初分数线是多少?jin小升中的录取分数线是多少?(2021)_百度问一问 今年小考录取分数线是多少啊? 2020年东莞小升初录取分数线? 2020小升初的衡水录取分数线是多少呢? 2020年小升初需要多少分录取台州路桥? 2020年成效中学小升初分数线是多少? 请问2020年一中小升初分数线还是280分吗? FX8300配什么主板和显卡才能都能发挥到极致。主要用于软件多开模拟器多 fx8300和i52500k谁比较好,fx8300配什么主板好? 哪个大神给我配个amd的fx8300cpu的主机配置详细单。 如何看待比亚迪成为苹果新iPad代工方这件事? 给FX4300配什么主板好 比亚迪又“不务正业”了,抢富士康饭碗!iPhone9由比亚迪代工!