数据库中为什么我们需要使用键-创新互联
这篇文章将为大家详细讲解有关数据库中为什么我们需要使用键,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
创新互联基于成都重庆香港及美国等地区分布式IDC机房数据中心构建的电信大带宽,联通大带宽,移动大带宽,多线BGP大带宽租用,是为众多客户提供专业服务器托管报价,主机托管价格性价比高,为金融证券行业德阳服务器托管,ai人工智能服务器托管提供bgp线路100M独享,G口带宽及机柜租用的专业成都idc公司。在实际应用中,存储数据所需的表的数量很大,并且不同的表也彼此相关。
此外,表格中存储了大量数据。表通常扩展到存储在其中的数千条记录,未分类和无组织。
现在要从这样的数据集中获取任何特定记录,您将必须应用一些条件,但是如果存在重复数据并且每次尝试通过应用某些条件来获取某些数据时会出现错误数据。在获得正确的数据之前有多少次试验?
为了避免这一切,定义键可以轻松识别表中的任何数据行。
在数据库中,键是用于建立和标识表之间的关系,也用于唯一标识表中的任何记录或数据行。它可以是单个属性或一组属性,其中组合可以作为键。
下面给大家介绍一些常见类型的键,为了让大家了解这些键,我们来通过例子介绍一下:
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)
外键是表中的属性值,充当另一个表的主键。因此,外键可用于将两个表链接在一起。
注:需要非常小心地在外键列中输入数据,因为输入错误的数据可能使两个表之间的关系无效。
关于数据库中为什么我们需要使用键就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
标题名称:数据库中为什么我们需要使用键-创新互联
文章地址:http://cdiso.cn/article/gecss.html