表的主键与外键,创建外键表

腾讯云运维工程师认证TCA--真题(最新2022.11) 解析:云原生应用的12要素,1.基准代码:一份基准代码,多份部署;解析:腾讯云主账号具备对其名下资源(包括存储桶)的最大权限,您虽然可以在存储桶策略中限制几乎所有操作,但主账号始终具备 PUT Bucket Policy 操作的权限,主账号调用该操作不检查存储桶策略。解析:瀑布模型将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。解答:云原生五大关键技术:微服务、容器化、DevOps、持续交付。 阅读详情

一个关系表事实上是具有共同属性的一类实体的集合。按照集合的定义,集合中元素不能重复。同样,关系表中也不应该有重复记录。例如在学生表中,存有两条一样的学生记录是不必要的,也是不合适的。

在现实世界中,除了事物本身的信息外,事物之间还存在着很多联系,这种联系反映到数据库中就体现为表之间的联系。例如在图1中,学生表存储学生信息,系表存储系的信息。但学生表和系表之间是有联系的:每个学生都属于一个系,而每个系都可以包含多名学生,所以学生表和系表就存在着“属于”的联系。

(图1)

在关系数据库中,如何存储这种联系的信息呢?就要借助“外键”实现。如果一个表中的某一列是另外一个表的中的主键,那么称这列为外键。例如图1学生表中“系号”就是外键,因为系号是系表的主键(建立主外键关系的前提是两张表中有相同的字段和属性)。在学生表中设计了“系号”一列,就是为了存储学生和系之间的联系信息。

外键就是连接两个表的纽带。通过外键和主键的等值连接,如图1,就可以将不同表里的相关纪录连接在一起,从而实现了数据库中相关数据的查找。利用外键,可以查询每个学生所在系的信息,也可以查询在制定的系所包含的学生信息。

当两个表通过“外键-主键”建立了联系之后,就要保持两表数据的一致性。例如在插入学生记录的同时,外键的值(系号)必须是系表中主键的有效值(必须有这个系),或者是空值(学生的系暂未确定);又如,在删除系表记录时,如果在学生表里还有该系学生的记录(该系还有学生在就读),那么系记录就不能删除。

下面再分析一个员工信息管理系统的例子。该数据库中建有员工基本信息表(person)、部门编码表(deparment)和学历编码表(education),如图2所示:

(图2)

部门编码表保存了部门编号和部门名称,部门编号(DepID)是主键,每个部门的编号在表中具有唯一性,这样就能保证每行都可以用主键来标识。

学历编码表保存了学历编号和学历名称,学历编号(EduID)是主键。

员工基本信息表存储员工的基本信息,需要包括工作证号、姓名、部门编号、职务、工资、学历编号等字段,工作证号(ID)是该表的主键。在该表中,Department列是一个外键,匹配部门编码表中的DepID主键;Education列也是一个外键,匹配学历编码表中的EduID主键。利用外键和主键的连接,就可以查询出某人,如张三的部门是经理室,他的学历室硕士。

利用“外键-主键”的连接方式能更好夺得简化数据库设计过程,减少数据冗余,提高数据库效率。


创建带有外键的表

create table 表名
(
  列名1 类型 primary key,//主键
   列名2 类型,
   列名3 类型,
  foreign key(列名3)references on 外键表(外键表主键)
)
外键的建立要有与之相关联的表,并且这里的外键得是那个表的主键。

【3DSlicer】基于心脏ct影像重建3d模型及导出 软件:3DSlicer4.11 基于心脏ct影像重建3d模型 阅读详情

相关推荐

聚类模型-层次聚类

聚类模型 1、层次聚类 2、原型聚类-K-means 3、模型聚类-GMM 4、EM算法-LDA主题模型 5、密度聚类-DBSCAN 6、图聚类-谱聚类 一、层次聚类 一、聚类理论 ​ 一般来说,聚类是在训练样本的标签信息不知的情况下,学习样本内在的性质和规律,将有限的集合划分成ccc类。根据“方以类聚,物以群分”的思想,类内对象尽可能的相似,...

myazi 6504

表的主键与外键

一个关系表事实上是具有共同属性的一类实体的集合。按照集合的定义,集合中元素不能重复。同样,关系表中也不应该有重复记录。例如在学生表中,存有两条一样的学生记录是不必要的,也是不合适的。 在现实世界中,除了事物本身的信息外,事物之间还存在着很多联系,这种联系反映到数据库中就体现为表

yuzifen的专栏 1万+

Linux USB Gadget框架解析:从设备模拟到驱动开发实战

USB(通用串行总线)是现代计算机系统中应用最广泛的外设连接标准,其主从动态切换的特性使其在嵌入式系统中扮演着双重角色。与I2C、SPI等固定主从架构不同,USB设备需要同时支持主机(Host)和从机(Device)两种模式,这催生了Linux内核中独特的USB Gadget框架。该框架通过分层设计,将硬件控制器驱动(UDC)、功能逻辑(Function)和配置管理(Configfs)解耦,实现了灵活的设备模拟能力。在工程实践中,开发者可以利用Gadget框架快速实现U盘、网络适配器、串口转换器等常见USB

