精华内容
下载资源
问答
  • 2021-01-18 18:41:25

    一、什么是主键、外键:

    关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个主键

    比如

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

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

    课程表(课程编号,课程名,学分)

    其中课程编号是唯一的,课程编号就是一个主键

    成绩表(学号,课程号,成绩)

    成绩表中单一一个属性无法唯一标识一条记录,学号和课程号的组合才可以唯一标识一条记录,所以 学号和课程号的属性组是一个主键

    成绩表中的学号不是成绩表的主键,但它和学生表中的学号相对应,并且学生表中的学号是学生表的主键,则称成绩表中的学号是学生表的外键

    同理 成绩表中的课程号是课程表的外键

    定义主键和外键主要是为了维护关系数据库的完整性,总结一下:

    1.主键是能确定一条记录的唯一标识,比如,一条记录包括身份正号,姓名,年龄。

    身份证号是唯一能确定你这个人的,其他都可能有重复,所以,身份证号是主键。

    2.外键用于与另一张表的关联。是能确定另一张表记录的字段,用于保持数据的一致性。

    比如,A表中的一个字段,是B表的主键,那他就可以是A表的外键。

    二、  主键、外键和索引的区别

    sql语句会自动判定查询字段有无索引,继而使用索引去检索

    主键、外键和索引的区别?

    主键

    外键

    索引

    定义:

    唯一标识一条记录,不能有重复的&#

    更多相关内容
  • 一、什么是主键外键关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个主键比如 : 学生表(学号,姓名,性别,班级) 其中每个学生的学号是唯一...
  • NULL 博文链接:https://cdxs2.iteye.com/blog/1932507
  • 数据库中的主键外键关系

    千次阅读 2021-09-25 10:56:58
    文章目录一、主键外键:1.概念2.区别3.作用4.举例:5....一、主键外键: 1.概念 SQL的主键表示唯一标识一条记录,...外键主键相对,作用就是通过主外键的之间关系使对张表中的数据更好的关联。 2.区别 主键——一个

    一、主键、外键:

    1.概念

    SQL的主键表示唯一标识一条记录,不能有重复的,不允许为空。例如:一条记录包括身份正号,姓名,年龄。身份证号是唯一能确定你这个人的,其他都可能有重复,所以,身份证号是主键。

    SQL的外键用于与另一张表的关联。是能确定另一张表记录的字段,用于保持数据的一致性。比如,A表中的一个字段,是B表的主键,那他就可以是A表的外键。外键与主键相对,作用就是通过主外键的之间关系使对张表中的数据更好的关联。

    2.区别

    主键——一个表主键只能有一个。

    外键——一个表可以有多个外键。

    3.作用

    主键——用来保证数据完整性。
    外键——用来和其他表建立联系用的。

    4.举例:

    关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个主键。

    比如:

    学生表(学号,姓名,性别,班级),其中每个学生的学号是唯一的,学号就是一个主键;

    课程表(课程编号,课程名,学分),其中课程编号是唯一的,课程编号就是一个主键;

    成绩表(学号,课程号,成绩),成绩表中单一一个属性无法唯一标识一条记录,学号和课程号的组合才可以唯一标识一条记录,所以,学号和课程号的属性组是一个主键。(必须是属性组,一个表只能有一个主键)

    成绩表中的学号不是成绩表的主键,但它和学生表中的学号相对应,并且学生表中的学号是学生表的主键,则称成绩表中的学号是学生表的外键;同理,成绩表中的课程号是课程表的外键。

    5.总结

    定义主键和外键主要是为了维护关系数据库的完整性,总结一下:
    1.主键是能确定一条记录的唯一标识,比如,一条记录包括身份正号,姓名,年龄。

    身份证号是唯一能确定你这个人的,其他都可能有重复,所以,身份证号是主键。
    2.外键用于与另一张表的关联。是能确定另一张表记录的字段,用于保持数据的一致性。

    在这里插入图片描述

    展开全文
  • 关系模型Relational_Model,主键Primary_Key,外键Foreign_Key【关系数据库SQL教程2】
  • 设置外键并与主键关联

    千次阅读 2022-01-25 15:34:18
    创建了一张新的表temp,并于主键所在的表发生联系,设置外键为id,来自gays里的主键。 后期添加外键 alter table temp add foreign key (id) references gays (id); 删除外键 alter table temp ..

    目录

    1. 主键所在表的结构

    2.设置一个新表并与主键关联

    3.外键的置空,级联操作。


     

    1. 主键所在表的结构

    通常情况下,一个仓库里可以有多个主键

    我们看一下表的结构。

    2.设置一个新表并与主键关联

    创建了一张新的表temp,并于主键所在的表发生联系,设置外键为id,来自gays里的主键。

     后期添加外键

    alter table temp add foreign key (id) references gays (id);

    删除外键

    alter table temp drop foreign key xxx;

    xxx怎末看

    show create table temp;
    

    3.外键的置空,级联操作。

    置空:原本的那个主键的某一条信息,不在了;与其相关的外键应该置成null。

    级联:原本的那个主键的某一条信息,不在了;与其相关的外键也被删掉。

    置空:主表改了,副表没了。

    foreign key(id) references gays(id) on delete set null;
    

     级联:主表改了,副表也改了。

    foreign key(id) references gays(id) on update cascade;

    重新设置一个副表:

    create table hebei(
    hebei_id int(3),
    money decimal(5, 2),
    id int(11),
    foreign key(id) references gays(id) on delete set null on update cascade);
    

     给副表一些数据。。

     然后对主表进行一些操作:

    把主表id是4的人的id由4换成3;

    update gays set id=3 where id=4;

    改之前:gays 

     改之后:

     我们再来看看副表有什么变化:

    改之前:

    改之后:

     综上:只是改变了主表,副表也会跟着改变。

    删除也是同理:

    delete from gays where id=2;
    

    把id是2的删除。。

    副表的变化:

    展开全文
  • 主键主键外键和索引 Primary and foreign keys are a way in which to constrain related data together to ensure data in your database remains consistent and to ensure no redundant data is in the database...

    主键主键外键和索引

    Primary / Foreign Keys

    Primary and foreign keys are a way in which to constrain related data together to ensure data in your database remains consistent and to ensure no redundant data is in the database as a result of deleting a table or row in one table that affects data in other tables that may perhaps rely on that information. It can cause both data integrity problems as well as problems with your application that makes use of such database.

    主键和外键是一种将相关数据约束在一起的方式,以确保数据库中的数据保持一致,并确保由于删除一个表中的表或行而影响其他表中的数据,从而导致数据库中没有冗余数据也许依赖于这些信息。 它可能导致数据完整性问题,也可能导致使用此类数据库的应用程序出现问题。

    什么是主键? (What’s a primary key used for?)

    A primary key is used to ensure data in the specific column is unique. You can only set constraints with primary keys, by setting a foreign key to another column which creates a relationship with the column that has the primary key set. A prime use of a primary key is in the case of a users table. The id column is likely to be a primary key because is needs to be unique. You may also set this column to auto increment; but the most important component is the primary key.

    主键用于确保特定列中的数据唯一 。 您只可以设定主键约束,通过设置一个外键 ,它创建了一个具有主键设置的关系的另一列。 对于用户表,主键的主要用途。 id列可能是主键,因为它需要唯一。 您也可以将此列设置为自动递增。 但最重要的组成部分是主键。

    为什么需要使用主键? (Why do I need to use a primary key?)

    Well, even though the column set as a foreign key may have duplicate data in multiple rows, it is still relying on the unique information in the primary key. If there was non-unique rows in the primary key column, there would not be a use for a foreign key because you would be mapping one row in the foreign key to two rows in the primary key. In essence, primary to foreign keys ensure that:

    好的,即使设置为外键的列可能在多行中都有重复的数据,它仍然依赖于主键中的唯一信息。 如果主键列中存在不唯一的行,则不会使用外键,因为您会将外键中的一行映射到主键中的两行。 本质上,外键的主键确保:

    • the data that can be inserted in the table that has the foreign key can only be information thatuniquely exists in the primary key column.

      具有外键的表中可以插入的数据只能是主键列中唯一存在的信息。
    • if a DELETE or UPDATE occurs, the action you specified will be undertaken to ensure data integrity and prevent data redundancy in your database. Two primary actions are CASCADE and RESTRICT. CASCADE means any affected data will be deleted as well (hence, cascading), in the case of an UPDATE execution; in order to keep data consistent and prevent data redundancy.

      如果发生DELETE或UPDATE,则将执行您指定的操作以确保数据完整性并防止数据库中的数据冗余。 两个主要动作CASCADE和RESTRICT。 CASCADE表示在执行UPDATE的情况下,所有受影响的数据也将被删除(因此, 级联 ); 为了保持数据一致并防止数据冗余。

    什么是外键? (What’s a foreign key used for?)

    How do you actually ensure that data stays integral, consistent and updated? You make use of foreign keys. A primary key ensures that data is unique in one column, but the foreign key is what makes the data stay consistent, as that is where the important data lies that needs to stay consistent and integral. It’s inevitable that in most database-driven applications you create, you’ll need to have multiple tables that are for different areas of your application that makes a reference to an id or some unique data in another table. For example, a profile comments table – your application needs to understand what user id the profile comment is for. You can make use of a foreign key here that maps to the primary key that, as well as keeping data consistent, it also means that you can set the foreign key to CASCADE and any DELETE and UPDATE actions will be cascaded down to any affected row (such as the foreign key).

    您实际上如何确保数据保持完整,一致和更新? 您使用外键 。 主键可确保数据在一列中是唯一的,但是外键是使数据保持一致的原因,因为重要数据所在的位置需要保持一致和完整。 不可避免的是,在您创建的大多数数据库驱动的应用程序中,您将需要具有多个表,这些表用于应用程序的不同区域,这些表引用了另一个表中的ID或某些唯一数据。 例如, 配置文件注释表–您的应用程序需要了解配置文件注释的用户ID 。 您可以在此处使用映射到主键的外键,并使数据保持一致,这还意味着您可以将外键设置为CASCADE,并且任何DELETE和UPDATE操作将被级联到任何受影响的行(例如外键)。

    翻译自: https://www.eukhost.com/blog/webhosting/whats-the-purpose-use-primary-foreign-keys/

    主键主键外键和索引

    展开全文
  • 关系型数据库和主键外键

    千次阅读 2021-01-11 21:55:07
    一对一:既可以把表A的主键充当表B的外键,也可以把表B的主键充当表A的外键(一个人只有一把钥匙,一把钥匙只给一个人) 一对多:把表A的主键充当表B的外键(一个父亲有几个孩子,一个孩子只有一个父亲) 多对多:...
  • 关于关系型数据库基本知识(主键外键、一对一、一对多、多对一等),适合了解数据库最基本知识的初学者阅读
  • 数据库中的主键外键关系

    千次阅读 2019-09-23 11:28:15
    什么是数据库?...成绩表中的学号不是成绩表的主键,但它和学生表中的学号相对应,并且学生表中的学号是学生表的主键,则称成绩表中的学号是学生表的外键 同理 成绩表中的课程号是课程表的外键
  • MySQL主键外键

    千次阅读 2021-01-19 05:46:35
    定义主键外键主要是为了维护关系数据库的完整性,总结一下:1.主键是能确定一条记录的唯一标识,比如,一条记录包括身份正号,姓名,年龄。身份证号是唯一能确定你这个人的,其他都可能有重复,所以,身份证号是...
  • 数据库中的主键外键关系,通俗易懂

    万次阅读 多人点赞 2017-12-16 16:13:08
    一、什么是主键外键关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个主键比如学生表(学号,姓名,性别,班级)其中每个学生的学号是唯一的,...
  • 主键外键

    千次阅读 2020-10-28 12:30:47
    关系及存储: 1对1 , 1对多,多对多 主键:primary key 主键就是数据行的唯一标识。不会重复的列才会当主键 一个表中只能有一个主键. 当建立主键后,默认会建立索引,而实际数据在磁盘上存储的顺序和主键列的顺序是...
  • 使用主键外键的“多对多”数据库关系。 该项目的目标是为一个通用的国际非政府组织创建一个完整的全栈项目的初始后端。 我们选择了亚洲,并将该非政府组织指定为亚洲非政府组织(ANGO)。 前端分为两个部分,即...
  • MySQL主键外键设定方法

    千次阅读 2021-03-15 21:53:27
    数据库 mysql 建立外键的前提:表的列必须与外键类型相同(外键必须是外表主键)。外键作用: 使两张表形成关联,外键只能引用外表中的列的值!指定主键关键字: foreign key(列名)引用外键关键字: references ...
  • 多对多概念:一个学生可以学好几门课程,一门课程可以被好几个学生学习,站在某一个学生的角度就对应了多个课程,站在课程那里,就对应了多个学生,所以学生和课程就是一个简单的多对多关系。在数据库中我们要解决...
  • 什么是主键外键,索引? 主键:表中用于唯一标识一条记录的信息,不能有重复,不允许为空;主 键只能有一个;主键作用是来保证数据完整性 外键:该表的外键则是另一表的主键, 外键可以有重复的, 可以是空值;一...
  • 主键外键

    2021-08-28 19:54:50
    外键(FOREIGN KEY) 主键(PRIMARY KEY) 主键(PRIMARY KEY)的完整称呼是“主键约束”。 MySQL主键约束是一个列或者列的组合,其值能唯一地标识表中的每一行。 这样的一列或多列称为表的主键,通过它可以强制...
  • 关于数据库主键外键(终于弄懂啦)

    万次阅读 多人点赞 2019-06-18 15:59:59
    转 关于数据库主键外键(终于弄懂啦) 2018年07月16日 19:44:24 f45056231p 阅读数 19385 ...
  • 外键 主键 概念

    千次阅读 2020-11-04 09:09:17
    关于数据库主键外键(终于弄懂啦) 关系型数据库中的一条记录中有若干个属性, 若其中某一个属性组(注意是组)能唯一标识一条记录, 该属性组就可以成为一个主键 比如 学生表(学号,姓名,性别,班级) 其中每个学生...
  • 外键用于在一个数据表中引入另一个表的主键 用于当两个表有联系 且一个表的某一类数据 需要用到另一个表的主键元素 则这类数据可设置为外键 例子: 左侧员工表的所属部门的数据 只能来自于右边的公司部门表的部门...
  • 定义主键主要是为了维护关系数据库的完整性。2、外键外键用于与另一张表的关联,是能确定另一张表记录的字段。外键是另一个表的主键,可以重复,可以有多个,也可以是空值。定义外键主要是为了保持数据的一致性。3...
  • blog,主要简单介绍了在 MySQL 数据库中如何查看某张表,以及对表做一些增删改查的操作,篇 blog 主要介绍一张表中如何设置唯一标识,以及两张表之间如何关联,即我们日常听说的主键外键主键含义:关系型数据库...
  • MySQL的主键外键

    千次阅读 2021-02-04 14:45:16
    概念表能够通过某个字段唯一区分出不同的记录,这个字段被称为主键。插入相同主键的两条记录是不被允许的。MySQL主键设计原则:不使用任何业务相关的字段作为主键永远也不要更新MySQL主键,修改主键会造成一系列的...
  • 关系模型——主键外键、索引

    千次阅读 2020-12-16 17:54:08
    外键不是通过列名实现的,而是通过定义外键约束实现的 其中,外键约束的名称fk_class_id可以任意,FOREIGN KEY (class_id)指定了class_id作为外键,REFERENCES classes (id)指定了这个外键将关联到classes表的id列...
  • 小知识系列:数据库的主键外键

    千次阅读 2021-10-12 09:21:50
    数据库是我们所有应用程序的基础,没有数据库的程序不是一个好程序,一般情况下我们都是通过可视化工具来创建数据库和数据库表格,今天给大家介绍一点不一样的,使用命令行工具来创建数据库的主键外键。...
  • 关系型数据库: 将复杂的数据结构转换为一个二维表格即利用关系模型把数据组织到一个二维数据表,通过SQL即结构化查询语句去操作数据:后期学习Jpa面向对象查询语句jpql语句操作数据 Oracle Oracle...
  • MySQL数据库的主键外键详解主键主键的定义主键:表中经常有一个列或多列的组合,其值能唯一地标识表中的每一行。这样的一列或多列称为表的主键,通过它可强制表的实体完整性。当创建或更改表时可通过定义 PRIMARY ...
  • 主键外键的定义

    千次阅读 2021-09-29 09:29:30
    主键(primary key):一列(或一组列),其值能够唯一区分表中每个行 。 外键(foreign key)外键为某个表中的一列,它包含另一个表的主键值,定义了两个表之间的关系
  • SQL的主键外键

    千次阅读 2021-06-26 22:16:46
    1.定义主键外键主要是为了维护关系数据库的完整性。 总结一下: (1)主键是能确定一条记录的唯一标识。 eg:一条记录包括身份正号,姓名,年龄。身份证号是唯一能确定你这个人的,其他都可能有重复,所以,身份证...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 108,854
精华内容 43,541
关键字:

外键不是本关系的主键