4.2范式 ●范式定义 数据依赖满足某种条件级别的关系模式的集合 。日前共6种范式: INF-2NF-3NF-BCNF-4NF-5NF
4.2 范式 ⚫ 范式定义 数据依赖满足某种条件级别的关系模式的集合 ⚫ 目前共6种范式: 1NF2NF3NFBCNF4NF5NF
4.2.1第一范式(1NF) ●INF定义 -如果一个关系模式R的所有属性都是原子的,即不可 再分的基本数据项,则R∈INF 例:SCL(S#,SN,SA,CLS,MON,C#,CN,CRD,GR) 属于1NF它有以下问题: ·数据冗余大,如MON,CRD等 ·插入异常,当无课程时学生信息无法插入 删除异常,当某个学生的选课信息全部删除时无法 保留学生基本信息
4.2.1 第一范式(1NF) ⚫ 1NF定义 –如果一个关系模式R的所有属性都是原子的,即不可 再分的基本数据项,则R1NF 例:SCL(S#, SN, SA, CLS, MON, C#, CN, CRD, GR) 属于1NF它有以下问题: ▪ 数据冗余大,如MON,CRD等 ▪ 插入异常,当无课程时学生信息无法插入 ▪ 删除异常,当某个学生的选课信息全部删除时无法 保留学生基本信息
SCL存在的函数依赖关系 (S#,C#)fGR (S#,C#)P→SN S#f+SN (S#,C#)-PSA S# f+SA (S#,C#)P→CLSS#fCLS (S#,C#)P→CNC# fCN (S#,C#)P→CRDC#ECRD CLS→MONS#t,MON
SCL存在的函数依赖关系 (S#,C#) f GR (S#,C#) P SN S# f SN (S#,C#) P SA S# f SA (S#,C#) P CLS S# f CLS (S#,C#) P CN C# f CN (S#,C#) P CRD C# f CRD CLS MON S# t MON
4.2.2第二范式(2NF) ●2NF定义 -如果一个关系模式R∈INF,并且每一非主属性都完全 依赖于R的码,则R∈2NF。 -显然码只包含一个属性的R如果是1NF,则必是2NF 例:SL(S#,SN,SA,CLS,MON)C(C#,CN,CRD) SC(S#,C#,GR)都属于2NF 存在问题: -数据冗余大,如MON 一插入异常,无学生信息无法插入班长信息 删除异常,当学生的信息删除无法保存班长
4.2.2 第二范式(2NF) ⚫ 2NF定义 – 如果一个关系模式R1NF,并且每一非主属性都完全 依赖于R的码,则R2NF。 – 显然码只包含一个属性的R如果是1NF,则必是2NF 例:S_L(S#,SN,SA,CLS,MON) C(C#,CN,CRD) S_C(S#,C#,GR)都属于2NF 存在问题: – 数据冗余大,如MON – 插入异常,无学生信息无法插入班长信息 – 删除异常,当学生的信息删除无法保存班长
函数依赖关系: S#fSA S#fCLS S#-f+SN CLS→MONS#t+MON C#f+CN C#CRD (S#,C#)£→GR
函数依赖关系: S# f SA S# f CLS S# f SN CLS MON S# t MON C# f CN C# f CRD (S#,C#) f GR