メインメニューを開く

差分

利用者:Nayuta Ito/プロジェクト・SQL

2,695 バイト追加, 2021年2月25日 (木) 11:23
再開したら温度が上がります。もっと凍結したら温度が下がります。
<font size="6"><b>このプロジェクトは凍結しました。このプロジェクトは本当に完全に凍結しました。 現在の温度: -60℃</b></font>集合関数とか何をどうやって束縛してるんですか...
<s>この記事では、SQLのインタプリタをZFCで実装する。</s>実装しません。複雑すぎました。多分理論上は可能なんじゃないかと思います。ZFCはC言語の亜種ではない。
===ボイス・コッド正規形===
関係表が'''ボイス・コッド<ref>「ボイスさんとコッドさん」であって「ボイスコッドさん」ではない。「ルンゲクッタ」と同じようなものである。</ref>正規形'''であるとは、任意の関係スキーマの部分集合\( A, B \)に対し、\( B \)が\( A \)に関数従属するならば、次の2つの少なくとも1つ(論理的OR)を満たしていることである:
===第4正規形===* \( B \subset A \)* \( A \)はスーパーキー
次の関係表を考える: <table border="1"><caption>\( T \)</caption> <tr bgcolor ==第5正規形==="bisque"><td>\( \underline{\mathrm{A}} \)</td><td>\( \underline{\mathrm{B}} \)</td><td>\( \mathrm{C} \)</td><td>\( \mathrm{D} \)</td></tr><tr><td>\( 1 \)</td><td>\( x \)</td><td>\( a \)</td><td>\( 2 \)</td></tr><tr><td>\( 1 \)</td><td>\( z \)</td><td>\( c \)</td><td>\( 3 \)</td></tr><tr><td>\( 2 \)</td><td>\( x \)</td><td>\( d \)</td><td>\( 1 \)</td></tr><tr><td>\( 2 \)</td><td>\( y \)</td><td>\( b \)</td><td>\( 1 \)</td></tr><tr><td>\( 2 \)</td><td>\( z \)</td><td>\( c \)</td><td>\( 4 \)</td></tr><tr><td>\( 3 \)</td><td>\( x \)</td><td>\( d \)</td><td>\( 4 \)</td></tr><tr><td>\( 3 \)</td><td>\( z \)</td><td>\( c \)</td><td>\( 5 \)</td></tr></table> この関係表は第3正規形であるが、ボイス・コッド正規形ではない。なぜならば、\( \mathrm{B} \)は\( \mathrm{C} \)に関数従属する(\( \mathrm{C} \)列の値から\( \mathrm{B} \)列の値が一意に決まる)が、\( \{ \mathrm{C} \} \subset \{ \mathrm{B} \} \)ではなく、かつ\( \{ \mathrm{C} \} \)はスーパーキーではないからである。 これをボイス・コッド正規形にするためには、\( \{ \mathrm{A}, \mathrm{B} \} \)ではなく\( \{ \mathrm{A}, \mathrm{C} \} \)を主キーにすればよい。すると、第2正規形ですらなくなるため、第2正規形、第3正規形、ボイス・コッド正規形にする手続きを再帰的に行う。この手続きは有限回で終了し<ref>この記事では列数が有限の場合のみを考える。</ref>、最終的にボイス・コッド正規形が得られる。 私は第4・第5正規形をZFCに実装する驚くべき方法を発見したが、それを記すにはこの余白は狭すぎる。
==SQL==
凍結しました。SQLは次のような形式を持つ\( \mathbb{S}^* \)の元である。 $$ \mathrm{SELECT}\ L_1\ \mathrm{FROM}\ T\ [\mathrm{WHERE}\ \psi]\ [\mathrm{GROUP\ BY}\ L_2]\ [\mathrm{HAVING}\ \phi]\ [\mathrm{ORDER\ BY}\ L_3] $$ []内はあってもなくてもよい。また、記号で察した通りSQLには述語論理が組み込まれている。変数を束縛する順はFROM, WHERE, GROUP BY, HAVING, SELECT, ORDER BYらしい。<font size="2">p進大好きbotが匙を投げるレベル</font>
==結論==
Wikiいけめん
217

回編集