数据库原理—超键、候选键、主键、外键
来源:互联网 发布:人物简笔画软件 编辑:程序博客网 时间:2024/06/04 20:45
序言—最近看数据库系统原理课本,有一些小的知识点看的确实让人傻傻的分不清,即使学心理学的我,也不知道它说的是什么,昨天小组开会讨论,大家的理解也各有不同,其中的主键、候选键、超键、外键这些看似很小的概念,讨论了整整半个小时。下面让我给大家说说我的理解!
--------------------------------------------------------------------首先大家了解一下什么是关键码,以及关键码在不同场合下代表着什么。
在数据结构中关键码指的是数据元素中能起标识作用的数据项,例如,书目信息中的登陆号和书名等。其中能起唯一标识作用的关键码称为“主关键码”,如登陆号;反之称为“次关键码”,如书名,作者名等。通常一个数据元素只有一个主码,但可以有多个次码。
在数据库中的关键码(key,简称键)由一个或多个属性组成。在实际使用中,有下列几种键。
(1)超键(Super Key)
(2)候选键(Candidate Key)
(3)主键(Primary Key)
(4)外键(Foreign Key)
做题当中通常会问到找出某关系中的关键码,此时这个关键码为主关键码,就是起唯一标识作用的那个码。
此时这个关键码他决定整个关系了,意思就是说,由它可以推导出关系中其他的属性
例题:
关系模式R(A,B,C,D),F是R上成立的FD集,F={AB→C,D→A}
因为D决定A,所以AB可以决定C 就相当于DB决定C,所以DB可以决定A和C,即DB可以决定整个R关系
分清不同场合下关键码的含义很重要
课本上给各种键的定义如下:(所有的键都是一个集合,这个集合可以包括一个集,也可以是多个集)
超键(super key):在关系中能惟一标识元素属性的集称为关系模式的超键。
候选键:(Candidate Key):不含有多余属性的超键称为候选键。也就是说在候选键中在删除属性,就不是键了。
主键(Primary Key):用户选作元组标识的候选键为主键。一般不佳说明,键就是主键。
外键(Froeign Key):如果模式R中的属性k是其他模式的主键,那么k在模式R中称为外键。
课本上的定义过于笼统,下面我用一张学生成绩信息表给大家详细的说一下:
学生成绩信息表中有(学号、姓名、性别、年龄、系别、专业等)
超键:
学生表中含有学号或者身份证号的任意组合都为此表的超键。如:(学号)、(学号,姓名)、(学号,性别)等
我们假设学生的姓名唯一,没有重名的现象。
学号唯一,所以是一个超键
姓名唯一,所以是一个超键
(姓名,性别)唯一,所以是一个超键
(姓名,年龄)唯一,所以是一个超键
(姓名,性别,年龄)唯一,所以是一个超键
候选键:
学号唯一,而且没有多余属性,所以是一个候选键
姓名唯一,而且没有多余属性,所以是一个候选键
(姓名,性别)唯一,但是单独姓名一个属性就能确定这个人是谁,所以性别这个属性就是多余属性,所以(姓名,性别)不是候选键
(姓名,年龄),(姓名,性别,年龄)同上,也不是候选键
主键:
主键就是候选键里面的一个,是人为规定的,例如学生表中,我们通常会让“学号”做主键,学号能唯一标识这一个元组。
外键:外键就很简单了,假如我们还有一个教师表,每个教师都有自己的编号,假设老师编号在老师这个层次中是主键,在学生表中它就是外键。
这样说了大家是不是就很明确了,总结一点,不会就和小组讨论,知识碰撞就会有后代!
- 数据库原理—超键、候选键、主键、外键
- 数据库:超键、候选键、主键、外键
- 【Dongle】【数据库】超键、候选键、主键、外键
- 数据库 之 超键、候选键、主键、主属性、外键
- 超键、候选键、主键、外键
- 菜鸟学数据库(四)——超键、候选键、主键、外键
- 菜鸟学数据库(四)——超键、候选键、主键、外键
- 数据库——彻底明白超键、候选键、主键、外键
- 菜鸟学数据库(四)——超键、候选键、主键、外键
- 超键,候选键,主键
- 候选键 主键 超键
- 超键 候选键 主键
- 超键,候选键,主键
- 主键,候选键,超键
- 超键、主键、候选键
- 超键,候选键,主键
- 数据库的范式,主键,外键,候选键
- 数据库 之 理解 超键、候选键、主键、主属性、外键
- 29-动画
- 运营——线上引流9大方法
- 30-依赖注入
- Java 并发开发:Lock 框架详解
- 模块化操作
- 数据库原理—超键、候选键、主键、外键
- sublime插件html-css-js Prettify 实现代码格式化
- POJ
- 如何为 CIOWrapper::Select 编写类型转换器
- 31-依赖注入-2
- 消息队列探秘 – RabbitMQ 消息队列介绍
- 编译器之乱
- 32-路由
- 生产环境 hadoop集群监控工具--ganglia的搭建(YUM的方式)