MochiuWiki : SUSE, EC, PCB
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
検索
個人用ツール
ログイン
Toggle dark mode
名前空間
ページ
議論
表示
閲覧
ソースを閲覧
履歴を表示
データベース - ER図のソースを表示
提供: MochiuWiki : SUSE, EC, PCB
←
データベース - ER図
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループのいずれかに属する利用者のみが実行できます:
管理者
、new-group。
このページのソースの閲覧やコピーができます。
== 概要 == 一般的に、DAが概念データモデルと論理データモデルを作成して、DBAが物理データモデルを作成する。<br> しかし、アプリケーションの規模やプロジェクトの事情によっては、論理データモデルからDBAが担当することもある。<br> <br><br> == 概念データモデル == 概念データモデルは、<u>対象業務の現実の世界</u>を対象としており、<br> 「データにはどのような意味があるのか?」という視点から、意味的な集まりを見いだすことでグループ化、およびグループ間の関連付けを行い、概念データモデルを作成する。<br> <br> 実際には、ユーザからの要求や既存システムの画面や帳票等から<u>データ項目</u>を洗い出して、<br> アプリケーションの範囲やシステムの範囲ではなく、業務の中で扱っている全てのデータを扱う。 (コンピュータで記憶されるデータ以外のものも含める)<br> <br> 概念データモデルは、決して概念レベルのものを扱っているだけではない。<br> 既存システムの画面や帳票等からデータ項目を洗い出すのは、業務機能が変更されてもそこで扱われるデータは継続して利用される場合がほとんどだからである。<br> これが、データを中心にして考えるメリットである。<br> <br> 例えば、製造業のシステムを開発することが目的での場合においても、製造業のシステム領域以外のデータであれば他の会計システムや生産管理システムも扱うデータの対象となる。<br> <u>他のシステムとのインターフェイスまで含めた広い範囲のモデルを構築することが重要である。</u><br> <br> その方法として、既存システムの画面や帳票等からデータを集めること (<u>ボトムアップアプローチ</u>) は必要であるが、<br> 経営層まで参画させて、企業として将来像 (ゴール) を決定すること (<u>トップダウンアプローチ</u>)も必要である。<br> <br> 将来像が決定すれば、自ずと必要なデータも見えるからである。<br> たとえデータモデルが安定している場合でも、データのライフサイクルが短いのでは元も子もない。<br> 企業の変革のスピードが速い時代だからこそ、先を見据えた安定的なデータモデルの構築が企業競争力に繋がるといえる。<br> <br> 概念データモデルを作成する場合は、ER図 (ERD : entity-relationship diagram) が用いられることが多く、概念データモデルを表現したER図は<u>概念ER図</u>と呼ばれる。<br> <br> ER図では、「意味的な集まり」を「エンティティ」と呼び、「グループ間の関連付け」を「リレーションシップ」と呼ぶ。<br> <br><br> == 論理データモデル == 論理データモデルは、概念データモデルで洗い出したデータ項目の内、ユーザにシステム化を期待される範囲でコンピュータに記憶される永続的なデータを対象としたデータモデルである。<br> <br> 論理データモデルには、4つのデータモデルタイプ (階層型、ネットワーク型、リレーショナル型、オブジェクト型) がある。<br> データ構造を最も表現しやすいタイプに当てはめて論理データモデルを作成する。<br> <br> <u>ER図は、この論理データモデルのリレーショナル型である。</u><br> <br> 一般的に、データベースの実装方式がリレーショナルデータベースであることを前提として、論理データモデルのタイプにリレーショナル型を選択している。 (※備考を参照)<br> <br> リレーショナル型の表記には、ER図を使用する。<br> 論理データモデルを作成する場合は、<u>リソース系エンティティ</u>および<u>イベント系エンティティ</u>の切り出し、それらのリレーションシップを整理する。<br> また、エンティティ内に詳細な属性を定義して、コード設計により体系化する。<br> さらに、概念ER図とは異なり、データがコンピュータに蓄積されることを考慮するため、システム的に重複や無駄の無いデータ管理を実現するため、<u>正規化</u>を行う。<br> <br> 以下に、論理データモデルの作成における重要な事柄を示す。<br> * システム化の範囲において、コンピュータに記憶される永続的なデータを対象とする。 * 概念ER図のエンティティを、<u>リソース系エンティティ</u>と<u>イベント系エンティティ</u>に切り出す。 * システム的に重複や無駄の無いデータ管理を実現するため、<u>正規化</u>を行う。 * 論理データモデルは、ER図で表す。 <br> ※備考 論理データモデルはデータベースの実装方式とは独立している。 論理データモデルをリレーショナル型で作成することと、データベースの実装方式としてリレーショナルデータベースを採用することは等価ではない。 あくまでも、論理データモデルのデータ構造の表現形式の1つとしてリレーショナル型があり、論理データモデルは実装方式には依存せず、独立した関係にある。 しかし、現実的には論理データモデルのタイプにデータベースの実装方式を一致させることは設計において非常に効率が良く、一般的に行われている。 例えば、論理データモデルのリレーショナル型の表記に使われるER図は、リレーショナルデータベースの実装にマッピングしやすい。 (エンティティ → テーブル、リレーションシップ → リレーションシップ) 設計フェイズにおいて、一貫してER図を使用することにより、見通しの良いモデリングを行うことができる。 要件としてデータベースの実装方式がリレーショナルデータベースであることがあらかじめ判明している場合は、あえて論理データモデルのタイプに階層型やネットワーク型を採用することはない。 <br><br> == 物理データモデル == 物理データモデルは、使用する本番環境 (ハードウェアも含む) の特性を考慮して論理データモデルを物理データモデルへ変換する。<br> <br> 物理データモデルの設計段階において、初めて、ソフトウェアとしてのデータベースを選定する。<br> 多くの場合、リレーショナルデータベースが採用されるため、Oracleデータベース、SQL Server、MySQL等の具体的なRDBMSへの実装を目的とした物理データモデルを作成する。<br> <br> したがって、物理データモデルは各データベース製品の機能に依存するため、<br> ある単一システムを設計する場合に<u>概念データモデル : 論理データモデル = 1 : 1</u>であるが、<br> <u>論理データモデル : 物理データモデル = 1 : N (実装するデータベース製品の種類)</u>という特徴がある。<br> [[ファイル:Database ER Diagram 1.png|フレームなし|中央]] <center>図. データモデルの位置付け</center><br> <br> <u>物理データモデルの作成では、データ型の定義、ビューの定義、インデックス設計および定義、各種のパラメータ設定等の物理的な環境に依存した物理データモデルを作成する。</u><br> <u>また、非機能要件としてのパフォーマンスチューニング等 (データ容量、表領域の計算) の調整もここで行う。</u><br> <br> 検索等のパフォーマンスを考慮して、<u>非正規化</u>を行うこともある。 (非正規化は、必ず実施するわけではないことに注意する)<br> <br> 物理データモデルの作成において、重要なことを以下に示す。<br> * RDBMS全般の知識、製品固有のデータベースの知識を駆使する。 * <u>インデックス設計</u>を行う。 * 必要であれば、非正規化を行う。 * <u>非機能要件としてのパフォーマンスチューニング」を行う。<u> <br> [[ファイル:Database ER Diagram 2.png|フレームなし|中央]] <center>図. データベースを構築するまでの流れ</center><br> <br><br> {{#seo: |title={{PAGENAME}} : Exploring Electronics and SUSE Linux | MochiuWiki |keywords=MochiuWiki,Mochiu,Wiki,Mochiu Wiki,Electric Circuit,Electric,pcb,Mathematics,AVR,TI,STMicro,AVR,ATmega,MSP430,STM,Arduino,Xilinx,FPGA,Verilog,HDL,PinePhone,Pine Phone,Raspberry,Raspberry Pi,C,C++,C#,Qt,Qml,MFC,Shell,Bash,Zsh,Fish,SUSE,SLE,Suse Enterprise,Suse Linux,openSUSE,open SUSE,Leap,Linux,uCLnux,Podman,電気回路,電子回路,基板,プリント基板 |description={{PAGENAME}} - 電子回路とSUSE Linuxに関する情報 | This page is {{PAGENAME}} in our wiki about electronic circuits and SUSE Linux |image=/resources/assets/MochiuLogo_Single_Blue.png }} __FORCETOC__ [[カテゴリ:SQL Server]][[カテゴリ:MySQL]][[カテゴリ:その他データベース]]
データベース - ER図
に戻る。
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
Collapse