华人澳洲中文论坛

热图推荐

    数据库办理工具Navicat 16.1使用教程:选择主键

    [复制链接]

    2022-9-15 07:31:23 51 0

    本文引见Navicat16.1 中选择主键的相干内容。
    Navicat Premium_Navicat_数据库办理工具_Navicat Premium最新版本_Navicat Premium购买-慧都网
    天然键与代理键
    身为数据库设计人员,你将面临的重要抉择是你的表应使用哪一种主键(PK)。假如你讯问任何天天处置数据库的人,无论是数据库办理员、开发人员仍是测试人员,你都会失掉有数的意见和理由。使解决问题的障碍更为繁杂的是,没有一种万能的解决计划。有鉴于此,本系列将引见反对和支持不同类型 PK 的一些缘故。在一切这些缘故的某处,将会疏导你找出 PK 的最好类型,以知足你的组织需要。在第一部份中,咱们将对比两种根本类型的 PK:天然键和代理键。稍后,咱们将探讨是不是使用数据库自动递增功用,以及哪些数据类型(假如有)是最佳的 PK。
    天然键
    天然键是由表中已存在的一个或多个列组成的(例如,它们是数据模型中实体的属性),用于独一标识表中的一笔记录。因为这些列是实体的属性,因此它们实质上拥有业务意义。下列是 Navicat Premium 16 的表设计器中有天然键的表现例。咱们能够经过 “键”列中的钥匙图标轻松找到主键:


    查看一下数据,能够知道 productCode 是有业务义意的:


    代理键
    代理键(或分解键、伪键、实体标识符、非事实型键、技术键等!)是由零碎生成的(GUID、序列、独一标识符等)值,没有业务意义,用于独一标识表中的记载。键自身也能够由一列或多列(即复合键)组成。 咱们能够看到在同一个数据库的表中有一个代理键,定义了一个customerNumber 列作为表的 PK:


    虽然该列不是自动递增,但它是一个与客户实体有关的数字字段:


    那末,为何一个表使用天然键,而另外一个表使用代理键呢?
    产品有一个独一的库存编号是很常见的,这是一个现实的PK。而添加一个额定的数字键只会挥霍磁盘空间,而且简直确定需求在 productCode 列上添加一个用于搜寻的额定索引。但另外一方面,客户通常不会有一个独一标识符。若你必需在数据库中辨识特定客户,可能需求一个长得惊人的列列表。因此,调配一个数字代理键来索引表中每一个列通常要容易患多。
    总结
    在 “选择主键”的第一部份中,咱们讨论了天然主键和代理主键,并斟酌了甚么要素抉择选择哪种。抉择一开始使用天然键仍是代理键是很首要的,由于你选择哪一种主键也将有助于解答一些后续问题,特别是使用代理键。
    假如你想征询Navicat价钱或者征询其余版本相干信息,点击查看。
    Navicat Premium正版购买,Navicat Premium受权价钱征询,Navicat Premium民间受权经销商-慧都网

    发表回复

    您需要登录后才可以回帖 登录 | 立即注册

    返回列表 本版积分规则

    :
    中级会员
    :
    论坛短信
    :
    未填写
    :
    未填写
    :
    未填写

    主题40

    帖子47

    积分224

    图文推荐