【データベース】概念モデルについて
こんにちは。ネットワークエンジニアとして働いている「だいまる」です。
今回の投稿は、データベースの基本である概念モデルの生成方法についてまとめてみたいと思います。
投稿のきっかけ
この投稿のきっかけは、データベーススペシャリスト合格に向け、本格的に勉強を始めたのですが、午後1の問題を解いた際になんとなくの理解で終わっていた概念モデルの作成について問われ、高い正答率を維持できなかったため、投稿しました。
概念モデルとは
概念モデルとは、一言で表すと「データの可視化・モデル化」です。
具体的には、データ中心アプローチの概念設計で作成するデータのモデル化になります。
モデルというだけあり、特に概念モデルは「これだ!」というものはなく、モデル化で一般的に利用されるのは、「ER図」になります。
ER図とは
概要
ER図とは、エンティティ(実体)とリレーション(関連)の2つの要素から構成される図式になります。データベースでは目にする機会が多いと思います。そのため、しっかり頭に入れておくことは非常に重要だと今回感じました。
エンティティタイプ・リレーションシップ
エンティティタイプ
エンティティタイプとは、データベースのテーブルとなる「実体」を示し、ER図では長方形を用いて表されます。リレーションシップ
リレーションシップとは、各テーブル間の関係性(関連)を示し、「ー(棒線)」で表記されます。
リレーションシップの種類
①1:1のリレーションシップ
→1つのタプル(行)に1つのタプルが対応
②1:多のリレーションシップ
→1つのタプルに複数のタプルが対応
③多:多のリレーションシップ
→複数のタプルに複数のタプルが対応
スーパタイプ・サブタイプ
次にスーパタイプとサブタイプの説明になります。
スーパタイプとは、「汎化したエンティティ」のことを指します。
例えば、「通信業界」や「ウェブ業界」、「クラウド業界」などを汎化すると「IT業界」になるとします。こういった、複数のエンティティを1つの共通エンティティにまとめたものを「スーパタイプ」と呼びます。
また、サブタイプとは、「特化したエンティティ」となります。
具体的には、先ほどスーパタイプとは逆になり、「IT業界」から分割した「通信業界」や「ウェブ業界」、「クラウド業界」といったエンティティをサブタイプと呼びます。
連関エンティティ
連関エンティティとは、多:多のリレーションシップが存在する場合、共通で一致する属性を作成し、エンティティにしたものになります。
トップダウンアプローチ&ボトムアップアプローチ
トップダウンアプローチとは、概念モデルを設計する手法の1つになります。具体的な流れは、3つのフローに分かれており、①ER図の作成、②属性の洗い出し、③正規化の順序で概念モデルを作成する手法になります。
ボトムアップアプローチとは、トップダウンアプローチの逆になり①正規化、②属性の洗い出し、③ER図の作成といった順序で概念モデルを作成する手法になります。
最後に
今回、まとめたのはデータベーススペシャリストの午後問題で出てくる概念モデルに関してでした。この知識をベースに午後問題を解いてみて、不明点等があればまたまとめていきたいと思います。
この記事が気に入ったらサポートをしてみませんか?