当前位置: 首页 > 知识库问答 >
问题:

数据库的函数依赖到底是什么意思?

殷永嘉
2023-09-17

好几个概念
1.函数依赖
2.非平凡和平凡函数依赖
3.完全和部分函数依赖
4.传递函数依赖
5.逻辑蕴涵
6.Armstrong公理系统
7.范式

头都大了,能不能用简单的语言解释下啊。

共有1个答案

归誉
2023-09-17

*数据库的函数依赖*是指在关系型数据库中,一个数据集中的某些属性(列)的值可以通过其他属性(列)的值来确定。具体来说,如果在一个关系表中,属性A的值决定了属性B的值,那么我们可以说B对于A是函数依赖的。

非平凡和平凡函数依赖是对函数依赖的分类。如果属性B的值完全由属性A的值决定,那么我们称B对于A是平凡函数依赖。而如果属性B的值除了由属性A的值决定外,还受到其他属性的影响,那么我们称B对于A是非平凡函数依赖。

完全和部分函数依赖是对于一个属性集合而言的。如果一个属性集合中的所有属性都对于另一个属性集合是函数依赖的,那么我们称这个函数依赖是完全函数依赖。而如果一个属性集合中的一部分属性对于另一个属性集合是函数依赖的,那么我们称这个函数依赖是部分函数依赖。

传递函数依赖是指如果属性A对于属性B是函数依赖的,属性B对于属性C是函数依赖的,那么我们可以推出属性A对于属性C也是函数依赖的。

逻辑蕴涵是指如果一个函数依赖X→Y成立,那么当X的值发生改变时,Y的值也会发生相应的改变。

Armstrong公理系统是用来推导函数依赖的一组公理。这些公理可以用来证明和推导函数依赖的性质和关系。

范式是用来规范数据库设计的一种方法。通过将数据库中的关系表按照一定的规则进行分解和优化,可以减少数据冗余和提高数据的一致性和完整性。范式理论包括了第一范式、第二范式、第三范式等等,每个范式都有一定的规则和要求。

如果你觉得太过繁琐,那么就需要去搜索相关视频,不然文字只能这样表达,以上我是查阅了,然后搬过来的

 类似资料:
  • 问题内容: 我一直以为括号中的数字代表字段长度?但是,我了解并非总是如此。也许这是一个MySQL问题?有人告诉我,如果我将一个字段设置为9个字符长,我可以添加一个超过9个字符的值,但只会保存前9个字符。 例子… 如果是这样,我是否不应该选择TINYINT之类的东西代替INT? 问题答案: 将生成一个最小显示宽度为2的INT : MySQL支持扩展,可以选择在整数类型的基本关键字之后的括号中指定整数

  • 在Spring MVC项目的pom.xml文件中,我发现了添加到我的项目(使用JPA实现我的存储库)的以下依赖项。 所以我试图理解这个项目的体系结构,以及这些依赖关系到底是什么。 因此,据我所知,JPA只是一个规范,如果没有实现,我就无法使用它。那么JPA是不是像一组指定我可以执行什么操作的接口,然后我需要一些实现该操作的东西? 1)因此,根据我的理解,第一个工件(hibernate-jpa-2.

  • 问题内容: 我有以下示例: 在这段代码中,我可以理解Enum创建了一个Enum类型的Sizes。 我的问题是:EnumSet类型的对象吗?到底是什么意思 我真的很想更好地理解它。 问题答案: 对于任何变量,可以在其声明中找到其类型: 是的,(应该命名,因为它是一个集合)是type 。它也应该被泛化,因此被声明为 它的意思是那是type 。一个是一个包含一个特定的枚举类型的枚举例如,在比其他更有效的

  • 我使用http://openjdk.java.net/projects/code-tools/jmh/进行基准测试,得到的结果如下: “分数错误”一栏的确切含义是什么?如何解释?

  • 对于下面的代码,我为一个对象< code>obj提供< code>isShiny,它被列为属性的一部分,本质上是一个键-值对,其中键是< code>isShiny,值是匿名函数。 但是,当我为函数 提供 时,幕后到底发生了什么?当我打印出一个函数时,没有提示在哪里。 这是来自的输出。