試験概要
春の試験がなくなってしまい、今後のスケジュールがわからないものの次に受けたいものの勉強を始めてもいいかと思いました。 つまり、試験日は
メモ
データベースの基本
データモデル
- 概念データモデル:ユーザーの要求に基づいて、必要なデータなどを大まかにまとめたモデル
- 論理データモデル:システム上必要な属性を決めて、実装可能な状態で定義したモデル
- 物理データモデル:実装上最適な形で属性の型やデータベースの物理的な配置を定めたモデル
エンティティの決定
実際の業務の内容の調査やヒアリングを通して、業務上でシステム化する範囲・何をエンティティとすべきかを決定する。
- 例:
- XXXする→イベント系エンティティの候補
- 単語→リソース系エンティティの候補
www.slideshare.net
論理データモデルの種類
- 階層型データベース
データ群を木構造を木構造で表現。下層のデータが交わる子tがない。
- ネットワーク型
上記と異なり下層のデータ間に関係をつけることもできるが、自由度が高い分設計が複雑になる。
- 関係
データ間を外部キーの関係で表現する。データベース=関係の集まりと捉えたモデル。
- オブジェクト指向
参考文献
【初級】ゼロから学ぶDOA 最終回 | 日経クロステック(xTECH)
II-16-4. ORマッピングの仕組み | 日本OSS推進フォーラム
関係代数
「関係代数」を理解する (1/3):「データベーススペシャリスト試験」戦略的学習のススメ(11) - @IT
www.slideshare.net
三値論理:True・False・NULLの3つの値で状態を表現
試験範囲ではないだろうが、True・Falseによるフラグ+NULLをどのような状況で利用すべき・利用すべきでないかは知っておきたい。またNULLが値に含まれる可能性がある論理演算では意図しない結果に注意すること。集計時のNULLの扱いにも注意。
NULL はデータの欠落をあらわす、任意の値や別の NULL と等号や不等号は成立しない。
連結演算子は一方だけが NULL である場合は結果は NULL とならない。 2つのオペランドが NULL の場合には NULL となる。(下記サイトより引用)
参考文献
www.slideshare.net
システム開発
- プロセス中心
データフロー図や状態遷移図を用いてデータの流れを表現して、必要な機能を決定する。プロセスを速く動かすことが優先された設計になる。データが冗長になっている箇所が発生すると、ファイル変更時にその影響範囲を確認する必要がある。
- オブジェクト指向
シーケンス図やUML・データ・メソッドを一体化したクラスを用いて業務上のシステムを表現する。
- データ中心
一つのデータは一箇所にしか存在しないようにして、データの一貫性・整合性を保つように設計する。
上記の方針はデータベースの設計のみを対象にしているが、さらにユーザー要件を踏まえてつつ最終的な設計を行う。
- システム構成
- バックアップ・リカバリーの仕方
- ネットワーク上の制限
など。
CRUD分析
C(Create)、R(Reference)、U(Update)、D(Delete)を用いて表データに対する処理を表現し、データベース設計時の整合性や運用(データの保存期間やリカバリーポイントの決定)の分析を行う。
参考文献
【DB概論】データベース設計の重要性とデータ中心アプローチ (1/2):できるエンジニアになる! ちょい上DB術・基礎編(5) - @IT
データ独立と3層スキーマ
外部スキーマ
データベースの構造について理解する必要がないユーザー・アプリケーションに提供されるデータベースの記述。例:ビュー
概念スキーマ 外部スキーマと内部スキーマの中間の存在。エンティティやテーブルの関連を表現する。例:テーブル
内部スキーマ 概念スキーマをコンピュータ上に実装するための記述。例:インデックス
参考文献
「ANSI/SPARC 3層スキーマアーキテクチャ」を理解する:「データベーススペシャリスト試験」戦略的学習のススメ(4) - @IT