关于外键的几个问题?

网上有关“关于外键的几个问题? ”话题很是火热,小编也是针对关于外键的几个问题?寻找了一些与之相关的一些信息进行分析 ,如果能碰巧解决你现在面临的问题 ,希望能够帮助到您。

问题一:什么是主键和外键 通俗的说吧

先说说主键(primary key)吧:一张表(关系)的一个列(属性)或多个列可以作为主键,但是前提是让这个列作主键,这个列就能保证该列下的各个行(元组)的值不能相同 ,比如说你用姓名属性作主键的话,那么这个主键就不一定可以,如果有两个人是同样的名字的话 ,就不能做到该属性下的各个元组数据的值不同,如果用 *** 数字作主键就是一个很好的选择 。

再说说外键(foreign key):一张表(关系)的列(属性)它同时存在表1和表2中,它不是表1的主键 ,而是表2的主键,就可以说他是表1的外键 。

那么什么是候选键(Candidate Key)呢:能唯一标识表(关系)中行(元组)的列(属性),则称该属性为候选键 ,也称 候选关键字 或 候选码;由此来看候选键可以不只一个,还看一看得出的就是主键同时它也是候选键

问题二:SQL中什么叫主键,什么是外键 ,有啥关系 就好像一个订单需要2张表

1站订单表 一张订单明细表 订单表里面的ID是主键

明细表里的也有个ID 关联的订单表的ID 那明细表的ID就是外键

订单表的一个产品如果删掉了 但明细表里面的关联订单表的数据没删掉 就造成了数据冗余

所以设置主外键是防止数据误删和冗余 设置主键后 如果明细表的数据没删掉 主键内的信息就删不掉

问题三:什么是主键和外键 这需要理清几个概念:

1)候选键: 关系中的一个属性组 ,其值能唯一标识一个元组,若从该属性组中去掉任何一个属性,它就不具有这一性质了 ,这样的属性组称作候选码。

2)主键:当有多个候选码时,可以选定一个作为主码,选定的候选码称主键

3)外键: 关系R中的一个属性组 ,它不是R的候选码,但它与另一个关系S的候选码相对应,则称这个属性组为R的外码或外键。

问题四:什么是主键和外键 关系型数据库中的一条记录中有若干个属性 ,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个主键比如 :

学生表(学号,姓名 ,性别,班级)

其中每个学生的学号是唯一的,学号就是一个主键

用户表(用户名 、密码 、登录级别)

其中用户名是唯一的, 用户名就是一个主键

上机记录表(卡号,学号,姓名、序列号)

上机记录表中单一一个属性无法唯一标识一条记录 ,学号和姓名的组合才可以唯一标识一条记录 ,所以 学号和姓名的属性组是一个主键

问题五:什么是外键表,什么是主键表? 表1是主键表、

表1的主键字段在表2中做外键 、而表1自己却没有外键

表2是外键表

有一个依赖表1typeid的字段、作为外键、取值必须是其依赖主键表表1中主键字段有的值

问题六:数据库中什么是主键,什么是外键 主键(Primary key): 也称为主码或主关键字 ,用于惟一地确定一个元组的属性或属性组(复合主码) 。每个关系都有一个并且只有一个主码。

外键(Foreign Key):也称为外码或外部关键字。如果一个属性集不是所在关系的关键字,但是是其他关系的关键字,则该属性集称为外部关键字 。在关系数据库中可以通过外键使两个关系关联 ,这种联系通常是一对多(1:n)的,其中主(父)关系(1方)称为被参照关系,从(子)关系(n方)称为参照关系。

问题七:oracle中 主键和外键是什么意思?什么地方采用呢? 1 、这种简单的搜一下都有吧。不止oracle ,所有关系型数据库主键和外键的含义都一致;

2、主键和外键是两种类型的约束;

3、主键是能唯一的标识表中的每一行,就是说这一列非空且值不重复,可以指定为主键;作用是用来强制约束表中的每一行数据的唯一性;

4 、外键是b表中的某一列引用的值来源于a表中的主键列 。也是约束b表中的外键列的值必须取致a表中的主键列值 ,不是其中的值就不能插入b表中。可以形成a表b表的联系,保持数据的约束和关联性。

问题八:sql中什么叫主键表,什么叫外键表 主键表 外键表 这个概念没有 没听过

不过从字面理解 这个应该是基于有外键的表说的

有外键的那张表是外键表 另外张关联外键的应该就是主键表

外键约束是指用于在两个表之间建立关系 ,需要指定引用主表的哪一列 。

外键约束对子表如此检查处理:

在子表上进行INSERT、UPDATE?操作的限制是 ,要和主表中的主键值匹配,或为NULL,?否则不允许。

外键约束对父表如此检查处理:

在父表_上进行UPDATE、DELETE操作的限制,取决于在定义子表的外键时指定的ON?UPDATE 、ON?DELETE子句(不同的DBMS支持的情况不尽相同)。众ON?DELETE子?句各选项的作用:

1、No?ACTION?:删除主表记录,如果子表中有和主表匹配的记录 ,则不允许(产生一个错误提示) 。此为默认操作(不指定ON?DELETE子句,?系统自动采取的操作) 。

2、CASCADE?(级联):删除主表记录,也将删除子表中的匹配记录。

3 、SET?NULL?:删除主表记录 ,将子表中的匹配记录的外键值改为NULL。

4 、SET?DEFAULT?:删除主表记录,将子表中的匹配记录的外键值改为默认值 。众ONUPDATE子句各选项的作用。

扩展资料

外键的用途是确保数据的完整性。它通常包括以下几种:?

1、实体完整性,确保每个实体是唯一的(通过主键来实施)?

2、域完整性 ,确保属性值只从一套特定可选的集合里选择?

3 、关联完整性,确保每个外键或是NULL(如果允许的话)或含有与相关主键值相配的值 。

约束的主要目的是控制存储在外键表中的数据,但它还可以控制对主键表中数据的修改。例如 ,如果在 publishers 表中删除一个出版商,而这个出版商的 ID 在 titles 表中记录书的信息时使用了。

则这两个表之间关联的完整性将被破坏,titles 表中该出版商的书籍因为与 publishers 表中的数据没有链接而变得孤立了 。

FOREIGN KEY 约束防止这种情况的发生。如果主键表中数据的更改使之与外键表中数据的链接失效 ,则这种更改是不能实现的 ,从而确保了引用完整性。

如果试图删除主键表中的行或更改主键值,而该主键值与另一个表的 FOREIGN KEY 约束值相关,则该操作不可实现 。

若要成功更改或删除 FOREIGN KEY 约束的行 ,可以先在外键表中删除外键数据或更改外键数据,然后将外键链接到不同的主键数据上去。?

百度百科--外键

百度百科--约束

关于“关于外键的几个问题? ”这个话题的介绍,今天小编就给大家分享完了 ,如果对你有所帮助请保持对本站的关注!

(2)

猜你喜欢

发表回复

本站作者才能评论

评论列表(3条)

  • 帖俊杰的头像
    帖俊杰 2025年09月10日

    我是乐信号的签约作者“帖俊杰”

  • 帖俊杰
    帖俊杰 2025年09月10日

    本文概览:网上有关“关于外键的几个问题?”话题很是火热,小编也是针对关于外键的几个问题?寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。问题一:什...

  • 帖俊杰
    用户091002 2025年09月10日

    文章不错《关于外键的几个问题?》内容很有帮助

联系我们:

邮件:乐信号@gmail.com

工作时间:周一至周五,9:30-17:30,节假日休息

关注微信