`
Fhappy
  • 浏览: 70241 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

数据库中主键与外键的理解

 
阅读更多

 

数据库中主键与外键的理解

 

在关系型数据库中,数据结构有逻辑结构和物理结构。物理结构指存储在物理介质上的数据文件的结构。逻辑结构即关系,也就是一张张的二维表。表中的一列即为一个字段(属性),代表的是实体的一个属性。表中的一行即为一条记录。如:学生表中(学号,姓名,年龄,性别),在该表中有4个字段,代表学生实体的4个属性。表中的一行数据(001,张三,男,20),即一条记录,表示的是张三这个学生的信息。

在表中,用来唯一标识一条记录的字段集,叫做主关键字或者主关键码,简称主键(主码),而主键包含的属性(字段)叫做主属性,其他的则为非主属性。

在这里说明一下,既然是“字段集”,那么主键就可能是一个字段或者多个字段。例如上面的学生表,用下划线表示的学号,就是能唯一标识一个学生的字段,学号字段就是该表的主键。由于学生的姓名重名是不可避免的,所以一般不用姓名来作为唯一标识一个学生的主键。

再举个例子说明一下多个字段作为主键。例如学生选课表(学号课程号,成绩),在学生选课表中,主关键字是(学号课程号)。原因显而易见,一个学生可以选择多门课程,一个课程可以被多个学生选择。如果单单是用学号或者课程号,都不足以唯一标识一条记录。

对于外键的理解,在这里我也举个例子。假设有两个表,学生表(学号,姓名,年龄,性别,专业编号),专业信息表(专业编号,专业名称,专业备注信息)。学生表中主键是学号,专业信息表中主键是专业编号。学生表中的非主属性专业编号恰好是专业信息表中的主键。我们就称这个专业编号是学生表的外键。像这样,一个表的非主属性是另一个表的主属性,该非主属性就是外键。

数据库的约束有三种,实体完整性约束、参照完整性约束和用户自定义约束。

1.实体完整性约束指的是主键不能为空,如果主键为空了还怎么唯一标识一条记录。

2.参照完整性约束,即外键的约束,某一外键的值必须在它引用的主键字段中存在。如,学生表中专业编号属性的值,必须都存于专业信息表中的专业编号属性中。想一想也就明白了,一个学生(大学生)怎么可能属于一个不存在的专业。

3.用户自定义完整性约束,指的是一些用户自己设定的约束,例如字段是否可以为空,字段值的取值范围(如:人的性别只能取男、女)。

 

1
3
分享到:
评论

相关推荐

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

    总之,理解并正确使用主键和外键是数据库设计的基础,它们不仅确保了数据的唯一性,还通过外键建立了表间的关系,从而保证了数据的一致性。良好的主键和外键设计对于数据库性能和数据完整性至关重要,因此在设计...

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

    本文通过详细解释主键和外键的概念、选择原则和实践应用,希望能够帮助读者更好地理解和运用这些数据库设计的基本元素。在设计数据库时,始终牢记数据完整性和业务逻辑,以构建健壮、可维护的数据架构。

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

    主键是关系型数据库中至关重要的概念,它是表中能够唯一标识一条记录的属性或属性组。主键不允许有重复值且不能为空,起到保证数据完整性的关键作用。一个表只能有一个主键,如学生表中的学号可以作为主键,确保每个...

    主键与外键的创建

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

    java获取数据库主外键

    在Java开发中,有时我们需要动态地获取数据库的元数据信息,比如表结构、主键、外键等。本文将详细介绍如何使用Eclipse和JDBC API来获取MySQL数据库中的表结构以及主外键信息。 #### 一、准备工作 在开始之前,请...

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

    这个过程通常涉及删除数据库中的所有表、存储过程、主键、外键以及索引等对象。下面我们将详细探讨这些概念及其在数据库中的作用,以及如何安全有效地执行删除操作。 首先,让我们逐一了解这些数据库元素: 1. 表...

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

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

    数据库技术与应用 设置成绩表主键和外键约束-A学习任务书.doc

    在《数据库技术与应用》课程中,通过使用SQL Server Management Studio (SSMS) 进行实际操作,学生将能够更深入地理解和掌握如何在数据库中设置主键和外键约束。这不仅可以提高数据管理能力,也有助于理解数据库之间...

    24.Oracle的主键和外键1

    主键和外键的概念以及它们的作用对于理解数据库的结构和操作至关重要。 首先,主键是表的一个或多个字段,其值在表内是唯一的,且不能为NULL。主键的主要作用包括: 1. **体现数据结构设计的合理性**:通过主键,...

    oracle建表练习(主键外键)

    总结来说,通过本次练习,初学者不仅能够掌握Oracle数据库中创建表的基本语句,还能够了解到主键和外键在关系型数据库中的重要性,并且通过具体的实例,学会如何在实际操作中应用这些知识。这对于未来进行更复杂的...

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

    在数据库设计中,主键、外键、唯一性和约束是至关重要的概念,它们共同确保了数据的准确性和一致性。下面将详细阐述这些概念及其区别。 首先,**主键(Primary Key)**是数据库中用于唯一标识一条记录的关键字段。...

    如何处理数据库中的外键

    在复杂的数据库设计中,理解和正确处理外键至关重要。以下是一些关于如何处理数据库中外键的重要知识点: 1. **外键定义**:外键(Foreign Key)是一个字段或一组字段,其值参照另一个表(主表)中的主键值。它建立...

    数据库技术与应用 外键约束-A学习任务书.doc

    1. 理解外键的概念及其在数据库中的作用。 2. 掌握如何在SQL Server Management Studio (SSMS) 中创建和管理外键约束。 3. 学会如何通过外键约束实现不同表之间的关联,以保证数据的一致性。 4. 学习如何处理外键...

    数据库技术与应用 外键约束-D习题与作业.doc

    4. **数据关系可视化**:外键帮助我们理解不同表之间的关系,尤其是在大型数据库设计中,这使得数据模型更加清晰。 在实际应用中,如使用SQL Server Management Studio (SSMS) 设置外键约束,通常涉及以下步骤: 1...

    oracle创建表空间、表、主键、外键、序列

    以上就是在Oracle数据库中创建表空间、表、主键、外键和序列的基本步骤和示例。这些操作是数据库设计和管理的核心部分,理解和掌握它们对于有效地组织和管理数据至关重要。在实际应用中,还需要考虑性能优化、权限...

    (mysql面试题)MySQL中的索引、主键和外键的概念及其作用及代码展示.txt

    索引、主键和外键是MySQL中非常重要的概念,它们对于提高数据库的性能、保证数据的完整性和一致性具有至关重要的作用。合理使用这些特性可以帮助开发者构建出更加高效、可靠的应用程序。理解这些概念并能够在实际...

    数据库技术与应用 设置学生表外键约束-A学习任务书.doc

    - 主键与外键的区别:主键是某个表中唯一标识每条记录的字段,而外键则是引用其他表的主键。 - 引用完整性:外键约束确保了数据的引用完整性,即只有已存在于参照表中的值才能在引用表中出现。 2. 使用SSMS创建...

    如何获取SqlServer2005表结构(字段,主键,外键,递增,描述)

    在SQL Server 2005中,获取表结构是数据库管理员和开发人员经常进行的操作,这有助于理解数据库的设计和管理数据。以下是如何获取一个表的字段、主键、外键、递增字段以及字段描述的详细步骤。 1. 获取表的基本字段...

    Hibernate 一对一关联映射(主键关联VS唯一外键关联)

    唯一外键关联是指在一方实体中增加一个字段,该字段作为另一方实体的主键的外键,且该外键是唯一的,从而形成一对一的关系。 2. 实现方式: - XML配置:使用`<one-to-one>`元素,`property-ref`属性指明关联的...

Global site tag (gtag.js) - Google Analytics