当前位置:首页 > MySQL教程 > 正文内容

数据库中的键有哪些范例【MySQL教程】,数据库,键

搜教程4年前 (2019-12-01)MySQL教程180
键在关联数据库中起着主要作用,它是关联数据库模子的主要构成部分。下面本篇文章就来带人人熟悉一些数据库中罕见的键,愿望对人人有所协助。

为何我们须要运用键?

在现实运用中,存储数据所需的表的数目很大,而且差别的表也相互相干。【相干视频引荐:MySQL教程】

另外,表格中存储了大批数据。表一般扩展到存储在个中的数千条纪录,未分类和无构造。

如今要从如许的数据集合猎取任何特定纪录,您将必需运用一些前提,然则假如存在反复数据而且每次尝试经由过程运用某些前提来猎取某些数据时会涌现毛病数据。在取得准确的数据之前有多少次实验?

为了防止这一切,定义键能够轻松辨认表中的任何数据行。

在数据库中,键是用于竖立和标识表之间的关联,也用于唯一标识表中的任何纪录或数据行。它能够是单个属性或一组属性,个中组合能够作为键。

键的范例

下面给人人引见一些罕见范例的键,为了让人人相识这些键,我们来经由过程例子引见一下:

student_id name age college_id phone
1
小华 20 01 1561258xxx
2 小红 21 01 1771258xxx
3 小明 20 02 1831258xxx

能够看出这是一个简朴的Student表,有字段student_id,name,subject_id,age和phone。

候选键(Candidate Key)

候选键被定义为能够唯一地标识表中的每一个纪录的最小字段集。它是一个属性或一组属性,能够充任表的主键,以唯一地标识该表中的每一个纪录。

在上面的Student表中,student_id和phone都是门生表的候选键。下面是候选键的一些特性:

● 候选键永久不能为NULL或为空;它的代价应该是举世无双的。

● 表中除主键以外的其他属性都可被视为候选键,一个表能够有多个候选键。

● 候选键能够是多个列(属性)的组合。

超等键(Super Key)

超等键被定义为表中的一组属性,能够唯一地标识表中的每一个纪录。超等密钥是候选键的超集。

在上面定义的表中,超等键能够是:

● student_id:由于每行student_id数据都是唯一的,因而它能够用于唯一地标识每一行。

● (student_id, name):如今两个门生的姓名能够雷同,但他们的门生ID不能雷同,因而这个组合也能够是一个键。

● phone:由于每一个门生的电话号码都是唯一的,因而,phone也能够是一个键。

所以它们都能够是超等键。

主键(Primary Key)

主键是最适合成为任何表的标识键的候选键,它能够唯一标识表中每条纪录。

关于Student表,我们能够将student_id列作为主键。

复合键(Composite key)

复合键是由两个或多个唯一标识表中任何纪录的属性构成的键。当表的任何单个属性都不能唯一地标识行时,我们就须要运用复合键。

注:配合构成复合键的属性不是自力或零丁的键。

student_id subject_id exam_name mark
1 02 PHP课程 90
2 02 MySQL课程 80

在上面的是一个Score表,用于存储门生在特定科目中获得的分数。

在这个表中student_id,subject_id将构成主键,因而它是一个复合键。

备用键(Alternative key)

在所有候选键中,只会有一个被选为主键,其他键称为备用键或辅佐键。

外键(Foreign Key)

外键是表中的属性值,充任另一个表的主键。因而,外键可用于将两个表链接在一同。

注:须要异常小心肠在外键列中输入数据,由于输入毛病的数据可能使两个表之间的关联无效。

以上就是本篇文章的全部内容,愿望能对人人的进修有所协助。更多精彩内容人人能够关注ki4网相干教程栏目!!!

以上就是数据库中的键有哪些范例的细致内容,更多请关注ki4网别的相干文章!

扫描二维码推送至手机访问。

版权声明:本文由搜教程网发布,如需转载请注明出处。

本文链接:https://www.sojiaocheng.cn/15742.html

标签: 数据库
分享给朋友:

“数据库中的键有哪些范例【MySQL教程】,数据库,键” 的相关文章

mysql群集索引的有哪些瑕玷【MySQL教程】,mysql,缺点,哪些

 聚簇索引并非一种零丁的索引范例,而是一种数据存储体式格局(不是数据构造,而是存储构造),细致细节依赖于其完成体式格局,但innodb的聚簇索引实际上是在同一个构造中保留了btree索引和数据行。   当表有索引时,它的数据行实际上存放在索引的叶子页中,属于聚簇示意数据行和相邻的键值紧凑地存储在一...

MySQL挑选适宜的引擎及引擎转换的详解【MySQL教程】,MySQL,引擎,选择

我们怎样挑选适宜的引擎?这里简朴归结一句话:“ 除非须要用到某些InnoDB不具备的特征,而且没有其他要领能够替换,不然都应该优先挑选InnoDB引擎。” 除非万不得已,不然不发起夹杂运用多种存储引擎,不然能够带来一系列庞杂的题目以及一些潜伏的BUG。 运用差别引擎斟酌的几大要素:...

MySQL怎样挑选适宜的引擎以及举行引擎的转换【MySQL教程】,MySQL,引擎,合适

我们怎样挑选适宜的引擎?这里简朴归结一句话:“ 除非须要用到某些InnoDB不具备的特征,而且没有其他要领能够替换,不然都应该优先挑选InnoDB引擎。” 除非万不得已,不然不发起夹杂运用多种存储引擎,不然能够带来一系列庞杂的题目以及一些潜伏的BUG。 运用差别引擎斟酌的几大要素:...

mysql 设置参数详解【MySQL教程】,mysql,详解,配置

[client] port = 3306 socket = /var/lib/mysql/mysql.sock [mysql]#这个设置段设置启动MySQL效劳的前提;在这类状况下,no-auto-rehash确保这个效劳启动得比较快。 no-auto-rehash [mysq...

MySQL两种引擎的有什么区别【MySQL教程】,MySQL,区别,什么

Innodb引擎 Innodb引擎供应了对数据库ACID事件的支撑,而且完成了SQL规范的四种断绝级别。该引擎还供应了行级锁和外键束缚,它的设想目的是处置惩罚大容量数据库系统,它本身实在就是基于MySQL背景的完全数据库系统,MySQL运行时Innodb会在内存中竖立缓冲池,用于缓冲数据和索引。然...

Mysql中的Datetime和Timestamp不同之处【MySQL教程】,Timestamp,Datetime,Mysql

mysql中用于示意时刻的三种范例date, datetime, timestamp (如果算上int的话,四种) 比较轻易殽杂,下面就比较一下这三种范例的异同 相同点 都能够用于示意时刻都呈字符串显现 不同点 1.望文生义,date只示意'YYYY-MM-DD'情势的日期,dateti...