「初級システムアドミニストレータ/データベース」の版間の差分
削除された内容 追加された内容
編集の要約なし タグ: 差し戻し済み モバイル編集 モバイルウェブ編集 |
タグ: 巻き戻し |
||
134 行
=== 関数従属(かんすうじゅうぞく) ===
「<b>AならばBだ</b>。だが、BだからといってAとは限らない」場合、「Bは、Aに関数従属する」と呼びます。<br>
<b>
<table border>
<tr><th><u>学籍番号</u></th><th>名前</th></tr>
147 行
この式の場合「x=2ならy=12だ。だが、y=12だからといって、x=2とは限らない(-2かもしれない)」です。これと同じイメージでとらえておくと良いかと思います。
<br>
=== 推移的関数従属(すいいてきかんすうじゅうぞく) ===
「AならばBだ。<b>そしてBならばCだ</b>」といった、関数従属が何段もつながっている状態を、推移的関数従属と呼びます。<br>
204 ⟶ 203行目:
なお、この例題を解く際の条件として、
* 入学時に与えられた学籍番号は、卒業(退学)まで不変とします。
* ある
* この学校には、同じ苗字(属性[名前])の
* 今回の課題には該当者がいませんが、在学中の苗字(属性[名前])変更もありえます。ただし今回の課題では、名前変更の手続き(変更日管理など)は考慮しません。
* 同じ資格に複数回合格しても、1行しか登録しないものとします(例:辻村さん(B090)は、平成15秋と平成16春にシスアドに合格し、今後も引き続き同じ試験の受験を考えているようです)。
216 ⟶ 215行目:
この例のように7行6列の“資格取得一覧テーブル”程度のデータだと、表計算ソフトで作るほうがはるかに手軽です。ですが、ここでは練習のため、RDBMSで扱うことを考えましょう。<br>
このテーブルを見ると、資格名の列には、似たデータが何箇所も出てきます。仮にこれが何千人・何万人となったら、そのムダも無視できません。<br>
=== 正規化を行うメリット ===
; データをコンパクトに格納する
245 ⟶ 243行目:
<tr><td>B3</td><td>簿記3級</td></tr>
</table>
これだけで、資格コード“AD”を持つ全
<br>
こうやって、テーブル間を“○○コード”“△△番号”を基にしてつなげておき、その番号つながり(リレーションシップ)で別のテーブルへと必要なデータを取りに行くこと。これが、関係(リレーショナル)データベースの基本的な考え方です。
<br>
=== 正規化を進める ===
==== 第1正規形への正規化 ====
|