软考系统分析师·每日学习卡 | [日期:2025-08-17] | [今日主题:规范化理论-模式分解]

一、今日学了啥?

本节主要涉及数据库模式分解,重点是保持函数依赖和无损连接的判断。通过实例演示了如何判断分解是否保持函数依赖,以及使用表格法和公式法判断无损分解。


二、重点/要记住的!

  • 模式分解

    • 🔺 保持函数依赖分解:对于关系R,有依赖集F,若对R进行分解,分解出来的多个关系模式,保持原来的依赖集不变,则为保持函数依赖的分解;另外要注意消除冗余依赖(如传递依赖)
    • 🔺 无损分解:分解后的关系模式能够还原出原关系模式,就是无损分解,不能还原就是有损。当分解为两个关系模式,可以通过以下定理判断是否无损分解:
      • 🔺 公式法:如果R的分解为 p={R1,R2},F为R所满足的函数依赖集合,分解 p 具有无损连接性的充分必要条件是R1∩R2——>(R1-R2)R1∩R2——>(R2-R1)
      • 🔺 表格法:当分解为三个及以上关系模式时,可通过表格法求解

三、今天的小收获/卡住的地方

用AI推导的母题:

1.判断模式分解是否保持函数依赖

题目特征:给出一个关系模式R及其函数依赖集F,以及将其分解成的若干子模式,判断该分解是否保持函数依赖

解题思路:

graph TD A[开始] --> B[列出所有子模式] B --> C[对每个子模式找出其函数依赖] C --> D[合并所有子模式的函数依赖] D --> E[检查是否能推导出原函数依赖] E --> F{是否全部推导出?} F -->|是| G[保持函数依赖] F -->|否| H[不保持函数依赖]

2.判断模式分解是否为无损连接分解

题目特征:给出一个关系模式R及其函数依赖集F,以及将其分解成的若干子模式,判断该分解是否为无损连接分解

解题思路:

graph TD A[开始] --> B{分解为几个子模式?} B -->|两个| C[使用公式法] B -->|三个或以上| D[使用表格法] C --> E[计算交集和差集] E --> F{交集能推导出差集?} F -->|是| G[无损连接] F -->|否| H[有损连接] D --> I[构造属性表格] I --> J[标记子模式属性] J --> K[根据函数依赖填充] K --> L{是否存在某行包含了所有原始属性?} L -->|是| M[无损连接] L -->|否| N[有损连接]

3.综合判断(既保持函数依赖又无损连接)

题目特征:结合前两个问题,要求同时判断分解是否保持函数依赖且为无损连接


四、明天学啥?

明天学习数据库封锁协议-安全-备份


像实干家一样思考问题,像思想家一样付诸行动。

愿你我共同进步!

posted @ 2025-08-17 22:07  梦想截留时光  阅读(13)  评论(0)    收藏  举报