主钥匙与候选密钥
尽管主要键是从候选密钥中选择的,但主键与其他候选密钥之间存在一些差异,将在本文中详细讨论。数据库设计是维护和存储数据时应进行的最重要活动之一。在这个设计过程中,不同表必须建立许多关系。为了在数据库中访问这些表,在现代数据库设计语言中使用了不同类型的密钥mysql,MSACCESS,SQLITE等。在这些钥匙中,候选密钥和主要键在数据库设计实践中变得至关重要。
什么是候选钥匙?
候选密钥是数据库表中的单列或一组列,可用于独特地识别任何数据库记录,而无需参考任何其他数据。数据库的每个表都可以具有一个或多个候选密钥。可以使用功能依赖性创建一组候选密钥。候选密钥中有一些重要功能。他们是;
•候选密钥在域内应该是唯一的,并且不应包含任何空值。
•候选密钥绝不应更改,并且必须对实体的特定事件保持相同的价值。
候选密钥的主要目的是帮助识别大桌子中数百万行的一行。每个候选密钥都有资格成为主要钥匙。但是,在所有候选钥匙中,最重要,最特殊的候选密钥将成为桌子的主要钥匙,它是候选钥匙中最好的钥匙。
什么是主要钥匙?
主要关键是表格的最佳候选钥匙,用于唯一识别记录存储在桌子中。在数据库中创建新表时,我们被要求选择一个主键。因此,选择表的主要键是数据库设计人员应采取的最关键决策。确定主键时应考虑的最重要的约束是表的选定列仅包含唯一值,并且不应包含任何空值。设计表时通常使用的一些主要密钥是社会安全号码(SSN),ID和国家身份证编号(NIC)。
程序员应该记住要仔细选择主键,因为很难更改。因此,根据程序员的说法,创建主密钥的最佳实践是使用内部生成的主键,例如由自动数字数据类型创建的MS Access的记录ID。如果我们尝试将记录插入具有复制现有记录的主键的表中,则插入将失败。主要钥匙值不应继续变化,因此保留静态主键更为重要。
主钥匙和候选密钥之间有什么区别?
•候选密钥是列为唯一的列,而主键是唯一标识记录的列。
•没有候选密钥的表不代表任何关系。
•数据库中的表可以有许多候选键,但是表只有一个主键。
•尽管主要键是候选密钥之一,但有时它是唯一的候选密钥。
•选择了主键后,其他候选键变成独特的钥匙。
•实际上,候选密钥可以包含零值,尽管目前不包含任何值。因此,候选密钥不符合主键的资格,因为主键不应包含任何空值。
•目前唯一的候选密钥也可能包含重复值,以取消候选密钥的资格成为主要密钥。
概括:
主要密钥与候选密钥
候选密钥和主密钥是设计数据库的必需密钥,以便在记录中唯一识别数据并在数据库表中建立关系。表仅应包含一个主键,并且可能包含一个以上的候选密钥。如今,大多数数据库能够自动生成自己的主键。因此,主要密钥和候选密钥为数据库管理系统。
图像提供:
发表评论