提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
转帖|使用教程|编辑:鲍佳佳|2020-08-27 16:16:49.343|阅读 220 次
概述:遵循RDBMS的最佳实践时,在设计数据库以创建和强制执行引用完整性时要始终使用主键,这是数据质量和正确的关系数据库设计的主要要求。在本教程中,我们提供有关主键及其功能的背景信息,并提供代码示例来说明该理论。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
遵循RDBMS的最佳实践时,在设计数据库以创建和强制执行引用完整性时要始终使用主键,这是数据质量和正确的关系数据库设计的主要要求。在本教程中,我们提供有关主键及其功能的背景信息,并提供代码示例来说明该理论。
什么是MySQL中的主键?
主键(PK) 包括一列或列的组合,其作用是为表中的每个记录提供唯一的标识符。主键背后的要点如下:
–一个表只能有一个主键,但它可以是由多列组成的Composite Key。
–因为它唯一地标识表中的每一行,所以主键列不能具有NULL值。
–主键列必须包含唯一值。如果主键是复合键,则主键列中的值组合必须唯一。
– 整型是主键列的最佳选择,因为MySQL处理整数的速度更快。
主键是数据库规范化的基石。我们需要主键的主要原因是为了确保数据完整性并防止数据库中的数据冗余。主键的主要目的 是实现数据库中两个表之间的关系。关系数据库必须具有PK才能将父表与子表相关联,因为父表主键已作为其外键(FK)迁移到子表 。如果数据库中的表与其他任何表都不相关,则不需要主键。
MySQL或MariaDB数据库上缺少主键说明数据库设计很差,因为它导致:
–性能不佳
–重命名数据列会影响其他表
–复制失败等。
这两个唯一键和主键保证了一列的唯一或一组其所定义的列。在 主键约束中有一个自动定义的 唯一键约束。但是,一个表可以有几个 唯一性约束,但只有一个 主键约束。与主键不同,唯一键接受NULL值(每个表一个)。
唯一键可确保该列中的值在整个表格中都是唯一的。如果您尝试添加重复记录,则会收到错误消息。在下面的屏幕截图中,您可以看到我们尝试在表中添加重复记录后在dbForge Studio for MySQL中收到的错误通知。
主键和外键之间的区别
一个外键包含一列或在用于连接两个表的数据库表中的一组列。通常,子表中的外键列是父表中的主键。与主键和唯一键不同,外键可以接受多个NULL值。一个表中可以有多个 外键。要考虑的另一个重要区别是外键不会自动创建聚簇索引或非聚簇索引的事实。您必须手动在外键上创建索引。
在下面的屏幕快照中,表actor具有“主键”列actor_id,而表电影又具有“主键”列film_id。列 actor_id 和 film_id的形式外键FILM_ACTOR表。
该图表示dbForge Studio for MySQL的数据库设计功能,该功能可帮助您轻松完成从数据库结构可视化到主键和外键配置的各种数据库任务。
如何在MySQL中使用主键创建表
通常,表的主键在CREATE TABLE语句中定义。用于创建具有主键的表的MySQL语法如下:
CREATE TABLE table_name ( column1 column_definition, column2 column_definition, ... CONSTRAINT [constraint_name] PRIMARY KEY [ USING BTREE | HASH ] (column1, column2, ... column_n) );
下面的屏幕截图展示了一个在dbForge Studio for MySQL的帮助下在MySQL中使用主键创建表的示例。除其他功能外,IDE允许立即获取快速的对象信息和语法检查。
如何在MySQL中向现有表添加主键
您可以使用ALTER TABLE语句将主键添加到表中。用于向现有表添加主键的MySQL语法如下:
ALTER TABLE table_name ADD CONSTRAINT [ constraint_name ] PRIMARY KEY [ USING BTREE | HASH ] (column1, column2, ... column_n)
下面的屏幕快照演示了一个有效的示例,该示例是在dbForge Studio for MySQL的帮助下向MySQL中的现有表添加主键的。
如何在MySQL中删除主键
要从表中删除主键,可以使用ALTER TABLE语句。从表中删除主键的语法如下:
ALTER TABLE table_name DROP PRIMARY KEY;
请参见屏幕截图,以获取在dbForge Studio for MySQL的帮助下从MySQL表中删除主键的工作示例。它的智能单词和短语补全功能有助于更快,更准确地编码。
使用可视化数据库图管理主键
dbForge Studio for MySQL允许在方便的界面中操作MySQL和MariaDB主键以及外键,而无需编写任何代码。要在表上添加,删除或更改MySQL主键:
1.右键单击要向其添加主键或外键的图上的表。
2.从出现的上下文菜单中,选择要执行的操作。
3.在打开的“配置”窗口中,您可以添加,删除或更改主键或外键设置。
结论
可以创建没有主键的数据库表吗?在MySQL中,不需要每个表都具有主键。但这也不代表应该创建没有主键的数据库。dbForge Studio for MySQL是MySQL和MariaDB数据库开发和管理的通用GUI工具,极大地简化了处理主键约束的过程。慧都作为Deva授权合作商,现dbForge Studio for MySQL正版授权低至1026元!包含多种授权方式供你选择。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn
文章转载自:本文探讨 SQL Server 中 NULL 和空值之间的区别,并讨论如何有效地处理它们。
Unity 是一款功能极其丰富的游戏引擎,允许开发人员将各种媒体集成到他们的项目中。但是,它缺少最令人兴奋的功能之一 - 将 Web 内容(例如 HTML、CSS 和 JavaScript)直接渲染到 3D 场景中的纹理上的能力。在本文中,我们将介绍如何使用 DotNetBrowser 在 Unity3D 中将 Web 内容渲染为纹理。
DevExpress v24.2帮助文档正式发布上线了,请按版本按需下载~
本教程将向您展示如何用MyEclipse构建一个Web项目,欢迎下载最新版IDE体验!
dbForge Studio for MySQL是与专业化MySQL数据库紧密相连的先进开发环境。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@pclwef.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