weixin_28007513的博客 561

sql 主键表与外键表的区分

主键表和外建表是相对来说的,简单的说就是一个表的主键是另外一张表的外键。例如class 班级表主要字段如下:classId PRIMARY KEY(主键)班级IDclassName 班级名称studen 学生表主要字段如下stuId PRIMARY KEY(主键)学生idstuName 学生姓名classId FOREIGN KEY(外建)所属班级idclass表中的主键classId 是stud...

夏沐的博客 8790

Polyworks脚本开发实战指南:高效生成数据彩图与报告的关键指令解析

本文深入解析了Polyworks脚本开发中生成数据彩图与自动化报告的核心指令。通过实战案例,详细介绍了REFERENCE_SURFACE、THICKNESS和CLEARANCE等关键彩图生成指令的正确用法与常见避坑点,并阐述了如何利用REPORT_ITEM命令实现从截图、表格生成到智能排版的全流程自动化,旨在帮助三维检测与质量控制工程师大幅提升工作效率与报告标准化水平。

weixin_29209825的博客 555

六自由度机械臂运动学分析及其轨迹规划

六自由度机械臂轨迹规划 通过对比三次多项式插值法与五次多项式插值法的效果,选取后者对机械臂进行轨迹规划,将运动学解导入Matlab Robotics Toolbox仿真,得到各关节角度、速度和加速度与时间关系曲线。 三次多项式插值法 三次多项式有4个待定系数,可同时对起始点和目标点的角度和角速度给出约束条件。 数学公式 MATLAB代码 五次多项式插值法 五次多项式有6个待定系数,可同时对起始点和...

两条眉毛 6万+

数据库的外键:主表与从表

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言Mysql的外键是什么,有何用?代码演示总结 前言 提示:这里可以添加本文要记录的大概内容: 最近在学习数据库,涉及到主表与从表的时候很懵逼,有点无法理顺,看了一些视频和博客结合自己的理解,写了这篇博客,以此记录。如果有错的地方,可以留言纠正,感谢。 提示:以下是本篇文章正文内容,下面案例可供参考 Mysql的外键是什么,有何用? 定义:如果一个A表的字段指向B表的主键,则此字段就位A表的外键。用于表示表之间的关系。存在外键

tfghmx的博客 8441

Docker 磁盘占用过多问题处理过程记录

Docker 磁盘爆满问题处理

MR.骑士道 3554

数据库基本操作(创建主键、外键以及索引)

