数据库原理与应用(SQL Server 2012)关系规范化理论

本文探讨了如何评估关系模式的质量并进行模式分解以解决数据冗余、更新、插入和删除问题。通过函数依赖的概念,如非平凡依赖、平凡依赖、决定因子等,解释了如何识别和消除不良函数依赖。SC关系模式和S关系模式作为示例,展示了姓名、成绩等属性如何依赖于学号和课程号。最后,介绍了Armstrong公理系统及其推理规则,用于简化和理解函数依赖的完整集合。
摘要由CSDN通过智能技术生成

本章主要讨论如何判断一个关系模式是否是好的关系模式,以及如何将不好的关系模式分解成好的关系模式,并保证所得到的关系模式仍能表达原来的语义

一、关系模式设计的问题

数据冗余问题,数据更新问题,数据插入问题,数据删除问题

解决上述问题的方法就是进行模式分解,即把一个关系模式分解成两个或多个关系模式,在分解的过程中消除那些“不良”的函数依赖,从而获得良好的关系模式

二、函数依赖

1.基本概念

对学生关系模式Student(Sno,Sname,Sdept,Sage)有以下函数依赖关系

Sno\rightarrowSname,Sno\rightarrowSdept,Sno\rightarrowSage

对学生选课关系模式SC(Sno,Cno,Grade)有以下函数依赖关系

(Sno,Cno)\rightarrowGrade

2.一些术语和符号

如果X\rightarrowY,但Y不包含X,则称X\rightarrowY是非平凡的函数依赖

如果Y包含X,则 X\rightarrowY是平凡的函数依赖

Y不函数依赖于X,则记住X不决定Y

如果 X\rightarrowY,则称X为决定因子

如果X\rightarrowY ,且Y\rightarrowX,则X\leftrightarrowY

如果X\rightarrowY,且对于X的一个任意真子集X‘都有X’不决定Y,则称Y 完全函数依赖于X,记X\overset{f}{\rightarrow}Y;

如果X‘\rightarrowY成立则称Y部分函数依赖于X,记X\overset{p}{\rightarrow}Y

如果X\rightarrowY,Y\rightarrowZ,则称Z传递函数依赖于X

关系模式SC(Sno,Sname,Cno,Credit,Grade),各属性分别为:学号,姓名,课程号,学分,成绩,主键为(Sno,Cno)

Sno\rightarrowSname                        姓名函数依赖于学号

(Sno,Cno)\overset{p}{\rightarrow} Sname        姓名部分函数依赖于学号和课程号

(Sno,Cno)\overset{f}{\rightarrow}Grade           成绩完全函数依赖于学号和课程号

关系模式S(Sno,Sname,Sdept,Dept_master),各属性分别文:学号,姓名,所在系,系主任,主键为Sno

Sno \overset{f}{\rightarrow} Sname                        姓名完全函数依赖于学号

由于有:

Sno \overset{f}{\rightarrow} Sdept                           所在系完全函数依赖于学号

Sdept \overset{f}{\rightarrow} Dept_master              系主任完全函数依赖于所在系

因此:

Sno\overset{chuandi}{\rightarrow}Dept_master              系主任传递函数依赖于学号

三、函数依赖的推理规则

找到一种方法来减少函数依赖集合的规模,我们要讨论的是用一种方法来帮助确定关系的完整函数依赖集合,并讨论如何得到一个表示完整函数依赖的最小函数依赖集

1.Armstrong公理

(1)自反律

若Y\subseteqX\subseteqU,则  X\rightarrowY在R上成立。即一组属性决定它的所有子集。

例如,对关系模式SC(Sno,Sname,Cno,,Credit,Grade),有:

(Sno,Cno) \rightarrowCno 和 (Sno,Cno) \rightarrowSno

(2)增广律

若 X\rightarrowY在R上成立,且Z\subseteqU,则XZ  \rightarrowYZ在R上也成立

(3)传递律

若  X\rightarrowY和  Y\rightarrowZ在R上成立,则  X\rightarrowZ在R上也成立

2.Armstrong公理推论

(1)合并规则

若  X\rightarrowY和  X\rightarrowZ在R上成立,则  X\rightarrowYZ在R上也成立

(2)分解规则

若  X\rightarrowY和 Z\subseteqY在R上成立,则   X\rightarrowZ在R上也成立

(3)伪传递规则

若  X\rightarrowY和  W\rightarrowZ在R上成立,则  XW\rightarrowZ在R上也成立

(4)复合规则

若  X\rightarrowY和  W\rightarrowZ在R上成立,则  XW\rightarrowYZ在R上也成立

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值