数据库系统原理与实践——第十次作业
This commit is contained in:
		
							parent
							
								
									26c56c0f17
								
							
						
					
					
						commit
						4837f40651
					
				
							
								
								
									
										86
									
								
								数据库系统原理与实践/平时作业/第十次作业.tex
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										86
									
								
								数据库系统原理与实践/平时作业/第十次作业.tex
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,86 @@
 | 
			
		||||
\documentclass[全部作业]{subfiles}
 | 
			
		||||
\input{mysubpreamble}
 | 
			
		||||
 | 
			
		||||
\begin{document}
 | 
			
		||||
\setcounter{chapter}{9}
 | 
			
		||||
\chapter{第十次作业}
 | 
			
		||||
 | 
			
		||||
\begin{enumerate}
 | 
			
		||||
    \questionandanswerProof[]{
 | 
			
		||||
        (简答题) 令主( prime)属性为至少在一个候选码中出现的属性。令$\alpha$和$\beta$为属性集,使得$\alpha \to \beta$成立但$\beta \to \alpha$不成立。令A为一个既不属于$\alpha$也不属于$\beta$的属性,并且$\beta \to A$成立。我们称A传递依赖( transitively dependent) 于$\alpha$。我们可以按如下方式重新定义3NF :关系模式R是关于函数依赖集F的3NF的条件是,R中没有非主属性A传递依赖于R的一个码。请证明这个新定义等价于原始定义。
 | 
			
		||||
    }{
 | 
			
		||||
        原始定义 $\implies $ 新定义:
 | 
			
		||||
 | 
			
		||||
        如果新定义不满足,即存在一个非主属性A传递依赖于R的一个码(设为$\alpha$),即$\alpha \to \beta \to A$且$\beta \not \to \alpha$。那么$\alpha \to A$不是一个平凡的函数依赖,且$\alpha$不是R的一个超码,且$\beta - \alpha$中存在至少一个属性不包含在R的候选码中,所以不满足原始定义。
 | 
			
		||||
 | 
			
		||||
        新定义 $\implies $原始定义:
 | 
			
		||||
 | 
			
		||||
        如果新定义满足,即R中没有非主属性A传递依赖于R的一个码,那么设R的函数依赖集为$F$,对$F^{+}$中所有形如$\alpha \to \beta$的函数依赖中:
 | 
			
		||||
        
 | 
			
		||||
        \mycircle{1}:如果$\alpha \to \beta$是一个平凡的函数依赖,那么自然满足原始定义;
 | 
			
		||||
 | 
			
		||||
        \mycircle{2}:如果$\alpha$是R的一个超码,那么也满足原始定义;
 | 
			
		||||
 | 
			
		||||
        \mycircle{3}:如果不满足\mycircle{1}和\mycircle{2},那么$\beta - \alpha$中的每个属性都包含在R的候选码中。
 | 
			
		||||
    }
 | 
			
		||||
    \questionandanswerSolution[]{
 | 
			
		||||
        (简答题)
 | 
			
		||||
        8.21 请给出实践习题 8.1中模式R的一个无损的BCNF分解
 | 
			
		||||
        
 | 
			
		||||
        8.1 模式R=(A, B, C, D, E) ,函数依赖集F为
 | 
			
		||||
        
 | 
			
		||||
        {A->BC,CD->E,B->D,E->A}
 | 
			
		||||
    }{
 | 
			
		||||
        $R_1 = (B, D)$, $R_2 = (A, B, C, E)$。
 | 
			
		||||
        
 | 
			
		||||
        $R_1 \cap  R_2 = (B, )$,$(B, )$是$R_1$的主码,所以是无损分解。
 | 
			
		||||
    }
 | 
			
		||||
    \questionandanswerProof[]{
 | 
			
		||||
        (简答题) 8.27 请用阿姆斯特朗公理来证明分解律的有效性。
 | 
			
		||||
    }{
 | 
			
		||||
        证明分解律即:若有$a \to \beta \gamma$,则有$\alpha \to \beta$及$\alpha \to \gamma$。
 | 
			
		||||
 | 
			
		||||
        $$
 | 
			
		||||
        \begin{aligned}
 | 
			
		||||
        &\because \beta \subseteq \beta \gamma, \gamma \subseteq \beta \gamma \\
 | 
			
		||||
        &\therefore 根据自反律,\beta \gamma \to \beta, \beta \gamma \to \gamma \\
 | 
			
		||||
        &\because a \to \beta \gamma \\
 | 
			
		||||
        &\therefore 根据传递律,\alpha \to \beta, \alpha \to \gamma \\
 | 
			
		||||
        \end{aligned}
 | 
			
		||||
        $$
 | 
			
		||||
    }
 | 
			
		||||
    \questionandanswerSolution[]{
 | 
			
		||||
        (简答题)
 | 
			
		||||
8.34 请考虑模式R=(A, B, C, D, E, G, H)和函数依赖集F:
 | 
			
		||||
 | 
			
		||||
AB→CD
 | 
			
		||||
 | 
			
		||||
D→C
 | 
			
		||||
 | 
			
		||||
DE→B
 | 
			
		||||
 | 
			
		||||
DEH→AB
 | 
			
		||||
 | 
			
		||||
AC→DC
 | 
			
		||||
 | 
			
		||||
请使用3NF分解算法来生成R的3NF分解,并展示你的工作。这意味着:
 | 
			
		||||
 | 
			
		||||
a.所有候选码的列表。
 | 
			
		||||
 | 
			
		||||
b.F的一个正则覆盖。
 | 
			
		||||
 | 
			
		||||
c.算法的步骤及其解释。
 | 
			
		||||
 | 
			
		||||
d.最终的分解。
 | 
			
		||||
    }{
 | 
			
		||||
        所有候选码的列表为
 | 
			
		||||
        (A, B, E, H), (A, C, E, H), (D, E, H)。
 | 
			
		||||
 | 
			
		||||
        F的一个正则覆盖是
 | 
			
		||||
        $AB \to D, D \to C, DE \to B, DEH \to A, AC \to D$。
 | 
			
		||||
 | 
			
		||||
        最终的分解为$R_1 = (A, B, C), \quad R_2 = (C, D), \quad R_3 = (A, B, D, E, H)$。
 | 
			
		||||
    }
 | 
			
		||||
\end{enumerate}
 | 
			
		||||
 | 
			
		||||
\end{document}
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user