ITパスポート 2011年 秋期 問57
問題文
社員数が50人で、部署が10ある会社が、関係データベースで社員や部署の情報を管理している。“社員”表と“部署”表の関係を示したE-R図はどれか。ここで、1人の社員が複数部署に所属することはない。下線のうち実線は主キーを、破線は外部キーを表す。E-R図の表記は次のとおりとする。


選択肢
ア:
イ:
ウ:(正解)
エ:
🔒 解説は解答すると表示されます
社員と部署の関係を示したE-R図【ITパスポート 解説】
正解の理由
理由は次の通りです。問題文に「1人の社員が複数部署に所属することはない」とあります。つまり
- 1人の社員は「多くの部署」には属さない → 社員から見て「部署」は最大で1つ(1または0)
- 一方で、ある部署には複数の社員が所属する可能性がある(社員50名、部署10ある例でもそう) → 部署から見て「社員」は多になる
この関係は「社員:部署 = 多対1(多→1)」です。設問の図の対応ルールで、右から左へ向く矢印(左向き矢印)は「多対1」を表します。選択肢ウはちょうど右から左へ矢印が向いているため、多対1を示し、条件に一致します。
(補足)図中の「社員」表の部署コードは外部キー(別表の主キーを参照するキー)であり、「部署」表の部署コードが主キーです。これも多対1の実装形です。
解法ステップ
- 問題文の要件を確認する: 「1人の社員が複数部署に所属することはない」→ 社員が所属できる部署は1つ(多重度は1または0)。
- どちらが「多」でどちらが「1」かを決める: 部署には多くの社員が集まることがある → 部署側が1、社員側が多。
- 図の表記ルールを確認する: 設問の図補足で「右→左の矢印は多対1を表す」とある(第三行目)。
- 選択肢と照合する: ウは右→左の矢印(多対1)なので条件に合致する → 正解。
選択肢別の誤答解説
- ア:実線(矢印なし)は「1対1」を表す。これは「各社員がちょうど1つの部署に所属し、かつ各部署にちょうど1人の社員しかいない」状況を表すため、現実(部署に複数社員がいる可能性)と矛盾します。よって不正解。
- イ:左から右へ向く矢印は「1対多」を表す。これは「1人の社員が複数部署に所属できる」ことを示すため、問題文の条件(社員は複数部署に所属しない)と反します。よって不正解。
- ウ:右から左へ向く矢印は「多対1」を表す。社員→部署が多対1であるという要件に一致するため正解。
- エ:両方向(多対多)を示す。これは「社員が複数部署に所属でき、かつ部署が複数社員を持つ」場合に使う表現で、今回の条件(社員は複数部署に所属しない)に反するため不正解。
よくある誤解
- 矢印の向きと「1」「多」を逆に考えてしまう
- 矢印が指す先を「多」と誤解する人が多いです。設問のルールに従い、矢印の向きがどの関係(1対多、または多対1)を表すかを確認してください。
- 「部署コードが下線=主キー」とだけ見て誤判断する
- 下線に実線/破線の区別がある場合、実線は主キー、破線は外部キーです。外部キーの所在から参照先を読み取り、関係の向き(誰が参照しているか)を判断します。
- 実務の言葉(「所属」)とER図表記を結びつけられない
- 「所属」がある方が外部キーを持つテーブル(ここでは社員テーブルに部署コード)になります。外部キーがある側が「多」の側であることを覚えると楽です。
補足コラム
- 用語のかんたんな説明
- E-R図(Entity-Relationship 図:実体と関係を示す図)… データベース設計で使う図。
- 主キー(Primary Key:表の各行を一意に識別する列)… 例:社員コードは各社員を一意に識別。
- 外部キー(Foreign Key:別の表の主キーを参照する列)… 例:社員表の部署コードは部署表の部署コードを参照する。
- 実際のデータベースでの実装例(SQL、理解用)
CREATE TABLE 部署 (
部署コード CHAR(4) PRIMARY KEY,
部署名 VARCHAR(50)
);
CREATE TABLE 社員 (
社員コード CHAR(6) PRIMARY KEY,
社員名 VARCHAR(50),
部署コード CHAR(4), -- 部署を参照する外部キー
FOREIGN KEY (部署コード) REFERENCES 部署(部署コード)
);
この設計では複数の社員が同じ部署コードを持つことができ、部署側は1(部署コードは部署表で一意)となります。つまり「多対1」を表現できます。
- もし「社員が複数部署に所属できる」なら
- 多対多の関係になるため、中間テーブル(例:社員部署テーブル)を作って対応します(社員IDと部署IDの組を列にもつテーブル)。
FAQ
Q1. 矢印がない実線は何を意味しますか?
A1. この設問の表記では実線(矢印なし)は「1対1」を示します。図表記は問題ごとにルールがあるので、設問の説明(図の凡例)を必ず確認してください。
A1. この設問の表記では実線(矢印なし)は「1対1」を示します。図表記は問題ごとにルールがあるので、設問の説明(図の凡例)を必ず確認してください。
Q2. 社員が部署に必ず所属しているか分からないときは?
A2. 「所属しない可能性(NULLを許す)」があるときは多対1でも「0または1対多(0..1 : 多)」という表現になります。今回の問題は「複数所属しない」がキー条件なので、方向(多対1)は変わりません。
A2. 「所属しない可能性(NULLを許す)」があるときは多対1でも「0または1対多(0..1 : 多)」という表現になります。今回の問題は「複数所属しない」がキー条件なので、方向(多対1)は変わりません。
Q3. 外部キーがどちらにあるかで関係が決まるのですか?
A3. はい。外部キーを持つテーブル側が「多」の側であることが多いです。外部キーが参照先の主キーを指すことで「多が1を参照する」形になります。
A3. はい。外部キーを持つテーブル側が「多」の側であることが多いです。外部キーが参照先の主キーを指すことで「多が1を参照する」形になります。
関連キーワード: ER図、主キー、外部キー、カーディナリティ、リレーショナルデータベース、正規化、テーブル設計

\ せっかくなら /
ITパスポートを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

