数据库——彻底明白超键、候选键、主键、外键
知识就是一遍又一遍的学,每次的学习都有不一样的收获和感受,然后得到了收获就该是分享的过程了,很多人都不易区分超键、候选键、主键、外键这四个键的区别,下来为了大家少走弯路,特总结了此篇博客!
1、书中的定义
超键(super key): 在关系中能唯一标识元组的属性集称为关系模式的超键
候选键(candidate key): 不含有多余属性的超键称为候选键。也就是在候选键中,若再删除属性,就不是键了!
主键(primary key): 用户选作元组标识的一个候选键程序主键
外键(foreign key):如果关系模式R中属性K是其它模式的主键,那么k在模式R中称为外键。
2、咱们创建简单的两个表,说明一下各个键!
学生信息(学号 身份证号 性别 年龄 身高 体重 宿舍号)和 宿舍信息(宿舍号 楼号)
超键:只要含有“学号”或者“身份证号”两个属性的集合就叫超键,例如R1(学号 性别)、R2(身份证号 身高)、R3(学号 身份证号)等等都可以称为超键!
候选键:不含有多余的属性的超键,比如(学号)、(身份证号)都是候选键,又比如R1中学号这一个属性就可以唯一标识元组了,而有没有性别这一属性对是否唯一标识元组没有任何的影响!
主键:就是用户从很多候选键选出来的一个键就是主键,比如你要求学号是主键,那么身份证号就不可以是主键了!
外键:宿舍号就是学生信息表的外键
数据库——彻底明白超键、候选键、主键、外键相关推荐
- 数据库中什么是主键,什么是外键?
数据库中什么是主键,什么是外键? 作者:不染丹心 来源:博客园 发布时间:2009-12-17 22:57 阅读:128 次 原文链接 [收藏] 这需要理清几个概念: 1)候选键: 关 ...
- SQL语句 -非空约束 - 唯一约束 - 主键约束 - 默认约束 -外键约束
文章目录 约束 约束介绍和分类 非空约束 唯一约束 主键约束 默认约束 案例练习 外键约束 约束 约束介绍和分类 约束的概念: 约束是作用于表中列上的规则,用于限制加入表的数据 约束的存在保证了数据库 ...
- 外键查询_详解MySQL数据库删除所有表的外键约束、禁用外键约束相关脚本
概述 数据库的外键虽然能保证数据数据一致性和完整性,但是也一定程度地影响了数据更新的性能.在开发中,我们使用PowerDesigner建立物理数据模型时,为了结构的清晰,增加可读性,会创建表与表之间的 ...
- 数据库表设置外键VS不设置外键,哪个更好?
转发自极光轻学,原文链接:https://jiguangqingxue.com/info/24 必须设置外键VS不要设置外键的争论 数据库表到底要不要设置外键约束,一直具有非常大的争议.我认为完全没有 ...
- mysql主外键添加_mysql 增加外键:(+创建主键)
MySQL是开源免费的数据库软件,是一款很优秀的软件,作为我们的学生或者科研人员在开发软件的时候,最好用也是最省钱的.所以MySQL学好是至关重要的! SQL语言包含4个部分: ※ 数据定义语言(DD ...
- mysql设置外键_mysql怎么增加外键
mysql增加外键的方法:1.在CREATE TABLE语句中,通过FOREIGN KEY关键字来添加外键:2.在ALTER TABLE语句中,通过ADD和FOREIGN KEY关键字来添加外键. M ...
- mysql的外键_mysql如何查看外键
展开全部 查看mysql外键方式主要是通过第三方工具或者62616964757a686964616fe4b893e5b19e31333431373233是sql语句,主要有以下三种方式 1.使用Nav ...
- 是否有必要使用外键?为什么不用外键?
什么是外键: 如果一个实体的某个字段指向另一个实体的主键,就称为外键.被指向的实体,称之为主实体(主表),也叫父实体(父表).负责指向的实体,称之为从实体(从表),也叫子实体(子表) 外键的作用: ① ...
- mysql 外键详解_mysql外键详解
1.1.MySQL中"键"和"索引"的定义相同,所以外键和主键一样也是索引的一种.不同的是MySQL会自动为所有表的主键进行索引,但是外键字段必须由用户进行明确 ...
- mysql表定义外键语法_mysql设置外键的语法怎么写?
2012-08-31 回答 mysql外键设置详解 (1) 外键的使用: 外键的作用,主要有两个: 一个是让数据库自己通过外键来保证数据的完整性和一致性 一个就是能够增加er图的可读性 有些人认为外键 ...
最新文章
- MySQL Cluster安装
- 自整理IE6,IE7,IE8,Firefox兼容方案。。。
- 在 MyEclipse 中配置 tomcat
- 淘淘商城之技术选型、开发工具和环境、人员配置
- 【PAT Advanced Level】1011. World Cup Betting (20)
- Atitit..jdk java 各版本新特性 1.0 1.1 1.2 1.3 1.4 1.5(5.0) 1.6(6.0) 7.0 8.0 9.0 attilax 大总结...
- Java中对象及常量,局部变量,全局变量的存储位置
- (Sublime Text 3)完美替换 GAMS 难用的编辑器
- python基础篇--从零开始(下)
- 信创办公--基于WPS的Word最佳实践系列(图片背景的删除)
- git 上传文件过大问题
- SuiteScritp 2.0开发实例 自定义工单+领料单 单据流转 打印
- 操作演示 | 如何将示波器波形直接保存到PC端
- 学计算机减肥,电脑瘦身(教你一分钟让电脑瘦身)
- 【PTA题目】7-1 计算摄氏温度 (5 分)
- 金蝶erp系统服务器端,金蝶erp系统能够带来哪些服务
- Safari 浏览器 16.0 发布(含独立安装包下载)
- python如何办公自动化培训_用python进行办公自动化都需要学习什么知识呢?
- Maven学习之推送本地jar到远程仓库
- [附源码]Python计算机毕业设计SSM基于Java的班主任管理系统的实现(程序+LW)