`

主键与外键的区别

阅读更多
主键与外键的区别
2008-04-24 16:55

转载出处:http://hi.baidu.com/wjj1010/blog/item/3e7e2b31f32c9b1ceac4af59.html

 

主键是定义一个表中起主要作用的数据项,这些数据项的数据在表中是唯一的,同时系统按主键为表建立索引。

外键是定义一个表中的某数据项的数据,要参照另一个表的主键数据。既没有在另一个表的主键数据中出现的数据,不允许在这个表的外键数据项中出现。

主键:表中记录的唯一标识

外键:依赖于别的表的数据

唯一键:在表中唯一

键是一个或多个字段的组合

唯一键:可以确定一条记录的字段(或字段组合),一张表可以有多个唯一键,正如可以识别你的身份的可以是身份证,学生证,军人证

主键:你把唯一键的一个选做主键,一张表只能有一个主键

外键:所定义的外键是另一张表的主键,

主键:表中记录的唯一标识,外键:依赖于别的表的数据,唯一键:在表中唯一。

主键和唯一键的一个区别:主键是不允许为NULL的,唯一键则可以,当然你可以加上NOT NULL来限制它

主键:能够唯一表示数据表中的每个记录的字段或者字段的组合就称为主键。一个主键是唯一识别一个表的每一行记录,但这只是其作用的一疗分,主键的主要作用是将记录和存放在其他表中的数据进行关联,在这一点上,主键是不同表中各记录间的简单指针,主键约整就是确定表中的每一条记录,主键不能是空值,唯一约束是用于指定一个或多个列的组合值具有唯一性,以防止在列中输入重复的值,所以,主键的值对用户而言是没有什么意义,并且和它赋予的值也没有什么特别联系。

外键:

若有两个表A,B,C是A的主键,而B中也有C字段,则C就是表B的外键,外键约束主要用来维护两个表之间数据的一致性。

A为基本表,B为信息表。

在数据库中,常常不只是一个表,这些表之间也不是相互独立的,不同的表之间需要建立一种关系,才能将它们的数据相互沟通,而在这个沟通过程中,就需要表中有一个字段作为标志,不同的记录对应的字段取值不能相同,也不能是空白的,通过这个字段中不同的值可以区别各条记录,就像我们区别不同的人,每个人都有名字,但它却不能作为主键,因为人名很容易出现重复,而身份证号是每个人都不同的,所以可以根据它来区别不同的人,数据库的表中作为主键的段段就要像人的身份证号一样,必须是每个记录的值都不同,这才能根据主键的值来确定不同的记录。

什么是外键?

说明你的表A中的某项a,是引用表B的某列b

为什么要使用外键?
RDBMS的基本概念,可以维护数据库的完整。

如何来用,涉及到数据库的定义。

唯一约束和主键的区别是什么?

唯一性约束

唯一性约束所在的列允许空值,但是主键约束的列不允空值。

可以把唯一约束放在一个或者多个列上,但是,唯一性约束所在的列并不是表的主键列。

唯一性约束强制在指定的列上创建一个唯一性索引,在默认情况下,创建唯一性的非聚簇索引,但是,也可以指定所创建的索引是聚簇索引。

主键:

用于标识某行而且与之相关

是不可能更新

不应该允许空

唯一域/字段

用于作为访问某行的可选手段。

只要唯一就可以更新

可以为空

注意唯一和主键的区别,它们都是创建一个唯一的索引,一个表格仅含有一个主键约束列,但是,它有可能在其他列中含有许多的唯一约束。

分享到:
评论

相关推荐

    数据主键和外键的错误总结

    4. **数据类型不匹配**:外键的数据类型应该与所引用的主键的数据类型相匹配。不匹配的数据类型会破坏数据的一致性和完整性。 - **解决方法**:确保外键和主键的数据类型完全一致。 5. **重载的外键**:当一张表...

    主键和外键.doc

    ### 主键与外键详解 #### 一、主键与外键的概念 在关系型数据库中,每条记录都有若干个属性(字段),如果其中的一个属性组能够唯一地标识一条记录,那么这个属性组就可以成为一个主键。例如: - **学生表**...

    主键与外键的创建

    本文将深入探讨主键与外键的创建,帮助初学者更好地理解这两个概念。 **主键(Primary Key)**是用于唯一标识数据库表中每条记录的字段或一组字段。主键的特性包括: 1. 唯一性:主键的值在表中必须是唯一的,不...

    深入理解数据库关系:主键与外键的选择与应用

    主键和外键是数据库设计中不可或缺的部分。正确选择和使用它们可以确保数据的完整性、一致性和安全性。在实际开发中,应根据业务需求和数据模型仔细设计主键和外键,以实现最优的数据管理和性能。 本文通过详细解释...

    如何区分SQL数据库中的主键与外键

    主键和外键与索引有所不同。索引是一种数据库优化工具,用于加快数据检索速度。主键通常会自动创建一个唯一索引,但主键本身是用于确保数据完整性,而索引的主要目的是提高查询性能。一个表可以有多个唯一索引,但...

    oracle表主键和外键的区别

    在数据库设计中,主键和外键是两个关键的概念,它们在确保数据的完整性和一致性方面发挥着重要作用。主键和外键都是Oracle等关系型数据库管理系统(RDBMS)中的重要概念。 **主键**是定义一个表中起主要作用的数据项...

    关于关系型数据库基本知识(主键、外键、一对一、一对多、多对一等).docx

    主键和外键本身自带唯一性约束,但它们的主要目的是确保数据完整性,而索引的目的是提升查询性能。 关系型数据表之间存在多种关联关系,包括一对一、一对多和多对多。一对一关系相对少见,一般出现在将大型表拆分为...

    数据库主键和外键设计的原则.doc

    数据库主键和外键设计的原则

    数据完整性、主键和外键、数据类型

    - **参照完整性**:参照完整性涉及到表与表之间的关系,即当两个表通过公共字段(通常为外键)关联时,确保这些字段之间的一致性。如果一个表的外键指向另一个表的主键,则在删除或更新主表中的主键值时,需要考虑对...

    快速理解MySQL中主键与外键的实例教程

    在MySQL数据库中,主键和外键是关系型数据库设计中的关键概念,它们用于确保数据的一致性和完整性。本文将深入解析这两个概念...在学习和使用MySQL时,理解和熟练掌握主键与外键的概念及其用法是非常基础且关键的一步。

    SQL中的主键和外键.doc

    #### 一、主键与外键的概念 在关系型数据库中,每条记录都包含若干个属性。如果其中的一个属性组能够唯一地标识一条记录,则该属性组可以被称为“主键”。例如: - 在学生表中(学号,姓名,性别,班级),学号是...

    oracle_创建表空间、表、主键、外键、序列.docx

    在Oracle数据库管理系统中,创建表空间、表、主键、外键和序列是数据库设计的基础操作。以下是对这些概念的详细解释以及如何在Oracle中执行这些操作。 **创建表空间** 表空间是Oracle数据库中存储数据文件的地方。...

    SQL的主键和外键的作用.doc

    主键和外键的区别主要体现在它们的功能和约束上。主键是表内的唯一标识,不允许重复且不能为空,主要用于确保单个表的实体完整性;而外键是表间的关联,可以有重复值,也可以为空,主要用来维护参照完整性,即两个表...

    主键、外键、唯一、约束区别

    唯一性约束与主键的主要区别在于: 1) **空值(NULL)**:唯一性约束的列可以接受空值,而主键列则不能。 2) **角色**:主键是表的标识符,而唯一性约束只是提供另一种方式来唯一识别记录,但不是必需的。 3) **索引...

    删除数据库的所有表、存储过程、主键、外键、索引等

    3. 删除主键和外键:在删除表时,与之相关的主键和外键约束通常会自动删除。但如果需要单独处理,可以使用`ALTER TABLE`语句来删除主键和外键约束。 4. 删除索引:在删除表之前,可以使用`DROP INDEX`语句删除单个...

    24.Oracle的主键和外键1

    在数据库设计中,主键和外键是确保数据完整性和一致性的重要工具,特别是在Oracle这样的关系型数据库管理系统中。主键和外键的概念以及它们的作用对于理解数据库的结构和操作至关重要。 首先,主键是表的一个或多个...

    oracle建表练习(主键外键)

    外键用于在一个表中建立与另一个表中主键的链接,保证数据的引用完整性。通过外键,我们能够建立表与表之间的关联关系。在本次练习中,我们为course表、score表和teacher表分别添加了外键约束。 在course表中,我们...

Global site tag (gtag.js) - Google Analytics