阿姆斯特朗公理(Armstrong's axioms)是关系数据库理论中一组用于推导函数依赖(functional dependencies)的推理规则。其本义是提供一套完备且可靠的形式化系统,用于从已知的函数依赖推导出所有隐含的函数依赖。该公理体系由威廉·阿姆斯特朗(William W. Armstrong)于1974年提出。核心公理包括自反律(reflexivity)、增广律(augmentation)和传递律(transitivity),由这三条基本规则可推导出合并律(union)、分解律(decomposition)和伪传递律(pseudo-transitivity)等衍生规则。这些规则在数据库设计、规范化理论以及数据依赖分析中具有基础性作用。
词源解析
该词组以美国计算机科学家威廉·阿姆斯特朗(William W. Armstrong)的姓氏命名,他曾于1974年在论文中提出这一公理系统。'Armstrong'是常见的英语姓氏,源于中古英语,意为'强壮的手臂'(arm + strong)。'axiomatic'源自希腊语'axioma',意为'被认为值得的东西',后引申为'公理'。整个术语直译为'阿姆斯特朗的公理体系',在数据库领域特指上述推理规则。记忆时可将'阿姆斯特朗'视为人名标识,'公理'强调其不证自明的基础性,两者结合即指该学者提出的公理集合。
该词组为专有名词,通常大写'Armstrong','axiomatic'小写,也可写作'Armstrong's axioms',此时使用所有格。在句子中常作主语或宾语,例如:'Armstrong's axioms are sound and complete.'(阿姆斯特朗公理是可靠且完备的。)'The proof relies on Armstrong's axioms.'(该证明依赖于阿姆斯特朗公理。)使用时注意'axioms'是复数形式,谓语动词用复数。另外,'Armstrong'首字母需大写,且不可省略。
相似词辨析
与'functional dependencies inference rules'(函数依赖推理规则)含义相近,但后者是通用描述,而'Armstrong's axioms'特指阿姆斯特朗提出的那套规则。与'axiomatization'(公理化)相比,后者更抽象,指将理论形式化的过程,而前者是具体的公理集合。在数据库理论中,有时会提到'closure of a set of dependencies'(依赖集的闭包),这是基于公理推导出的所有依赖的集合,与公理本身不同。使用时,若强调规则本身,用'Armstrong's axioms';若强调推导过程,则用'closure'或'inference'等词。