​ 图书馆学习没有多大干劲了,数据库又快考试了根据考试内容写总结。老师回放已过期不得不自己来尝试 心酸! 需要按照要求给表创建主键、创建索引,创建外键(并设置删除和更新规则) 一、创建主键 ​ 自己创建一个数据库和最少两个表(student表 和 course 表),然后上图:点击创建主键 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kEcUycta-1622373901728)(C:\Users\赵轶楠\AppData\Roaming\Typ

weixin_45859411的博客 1万+

【RT-DETR有效改进】利用MobileNetV3替换Backbone(轻量化网络结构,提点)

本文给大家带来的改进机制是,其主要改进思想集中在结合硬件感知的网络架构搜索(NAS)和NetAdapt算法,以优化移动设备CPU上的性能。它采用了新颖的架构设计,包括反转残差结构和线性瓶颈层,以及新的高效分割解码器Lite Reduced Atrous Spatial Pyramid Pooling(LR-ASPP),以提升在移动分类、检测和分割任务上的表现。实验表明,MobileNets在资源和准确性的权衡方面表现出色,并在多种应用(如对象检测、细粒度分类、面部属性识别和大规模地理定位)中展现了其有效性。

Snu77的博客 2748

OpenClaw进阶实战(二十五):抖音企业号——私信回复与视频评论分析

本文介绍了抖音企业号自动化运营的技术方案,重点解决私信互动效率低和风控严格两大挑战。文章分析了抖音集成的三大技术壁垒(视频复杂性、风控体系、封闭API)并对比了三种技术路径的优缺点。针对不同规模的运营主体,推荐官方API+RPA混合架构或真机RPA+AI辅助的方案。 详细讲解了环境准备步骤,包括抖音Skill安装、Cookie获取和配置文件设置。核心实现部分展示了私信自动回复功能的安全合规实现,包含意图分类、优先级排序、延迟发送等防封禁机制,并提供了完整的Python代码示例。该方案通过模拟人工操作、限制日

PeterPan的博客 159

mysql 外键表_MySQL外键(表与表之间的关系)

外键:用来建立两张表之间的关系键语法:foreign key(当前表中建立观念西的外键字段)references 被关联表名(id)三种表与表之间的关系一对多多对多一对一研究表与表之间的关系如果将所有数据存放在一张表中的弊端:1.结构不清晰 ----> 不致命2.浪费空间 ---->不致命3.可扩展性极差---->不可忽视的弊端就类似将所有python代码存放在一个py文件中,强...

weixin_28793831的博客 691

[AI] 企业内网部署大模型的三种常见方案:从“能用”到“好用”的技术选型指南

企业内网部署大模型的三种方案解析:本地模型安全但门槛高,平台方案(如Dify)最平衡推荐,混合架构适合进阶需求。关键路径是渐进式演进,从快速验证到平台化建设,核心在于流程优化而非单纯选模型。数据安全、成本可控和工程落地能力是决策重点。

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 770

MySQL中的主键,外键有什么作用详解

              MySQL中的主键,外键有什么作用详解                                      作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任。   学关系型数据库的同学,尤其在学习主键和外键时会产生一定的困惑。那么今天我们就把这个困惑连根拔起吧。本篇博客不要求你对数据库命令非常熟悉,因为我已经帮大家加了相应的注视。实验环境...

weixin_34200628的博客 1132

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

hibernate 创建外键失败

项目用的ssh框架,启动时会报创建外键失败的错误: ERROR: HHH000389: Unsuccessful: alter table Course_CourseType add index FK_bq7f9dk9hyurjyi8qiypjjk0 (course_id), add constraint FK_bq7f9dk9hyurjyi8qiypjjk0 foreign key (cour...

huanhuan8944172的专栏 1235

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

表有主外键约束时的delete 方法

--主键表的创建create table pk_table(id int primary key,name varchar2(30)) insert into pk_table values(1,'computer'); ...

cka6619的博客 765

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

MYSQL之外键约束

默认值约束(default):create(address varchar(50) default ‘南京’)自增约束(auto_increment):随着记录增加,基于最新的记录的id进行+1的自增长。唯一性约束(unique [key|index]):唯一,可为空,但空值只允许出现一次。alter table (表名) drop foreign key (约束值)主键约束(primary key):具有唯一且非空。非空约束(not null):不可为空。references:引用。

l17605229954的博客 1901

mysql 的外键

建立外键的前提: 本表的列必须与外键类型相同(外键必须是外表主键)。 外键作用: 使两张表形成关联,外键只能引用外表中的列的值! 指定主键关键字: foreign key(列名) 引用外键关键字: references <外键表名>(外键列名) 事件触发限制: on delete和on update , 可设参数cascade(跟随外键改动), restrict(限制外表中的外键改动)...

qdoxford的专栏 285

有外键约束时,删除表的影响

1. 首先创建两个表dept_temp和emp_temp。 2. 设置deptno为dept_temp的主键 alter table dept_temp add constraint PK primary key(deptno); 3. 为emp_temp设置外键约束 alter table emp_temp add constraint FK foreign key(deptno)

huangp0600的专栏 4438

view_fk

create or replace view view_fk asselect    a.table_name 外键表,    c.column_name 外键列,    b.table_name 主键表,    d.column_name 主键列,    decode(a.validated,'VALIDATED',0,1) 多选from    user_constraints a,    us...

weixin_33970449的博客 94

SQL2K数据库开发九之表操作创建外键(一)

1.上一个例子中我们创建了表Suppliers,下面我们将以表Suppliers中的SupplierID列为主键方,以表Products中的SupplierID列为外键创建一个外键约束。启动企业管理器,展开sample数据库,在Products表上右击鼠标,在弹出的菜单上点击“设计表”,进入表的设计窗口。 2.在设计面板的空白处右击鼠...

weixin_34013044的博客 81

2024.1.26学习心得(此前为关于数据库存储的学习)

能够唯一标示一个事物的一个字段或多个字段的组合,被称为主键。如果一个表中的若干个字段是来自另外若干个表的主键或唯一键,则这若干个字段就是外键。外键不一定是另外的表,也可能来自本表的主键。含有外键的表叫外键表,外键字段来自的那一个表叫主键表。

renewal_m的博客 443

mysql 建表原则

一对多 : 建表原则: 在多的一方添加一个外键,指向一的一方。 例如,分类和商品信息,是一对多的关系,一个分类下有多中商品。 在商品信息表添加一个外键,指向分类表。 多对多: 建表原则:拆成一对多 创建一张中间表, 至少要有两个外键, 指向原来的表 例如,订单表和商品表,是多对多的关系。一个订单可以购买多个商品,一个商品可以被多个订单所选择。 可以创建一张订单项: 中间表(订单ID,商品ID,商...

91奔跑的蜗牛 613

mysql数据库简单操作及各种约束

显示所有数据库: show databases; 创建数据库: CREATE DATABASE test; 切换数据库: use test; 显示数据库表: show tables; 创建数据表: CREATE TABLE pet(name VARCHAR(20),owner VARCHAR(20),species VARCHAR(20),sex CHAR(1),birth DATE,death DATE); 查看数据表结构: describe pet; desc pet; 查询表: selec

weixin_43393776的博客 166

解决 Cannot add foreign key constraint 无法添加外键约束的问题

解决 Cannot add foreign key constraint 无法添加外键约束的问题。

念兮为美 379

mysql之用户管理

mysql之用户管理

linhaoyanglinhao的博客 424
上一篇: Mysql文件大小限制,max_allowed_packet查询和修改,
下一篇: Tomcat环境变量的配置
xtfdc2
博客等级 码龄18年 1粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值