[ITパスポート試験]データベースとは[無料講座・例題付き!]
今回はITパスポートのDB(データベース)について学習していきます。
データベースとは
データベースは業務を行う上で必要なデータを収納しておくスペースの事を表します。
家でもクローゼットや本棚等、いろんな物を収納する場所は必要ですね。
このデータベースの構造によって必要なデータを迅速に取り出したり、分かりやすく整列させたりすることが可能となります。
リレーショナルデータベース
データベースの主流となっているのが関連型(リレーショナル)データベースと呼ばれるものです。
データを表形式で表すことができて、情報処理技術者試験でもほとんどの場合データベース=リレーショナルデータベースと把握してしまって問題ありません。
具体的には以下のような表となっています。
商品ID | カテゴリ | 商品名 | 在庫量 | 単価 |
0001 | 食品 | りんご | 7 | 300 |
0002 | 食品 | みかん | 12 | 240 |
0005 | キッチン用品 | 洗剤 | 6 | 400 |
0016 | ペット用品 | 虫かご | 2 | 1,000 |
主キー
表の行を一意に特定できる列または列の組み合わせを主キーと呼びます。
一意の意味はたった一つ・オンリーワン・ユニークなどといった意味のため、その列または複数列のデータの組み合わせによってデータの値が決まれば行が特定できる必要があります。
そのため、主キーはデータの値の重複や空白(NULL値)を許しません。
例えば先ほどのデータベースの例を見てみましょう。「カテゴリ」を主キーにしようとした場合、りんごもみかんも食品に該当するため一意に定まりません。そのため主キーにはなりません。
「在庫量」も現在はバラバラですが、みかんが5個売れてりんごとみかんの個数が7個になった場合一意に特定できないためこちらもOUTです。
一方で「商品ID」はそれぞれの商品に割り当てられた個別の物で、重複することは考えづらいです。そのため主キーになり得ます。また、「商品ID」+「カテゴリ」の様に、複数列を組み合わせて主キーとすることも可能です。
正規化
データベースを設計するにはデータの重複や矛盾を排除して整合性を一貫させる正規化と呼ばれる作業を行う必要があります。
例えば年間利用目的のスポーツクラブの会員のデータベースを例に見てみましょう。
利用者名 | 住所 | 電話番号 | 入会日 | 該当スポーツ | レンタル備品 | 貸出日 | 返却日 |
このままデータを表にするといくつかの不具合が生じてきます。例えば同じ利用者が複数のスポーツに登録したり複数のレンタル品を借りたりすることで同じ表がいくつも生成されます。
また、万が一住所や電話番号が変わったとき、もとのデータベースを削除しなければ同じ利用者名で住所が違うデータが登録されることになります。
そのため、以下の様に表を分割します。
利用者表
利用者コード | 利用者名 | 住所 | 電話番号 | 入会日 |
備品表
備品コード | 該当スポーツ | レンタル備品 |
貸出表
利用者コード | 備品コード | 貸出日 | 返却日 |
このように表を分割することで1人の利用者による住所などのデータは一意に定まります。
また、「備品コード」や「利用者コード」と言った列が増えた分、データの不整合が生じなくなり、行も増えなくなるため全体のデータ量も減ります。
ここで気を付けるべきポイントとして、主キーの割り当てがあります。
例えば利用者表の主キーは「利用者コード」、備品表の主キーは「備品コード」になりますが、貸出表の主キーは「利用者コード」だけでも「備品コード」だけでもダメです。
前者の場合は1人が複数の備品を借りることができなくなりますし、後者の場合は1種類の備品(例えば野球ボール)を誰か1人借りたら他が借りられなくなってしまいます。
それでは「利用者コード」+「備品コード」ではどうでしょうか。これでも難しくて、例えば1人で2月に野球ボールを借りて、翌月にもう一度野球ボールを借りようとしたときに重複してしまいます。
したがって貸出日も加えて、「利用者コード」+「備品コード」+「貸出日」とするのがよさそうですね。
また、複数の行にまたがって同じ列があることにも注目しましょう。例えば貸出表の備品コードは備品表にある備品コードと同一です。このように他の表を参照することになる列を外部キーと呼びます。
そしてこの貸出表の備品コードが備品表では主キーになっている点もポイントです。相手の表で主キーになっていることで、複数の表に分かれた場合でも必要に応じて対応させることができます。
データベース・例題
実際に例題を解いて問題に慣れていきましょう。
問題
問1
関係データベースを利用する際に,データの正規化を行う目的として,適切なものはどれか。(H.21/秋)
ア 異機種のコンピュータ間の,データの互換性を保証する。
イ データが重複したり,データ更新の際に矛盾が生じたりしないようにする。
ウ データベースをネットワークで利用する際に,伝送上許されない文字を除去する。
エ 複数の媒体にまたがるデータの格納領域を,一つの連続した格納領域に見せかける。
問2
関係データベースにおける外部キーに関する記述のうち,適切なものはどれか。(H.29/秋)
ア 外部キーがもつ特性を,一意性制約という。
イ 外部キーを設定したフィールドには,重複する値を設定することはできない。
ウ 一つの表に複数の外部キーを設定することができる。
エ 複数のフィールドを,まとめて一つの外部キーとして設定することはできない。
解説(クリックで展開)
データベース・まとめ
今回はデータベースについて学習しました。
基礎的な内容ですが重要な語句が多く出てきたのでしっかりと覚えてしまいましょう。
次回はデータベースの演算や管理について学習します。
福井県産。北海道に行ったり新潟に行ったりと、雪国を旅してます。
経理4年/インフラエンジニア7年(内4年は兼務)/ライター5年(副業)
簿記2級/FP2級/応用情報技術者/情報処理安全確保支援士/中小企業診断修得者 など
ディスカッション
コメント一覧
まだ、コメントがありません