【数据库】数据库设计

本文探讨了数据库设计的重要性,从需求分析到ER模型,再到实际的表和视图实现。介绍了关系模型的特性,如码的不重复性和主属性不能为空,以及设计不佳可能导致的插入、删除异常和数据冗余等问题。文章深入讲解了函数依赖的概念和性质,并讨论了如何求解最小函数依赖集,以达到更高范式,确保数据的一致性和完整性。最后,通过实例练习强化了理论知识的应用。
摘要由CSDN通过智能技术生成

【数据库】数据库设计

设计 :table view
开发 :SQL 数据操作(select update insert delete grant revoke)

软件系统 子系统独立 数据共享

设计 理论 判断证明设计好?如果不好 变成好?
过程 需求分析 – ER – table/view 实现DDL

关系模型 实体 1、码不重复 2、主属性不能为空
参照 自定义

设计不好的后果:
1、插入异常
2、删除异常
3、数据冗余
4、修改复杂

  • R(U,F) U-属性集合 F-属性间关系集合 属性依赖关系集合
    -> 函数依赖 语义(不是公理或定理) 需求规定
    Y包含与X 平凡的函数 X->Y 一定成立 函数依赖的自反律
    如果X->Y, Y->Z 那么 X->Z 一定成立 函数依赖的传递率
    如果X->Y 成立 XZ->YZ 一定成立 函数依赖的增广率
    X->Y 如果存在真子集 X1真包含于X X1->Y X-p>Y(部分函数依赖)
    X1-f>Y

  • 函数的右边可以任意的分解与合成

  • Fmin 关系模式最小覆盖 最小函数依赖集 和 最大是等价
    1、右边只包含一个属性 分解右侧
    2、不存在可传递的函数依赖 消除传递
    3、不存在部分函数依赖 消除部分函数依赖

  • 属性闭包+ 由该属性决定的属性集合
    1、将属性加入集合
    2、再将当前属性能够决定的属性加入集合
    3、判断是否有变化,如果变化继续迭代直到没有变化

  • 根据最小覆盖 求出关系的码(U 完全函数依赖于码)
    码的属性是主属性 其他是非主属性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值