news 2026/4/29 14:27:23

关系数据库设计中用于推导函数依赖的Armstrong公理系统 (Armstrong Axioms)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
关系数据库设计中用于推导函数依赖的Armstrong公理系统 (Armstrong Axioms)

最常见的情况是指数据库理论中的 Armstrong 公理(通常被简称为 ARM 公理),它是推导函数依赖的核心规则。另一个较窄的定义是指 ARM 处理器架构中关于内存并发操作的原子公理。 [1, 2, 3]
以下为您详细介绍最常用的数据库 Armstrong 公理:

数据库中的 Armstrong 公理

它是关系数据库中用于推导函数依赖(Functional Dependency)的一套推理规则,由 W.W. Armstrong 在 1974 年提出。 [2]

1. 三大基本规则(核心)

这三条规则是完备的,可以推导出所有可能的依赖关系: [3]

  • 自反律 (Reflexivity):如果属性集Y YYX XX的子集(Y ⊆ X Y \subseteq XYX),那么X → Y X \to YXY一定成立。
  • 直白解释:就像照镜子,如果你知道一个人的(姓名、性别),你自然就知道他的(姓名)。
  • 增广律 (Augmentation):如果X → Y X \to YXY成立,且Z ZZ是任意属性集,那么( X , Z ) → ( Y , Z ) (X, Z) \to (Y, Z)(X,Z)(Y,Z)也成立。
  • 直白解释:如果你凭学号能找到姓名,那么凭(学号、性别)也一定能找到(姓名、性别)。
  • 传递律 (Transitivity):如果X → Y X \to YXYY → Z Y \to ZYZ成立,那么X → Z X \to ZXZ也成立。
  • 直白解释:学号决定班级,班级决定班主任,那么学号就能决定班主任。

2. 三大推导规则(常用技巧)

基于基本规则,我们常使用以下更方便的结论:

  • 合并律 (Union):由X → Y X \to YXYX → Z X \to ZXZ,可以得出X → ( Y , Z ) X \to (Y, Z)X(Y,Z)
  • 分解律 (Decomposition):由X → ( Y , Z ) X \to (Y, Z)X(Y,Z),可以得出X → Y X \to YXYX → Z X \to ZXZ
  • 伪传递律 (Pseudo-transitivity):由X → Y X \to YXY( W , Y ) → Z (W, Y) \to Z(W,Y)Z,可以得出( X , W ) → Z (X, W) \to Z(X,W)Z

计算机架构中的 ARM 原子公理

如果您是在研究 ARMv8 处理器架构,它指的是 多重拷贝原子性公理 (Multi-copy Atomic Axioms)。 [1]

  • 核心逻辑:规定了在多核 CPU 运行环境下,一个核心对内存的写入操作何时能被其他核心观察到,这对于编写高性能的底层并发代码至关重要。

[1] https://www.reddit.com
[2] https://baike.baidu.com
[3] https://cloud.tencent.com

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/29 14:27:09

AI Agent叙事引擎:将数据转化为故事,提升技术报告可读性与价值

1. 项目概述:为AI Agent注入叙事灵魂在AI Agent(智能体)的开发浪潮中,我们常常聚焦于其逻辑推理、代码生成或数据分析能力,却容易忽略一个关键维度:如何让AI的输出结果不仅仅是“正确”的,更是“…

作者头像 李华
网站建设 2026/4/29 14:23:05

HarmonyOS长列表scrollToIndex性能优化全解析

引言:长列表滚动的性能挑战在HarmonyOS应用开发中,List组件作为高性能列表渲染的核心控件,广泛应用于社交动态、消息记录、商品展示等需要展示大量数据的场景。当列表项数量达到数千甚至上万时,如何实现快速、流畅的滚动定位成为开…

作者头像 李华