Java教程

数据库 关系数据库设计理念——基本概念

本文主要是介绍数据库 关系数据库设计理念——基本概念,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

关系数据库设计理念,致力于解决关系模式中不合适的数据依赖问题,而函数依赖与多值依赖是最重要的数据依赖。

函数依赖

简单的说,对于函数 Y = F(X),很显然X的值决定Y,则说Y函数依赖于X。

对应到数据库中,假设有一学生关系——学生(学号,姓名,年龄),以学号为主键。那么给定一个学号,就可以找到姓名或年龄。若以学号为X,姓名、年龄为Y,则有Y = F(X),就有Y函数依赖于X。可简写为 Y → X。

注意几点:

  • 函数依赖对关系中所有实例均满足约束条件,换句话说就是关系里面, Y = F(X)对所有X都成立(套用一下函数定义)
  • 用户只能根据语义来确定一个依赖,不能按照其形式化定义来证明一个函数依赖是否成立。
    还是上面那个学生表,假设表里面学生的名字不重复,则可以推导出 姓名 → 年龄,意思是通过姓名可以找到唯一存在的年龄(跟用学号查一样),这也侧面说明函数依赖反映了一种语义完整性约束。
  • 函数依赖存在的时间无关性:意思就是,后面插入的数据,不能破坏之前定好的规则,比如插入的数据主键重复是错误的。
  • 若X→Y,称X为这个函数依赖的决定因素
  • 若X→Y且X←Y,则X ←→ Y

非平凡函数依赖

  • 如果X→Y,并且Y不包含于X,则称X→Y是非平凡函数依赖,否则称为平凡函数依赖

完全函数依赖

  • 如果X→Y(我理解为X推导出Y),并且对于X的任何一个真子集X‘ 都有X‘推导不出Y在这里插入图片描述,则说明Y对X完全函数依赖,记为在这里插入图片描述

否则称为Y对X的部分函数依赖在这里插入图片描述

传递函数依赖

  • 如果有X → Y, Y→ Z, 且Y推导不出X,则称Z传递函数依赖于X,记为在这里插入图片描述

  • 如果在这里插入图片描述存在,则X可以作为关系(可以理解为数据表)的候选码,一个关系可以有多个候选码,选定其中一个为主键。

  • 包含在任何一个候选码中的属性称为主属性,不包含在任何码中的属性称为非主属性。

  • 关系模式R中属性X并非R的码,但X是另一个关系模式S中的码,则X为R的外键

这篇关于数据库 关系数据库设计理念——基本概念的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!