理理清楚 超键、候选键、主键和外键

2023-10-08 13:30

本文主要是介绍理理清楚 超键、候选键、主键和外键,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

超键也叫超关键字、候选键也叫候选关键字、主键也叫主关键字、外键也叫外关键字。中国的汉字真是博大精深那!

先上概念:

                     超键:       在关系中能唯一标识元组的属性集称为关系模式的超键;

                     候选键:   不含有多余属性的超键称为候选键,也就是在候选键中在删除属性就不是键了;

                      主键:     用户选作元组标识的候选键称为主键,一般不做说明,键是指主键;

                     外键:      相对于两个表或多张表来说的。如果表R中属性K是其他表的主键,那么K在表R中称为外键。

例如   有这样一个表,假设没有重名的。

                                    

身份证 字段唯一 所以是一个超键;

姓名唯一所以是一个超键;                                                                           一个属性可以作为一个超键,多个属性组合在一起也可以作为一个超键

(姓名,性别)唯一所以是一个超键;            

(姓名,性别,年龄)唯一所以是一个超键。


身份证唯一而且没有多余属性,多以是一个候选键;

姓名唯一而且没有多余属性,所以是一个候选键;

可以知道  候选键是没有多余属性的超键。

  主键是从候选键中进行选择的,这张表中我们可以设定身份证为主键或者是候选键为主键都可以。

外键呢!就更简单了。外键是是两张表之间的联系。一张图为例,清晰又明了。

                      

这张表中公司代号就是外键  是两张表的桥梁。

我们只有掌握了概念,我们才能清楚的做题,在以后的学习当中才能更好的学习新知识。

这篇关于理理清楚 超键、候选键、主键和外键的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/165596

相关文章

SQL中的外键约束

外键约束用于表示两张表中的指标连接关系。外键约束的作用主要有以下三点: 1.确保子表中的某个字段(外键)只能引用父表中的有效记录2.主表中的列被删除时,子表中的关联列也会被删除3.主表中的列更新时,子表中的关联元素也会被更新 子表中的元素指向主表 以下是一个外键约束的实例展示

Oracle主键和外键详解及实用技巧

在 Oracle 数据库中,主键(Primary Key)和外键(Foreign Key)用于维护数据库表之间的数据完整性。 1. 主键(Primary Key) 主键是一列或多列,能够唯一标识表中的每一行。表中只能有一个主键,并且主键列不能为空(即 NOT NULL)。 特性: 唯一性:主键中的每一个值都是唯一的,不能重复。非空性:主键列不能包含 NULL 值。索引:Oracle 自动为

C#设计模式(1)——单例模式(讲解非常清楚)

一、引言 最近在学设计模式的一些内容,主要的参考书籍是《Head First 设计模式》,同时在学习过程中也查看了很多博客园中关于设计模式的一些文章的,在这里记录下我的一些学习笔记,一是为了帮助我更深入地理解设计模式,二同时可以给一些初学设计模式的朋友一些参考。首先我介绍的是设计模式中比较简单的一个模式——单例模式(因为这里只牵涉到一个类) 二、单例模式的介绍 说到单例模式,大家第一

分布式项目中使用雪花算法提前获取对象主键ID

hello,大家好,我是灰小猿! 在做分布式项目开发进行数据表结构设计时,有时候为了提高查询性能,在进行数据库表设计时,会使用自增ID来代替UUID作为数据的主键ID,但是这样就会有一个问题,数据的自增ID应该如何获取到下一个ID并且插入到库中呢? 如果你使用的是mybatisPlus,可以使用自带的自增注解加在id字段上即可,这样在数据入库时就可以自动给数据赋值自增的主键ID, 但是对于不

ManyToMany双向外键关联(基于注解)的映射案例(简单版)

学生和老师就是多对多的关系,一个学生有多个学生,一个老师也有多个学生,这里的多对多映射采用中间表连接的映射策略,建立中间表的映射策略,建立中间表分别引入俩边的主键作为外键。通过中间表映射俩个表之间的关系。 下面就以学生类和老师类为例介绍多对多的映射关系的实例 Students类 package mtm_bfk;import java.io.Serializable;import java.

hibernate手动分配assigned 主键增长方式

一、手动分配数据库主键增长方式 assigned 二、还是hibernate_basemapping项目 1、新建 User.class 类 package com.bjsxt.hibernate;   import java.util.Date;   public class User3 {    private String id;//实体是有标识的,我们最好建立一个唯一性的

【面试题】MySQL的聚簇索引与非聚簇索引与主键索引:深入理解与应用

文章目录 引言基础知识核心概念引擎上的区别InnoDBMyISAM 示例演示实际应用深入与最佳实践常见问题解答结语学习资源互动环节 引言 聚簇索引、非聚簇索引和主键索引的有什么区别你知道吗 在数据库设计中,索引是提高查询性能的关键。MySQL中的聚簇索引和非聚簇索引是两种不同的索引类型,它们在数据存储和检索方面有着显著的差异。理解这些差异对于优化数据库性能至关重要。 基

mybatis-plus 雪花算法id冲突问题解决、雪花算法id冲突、雪花算法、id冲突解决、id、id冲突、主键冲突

mybatis-plus 雪花算法id冲突问题解决、雪花算法id冲突、雪花算法、id冲突解决、id、id冲突、主键冲突 问题: k8s里起了多个pod,发现mybatis-plus的雪花算法不同pod之前生成了相同的id 问题原因: mybatis-plus默认id生成器生成datacenterId时是读取的机器网卡mac地址后两个字节,生成一个0~31的数字,这里有很大机率生成相同的data

一次性说清楚,微软Mos国际认证

简介: Microsoft Office Specialist(MOS)中文称之为“微软办公软件国际认证”,是微软为全球所认可的Office软件国际性专业认证,全球有168个国家地区认可,每年有近百万人次参加考试,它能有效证明Word、Excel、PPT、Acess等办公软件技能,是目前企业招聘者建立筛选的标准之一,尤其在外企,相对于国内人手一本的计算机二级证书,MOS认证显得更权威! 考试版

SQLSTATE[23000]主键重复

1、表操作简介 批量更新的时候需要对w_table_1和w_table_2两个表做写操作,所以,在代码中使用事务操作,对这两个表做一致性处理。 因为使用事务做一致性处理,所以,在实行事务之前,认为这两个表的数据是一致的。 2、一致性校验条件 需要对于w_table_1表和w_table_2表的某些属性值作为参照,用于数据一致性校验的条件。 w_table_1表:更新的数据条