理论 [ 数据库设计 ]
2011-07-28 11:36
218 查看
关系模式设计问题:
信息的不可表示问题
插入异常:如果没有职工具有8级工资,则8级工资的工资数额就难以插入
删除异常:如果仅有职工赵明具有4级工资,如果将赵明删除,则有关4级工资的工资数额信息也随之删除了
信息的冗余问题
数据冗余:职工很多,工资级别有限,每一级别的工资数额反复存储多次
更新异常:如果将5级工资的工资数额调为620,则需要找到每个具有5级工资的职工,逐一修改
函数依赖
X函数决定Y”,或“Y函数依赖于X”,记作X->Y,称X为决定因素
如S# -> SN, (S#,C#)-> G
如果X -> Y,但Y 不包含于 X,则称其为非平凡的函数依赖,否则称为平凡的函数依赖
如(S#,SN)-> SN是平凡的函数依赖
在R(U)中,如果X->Y,且对于任意X的真子集X′,都有X′->Y,则称Y对X完全函数依赖,否则为部分函数依赖
传递函数依赖 S# ->SD,SD -> DEAN
范式
范式是对关系的不同数据依赖程度的要求通过模式分解将一个低级范式转换为若干个高级范式的过程称作规范化(概念的纯粹化)
1NF:关系中每一分量不可再分。即不能以集合、序列等作为属性值
2NF:若R属于1NF,且每个非主属性完全依赖于码,则称R属于2NF;消除非主属性对码的部分依赖
分解为
3NF: 消除非主属性对码的传递依赖
S_SD 不属于3NF,因为有S#->SD,SD->DEAN
BCNF:
(S# , C# , ORDER),表示学生选修课程的名次
n被F所逻辑蕴涵的函数依赖的全体所构成的集合称作F的闭包,记作F+ = {X->Y | F├ X->Y}
Armstrong公理
X,Y,Z是属性集,自反律(reflexivity):若Y 包含于 X, 则X -> Y
增广律(augmentation):若X -> Y ,则XZ -> YZ传递律(transitivity):若X -> Y,Y -> Z,则X -> Z 合并律(union rule):若X -> Y,X -> Z,则X ®->YZ分解律(decomposition rule):若X -> YZ ,则X -> Y,X ->Z伪传递律(pseudotransitivityrule): 若X -> Y,WY-> Z,则WX -> Z
【例】 属性集U={A,B,C}, 函数依赖集F={A ® B,B ® C}
则
A+ = ABC
B+ = BC
C+ = C
【例】 R<U, F >, U = (A, B, C, G, H, I), F = {A->B, A->C, CG->H, CG->I, B->H},计算 (AG)F+ 所用依赖
A->B AGB
A->C AGBC
CG->H AGBCH
CG->I AGBCHI
= AGBCH I
模式分解
分解的基本代数运算投影自然连接
分解的目标无损连接分解
保持函数依赖
达到更高级范式
判断无损连接方法:
无损连接分解方法:
关系模式R(U)的分解r={R1,R2},则r是一个无损连接分解的充要条件是 R1∩R2->R1-R2(或R1∩R2->R2-R1)成立判断是否保持函数依赖
数据库表的设计
相关文章推荐
- ASP.net MVC、Extjs多级目录(理论上可以无限级、非递归)treepanel显示和数据库(多级目录)存储结构的设计(上篇)
- 关系数据库设计理论(5) 关系模式的规范化
- 关系数据库设计理论(4) 关系模式的分解
- 数据库通用模型设计理论【原创设计】
- 【数据库设计】数据库设计理论及应用(4)——概念结构设计
- 数据库系统基础教程二:关系数据库设计理论
- 关系数据库设计理论
- 关系数据库设计理论(2) 函数依赖
- 关系数据库设计理论(二)函数依赖的规则
- 数据库理论(1)之关系数据库设计范式
- 二、数据库原理-设计理论
- 关系数据库设计理论(1) 关系模式及其评价
- 数据库规范化设计理论摘要要
- 关系规范化理论及非规范化设计在数据库中的运用
- 数据库范式以及数据库设计基本理论
- Atitit 数据库与存储引擎设计与实现 attilax总结 1.1. 数据库的实现有很多种, 遵循一些理论规范,如 Fix Rules、Write-Ahead Log、Force-log-at-
- ASP.net MVC、Extjs多级目录(理论上可以无限级、非递归)treepanel显示和数据库(多级目录)存储结构的设计(下篇)
- 数据库设计理论及应用
- 数据库规范化设计理论摘要
- 关系数据库设计理论