この記事では関係データベースと関係演算についてIT初心者にも分かりやすく解説します。
データベース管理システム(DBMS)
- DBMSはデータベースを管理するシステムで、アプリの代わりにデータベースの操作を行う。
関係データベース(RDB)
- 表形式でデータを管理するデータベースを関係データベースと言う。
- 行を特定出来る列を候補キーと言い、その中から主キーを選ぶ。
- 他表の候補キーを参照して、表と表を関係付ける列を外部キーと言う。
関係演算
- 選択は表から行を取り出す演算。
- 射影は表から列を取り出す演算。
- 結合は表と表を特定の列を介して結合する演算。
- 和は2つの表に含まれる行を出力する演算。(重複行は除く)
- 差は演算元の表から演算先に含まれる行を削除して出力する演算。
- 直積は2つの表のデータを全て組み合わせて出力する演算。
応用情報では関係データベースと関係演算に関する問題が出題されます。是非最後までご覧ください。
データベース管理システム(DBMS)
データベース管理システム(DBMS)はデータベースを管理するためのソフトウェアで、
データを記録するためのテーブルを作成・管理したり、データの登録・更新・参照・削除を行います。DBMSはアプリの代わりにデータベースを操作して、アプリに結果を返します。
関係データベース
データベースにはいくつか種類がありますが、応用情報でよく出てくるのが関係データベースです。関係データベースはリレーショナルデータベース(RDB)とも呼び、関係データベースのDBMSをリレーショナルデータベース管理システム(RDBMS)と呼びます。
関係データベースは表形式でデータを管理します。
表、行、列にはそれぞれ別の呼び方があります。
表(データの集合体) | テーブル、関係 |
---|---|
行(1件のデータ) | レコード、タプル |
列(データの構成要素) | フィールド、属性 |
キー
キーとは行を特定したり、他の表との関係性を持たせるための列のことです。
キーには主キー、候補キー、外部キーがあります。
主キー、候補キー
行を特定するために使う列を主キーと言います。
生徒表だと、生徒番号を指定すれば、どの生徒か特定できますよね。なので、生徒番号が主キーになります。ちなみに、氏名は同姓同名の可能性があるので主キーには出来ません。
表の中に主キーとなるような列が複数存在する場合もあります。
例えば、下の商品表には、会社で管理している商品番号とお客さんが注文で使うカタログ番号があり、両方とも行を特定出来ます。このように主キーとなり得る列のことを候補キーと言います。この場合、商品番号とカタログ番号が候補キーです。
ちなみに、複数の列を組み合わせて主キー・候補キーとすることも出来て、それを複合キーと呼びます。
クラスと出席番号を指定すれば行を特定出来る場合、クラスと出席番号が複合キーです。
外部キー
他の表と関係付けるための列を外部キーと言います。外部キーは他表の候補キーを参照します。外部キーで生徒表とクラス表を関係付けているので、生徒の担任が分かります。
インデックス
インデックスとは、データを検索する時に使う列をあらかじめ定義しておく列のことで、
インデックスを定義することで検索効率を上げることが出来ます。
インデックスとして定義する列は、候補キーじゃなくてもOKです。
関係演算
関係演算は表から行や列を抽出したり、表と表を繋げたりする演算のことです。
選択
表から行を取り出す演算を選択と言います。
射影
表から列を取り出す演算を射影と言います。
結合
特定の列を介して表と表を繋げる演算を結合と言います。
和(和集合)
表と表を重複する行を削除して結合し、出力する演算を和と言います。
下の例だと、生徒表1と生徒表2に存在するデータを、重複行を削除して出力します。
差(差集合)
演算元の表から演算先の表に存在する行を削除して出力する演算を差と言います。
下の例だと、演算元の表が「従業員表」で、演算先の表が「退職者表」になります。
従業員表から退職者表に存在する行を削除するので、社員番号’0001′,’0004′,’0005’の行が残ります。
直積
2つの表に存在する行を全て組み合わせる演算を直積と言います。
下の例だと、生徒番号’0001’に対して、数学と英語の行が組み合わさります。
生徒番号’0002′,’0003’にも同じことをします。
ビュー
関係演算を使うと、登録された表のデータを使って様々な表を一時的に作ることが出来ます。このように作った一時的な表をビューと言います。
応用情報技術者試験での出題例
令和5年度秋期問27
応用情報技術者
午前試験 令和5年度秋期問27
関係モデルにおける外部キーの説明として,適切なものはどれか。
ア ある関係の候補キーを参照する属性,又は属性の組
イ 主キー以外で,タプルを一意に識別できる属性,又は属性の組
ウ タプルを一意に識別できる属性,又は属性の組の集合のうち極小のもの
エ タプルを一意に識別できる属性,又は属性の組を含む集合
正解は”ア”
他の関係(表)の候補キーを参照する属性(列)が外部キーなので、答えはアです。
令和4年度秋期問27
応用情報技術者
午前試験 令和4年度秋期問27
“従業員”表に対して,”異動”表による差集合演算を行った結果はどれか。
正解は”イ”
従業員表のデータのうち、異動表に存在するデータを削除したものが答えになるので、イが正解です。
令和3年度秋期問26
応用情報技術者
午前試験 令和3年度秋期問26
関係Rと関係Sに対して,関係Xを求める関係演算はどれか。
ア IDで結合 イ 差 ウ 直積 エ 和
正解は”エ”
関係Rと関係Sに存在する行を、重複している{ID:001, A:a, B:100}を削除して出力しているので、和であるエが答えです。