SchoolWork-LaTeX/数据库系统原理与实践/平时作业/第十次作业.tex

86 lines
3.4 KiB
TeX
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

\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->BCCD->EB->DE->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}