SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

HRzine Day(エイチアールジン・デイ)は、人が活き会社が成長する人事のWebマガジン「HRzine」が主催するイベントです。毎回、人事の重要課題を1つテーマに設定し、識者やエキスパードが持つ知見・経験を、参加者のみなさんと共有しています。

直近開催のイベントはこちら!

HRzine Day 2024 Winter

2024年2月1日(木)12:00~17:40

主要製品スペック一覧

人事業務の効率・確度・精度を高めるために欠かせないHRテクノロジー。その主な製品の機能を分野ごとに比較できる資料群です。製品検討の参考資料としてご活用ください。

人事労務管理システム<br>主要製品スペック一覧 2023

人事労務管理システム
主要製品スペック一覧 2023

その他のスペック一覧

タレントマネジメントシステム<br>主要製品スペック一覧 2023

タレントマネジメントシステム
主要製品スペック一覧 2023

採用管理システム<br>主要製品スペック一覧 2023

採用管理システム
主要製品スペック一覧 2023

落とし穴はこれで回避! Oracle DB 12c SQL基礎 弱点克服スクール | 第11回

リレーショナルデータベースの概要~正規化とER図


  • Facebook
  • Twitter
  • Pocket
  • note
  • hatena

ER図

ERはEntity Relationshipの略です。エンティティ(Entity)は表のこと。リレーションシップ(Relationship)は関係ですから、参照整合性制約、つまり外部キーだと思えばいいでしょう。

ちなみにこのER図、複数の記法があります。私は、理解してもらいやすいのでIE記法を使っていますが、世の中的に多く使われているのはIDEF1X記法、情報処理技術者試験ではバックマン(Bachman)記法が用いられるようです。

そして、12cSQL試験で用いられているのは恐らくチェン(Chen)記法です。

図1:ER図の記法
図1:ER図の記法

では、チェン記法で描かれたER図を用いた例題を解きながら用語を覚えましょう。

問2

次の図を確認してください。

図2:問2

正しい説明をすべて選択しなさい。

  • a. 社員は実体である
  • b. 部門名は実体である
  • c. 部門名は属性である
  • d. 所属は属性である
  • e. 所属は関連である

ER図は、実体(Entity)、関連(Relationship)、属性(Attribute)という3つの構成要素を図であらわしたものです。設問の図を文章で表現すると次のようになります。

  • 社員表(実体:エンティティ)は、社員番号、社員名、入社日という3つの列(属性:アトリビュート)から構成される
  • 部門表は、部門番号、部門名という2つの列から構成される
  • 社員は部門に所属するという関連(関係:リレーションシップ)または、部門は社員に所属されているという関連がある

実体を表、属性を列、関連(リレーションシップ)を関係と読み替えれば、簡単に理解できるのではないでしょうか。社員は表(実体)ですから、選択肢aは正解。部門名は列(属性)ですから、選択肢cは正解(選択肢bは不正解)。所属は関係 (関連)ですから選択肢eは正解(選択肢dは不正解)です。

では、もう1つ設問を解きながら解説しましょう。

問3

次の図を確認してください。

図3:問3

正しい説明をすべて選択しなさい。

  • a. 注文明細表は強いエンティティである
  • b. 注文明細表は弱いエンティティである
  • c. 個数はコンポジット属性である
  • d. 個数はキー属性である

エンティティが強い、弱いって、戦うわけではありません。「独立」性が強いか弱いかという意味です。リレーショナルデータベース上の表は、何らかの表と関連を持っています。他の表と一切関連を持っていない独立した表のほうが少ないでしょう。

「いつ、誰が、何の商品を、何個注文したか」というデータを正規化すると、「誰」を管理する顧客表、「商品」を管理する商品表が浮かび上がってきます。さらに、「いつ誰が注文したか」を管理する注文マスタ表と「その注文は何の商品を何個注文したのか」を管理する注文明細表に分かれます。

これをIE記法のER図で表現すると次図のようになります。

図2:注文のER図
図2:注文のER図

このとき、「ごめん、昨日の注文キャンセルして」と顧客番号506番の顧客に言われて、注文マスタから「顧客番号506番の顧客から昨日の日付注文された」注文データを削除したとしても、顧客表から顧客番号506番の顧客のデータや商品表から注文のあった商品のデータを削除することはしませんよね。つまり、顧客表や商品表は注文マスタと関連はありますが、注文マスタのデータが削除された(削除したレコードの関連はなくなります)からといって、影響は受けません。独立性が強いエンティティです。

しかし、注文がキャンセルになったのに、注文明細にそのままデータを残しておくわけにはいきませんから、注文マスタからデータが削除されたなら、関連する注文明細のデータも削除します。そうです、注文明細表は独立性の弱いエンティティです(選択肢aは不正解、選択肢bは正解)。

では、コンポジット属性、キー属性とはなんでしょう。キー属性とは主キー列と解釈すればいいでしょう。Wikipediaには、コンポジットとは「複数のものを合成あるいは組み合わせたもの」と書いてあります。

例えば、今回の冒頭でお見せした「例1:勤怠実績表」では、この表の主キーは社員番号、プロジェクト番号、日にちの組み合わせですから、勤怠実績表の主キーはコンポジット属性です。

それならば、設問の注文明細表の主キーは、注文番号と商品番号の組み合わせであって、個数ではありませんから、選択肢cおよびdは不正解ですね。

ところで、最後の設問は「第1回まずは相手を知ろう! 12c SQL試験の出題傾向と難易度」1問目とほとんど同じであったことにお気づきになったでしょうか。一度勉強しても、普段使わない知識はすぐ忘れてしまいますので、受験前にはもう一度この連載に目を通してみてください。

ということで、次回はここまでの内容の実力診断をかねて総復習をしましょう!

この記事は参考になりましたか?

  • Facebook
  • Twitter
  • Pocket
  • note
  • hatena
めざせオラクルマスターホルダー! Oracle DB 12c SQL基礎 弱点克服スクール連載記事一覧

もっと読む

この記事の著者

林 優子(ハヤシ ユウコ)

日本オラクル株式会社の教育ビジネスのスタートアップを全面的に支援し、バージョン5の頃からOracleに携わるベテラン講師として知る人も多い。Oracle認定講師を表彰するExcellent Instructorを連続受賞。1ランク上のITスペシャリスト育成を目標に、データベース分野にとどまらず「プレゼンテーション」、「ロジカルシンキング」などのトレーニングも手がけている。著書に『オラクルマスター教科書』シリーズ(翔泳社)、『プロとしてのデータモデリング入門』(SBクリエイティブ)など。その他、雑誌執筆、著書・メディア出演も多数。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事をシェア

  • Facebook
  • Twitter
  • Pocket
  • note
  • hatena
HRzine
https://hrzine.jp/article/detail/351 2017/01/24 12:35

Special Contents

AD

Job Board

AD

おすすめ

アクセスランキング

アクセスランキング

イベント

HRzine Day(エイチアールジン・デイ)は、人が活き会社が成長する人事のWebマガジン「HRzine」が主催するイベントです。毎回、人事の重要課題を1つテーマに設定し、識者やエキスパードが持つ知見・経験を、参加者のみなさんと共有しています。

2024年2月1日(木)12:00~17:40

イベントカレンダーを見る

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング