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

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

函数依赖

简单的说,对于函数 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的外键

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值