DBの種類
リレーショナルデータベース
Excelやスプレッドシートなどでよくみられる二次元型の表.直感的であるため,データの取り扱いが簡単
オブジェクト指向データベース
データと操作をまとめてオブジェクトという.(JavaやC#などがオブジェクト指向言語)
そのような一つのオブジェクトを保存するDB
XMLデータベース
XML形式のデータを扱おうというもの.階層構造が得意.
キー・バリュー型ストア
{識別キー,値}の組み合わせだけの単純なデータベース.単純なデータ構造なので高速な処理がしやすい.
ドキュメント型データベース
JSONみたいなやつ.
システム開発の設計工程
- 要件定義
- 設計
- 開発(実装)
- テスト
要件定義
システムが満たさなければならない機能やサービス水準の洗い出しの工程
設計
要件定義で定義された要件を満たすために必要なシステムの設計(デザイン)のこと
開発
設計に従って要件を満たすために開発をする工程.実装するともいう.
テスト
開発した制作物が本当に要件を満たしている品質なのかを確認するテストの事.
開発モデル
ウォーターフォール
要件定義 -> 設計 -> 開発 -> テストを逆戻りせずに一つずつ行う開発手法.
逆戻りできないので,一つ一つ精密に仕上げることが重要
アジャイル開発
要件定義 -> 設計 -> 開発 -> テストの工程を細かい単位で行い,循環する手法.
細かい単位で顧客にフィードバッグを貰うことができれば,意思疎通の祖語や要件定義の取りこぼしが少なくなる.
変更を繰り返していくうちに,徐々に吸収する要件が大きくなりすぎることにも注意
DOA/POA
DOA:データ集中アプローチ
データを中心にシステムを作成する手法
POA:プロセス集中アプローチ
プログラムを中心にシステムを作成する手法
近年ではDOAが主流 -> プロセス中心では,プログラムをしていく過程でデータを追加する,工程が起きてしまいデータに冗長性が生じてしまう.
しかし,データ中心では先ほど述べたようなことは起きない.データを永続的に管理することができ,データを中心にすると仕様変更の時などの時にも容易.
三層スキーマ
- 外部スキーマ = ビューの世界(ユーザー目線)
- 概念スキーマ = テーブルの世界(開発者目線)
- 内部スキーマ = ファイルの世界(DBMSの世界)
概念スキーマの存在意義
結論:データ独立性が担保されるため.
概念スキーマを内部スキーマの方に組み込んでしまうと,内部スキーマを変更するときに概念スキーマの内容も変更しなければならなくなってしまう. -> 変更に対する柔軟性がない
外部スキーマからの独立性 -> 論理的データ独立性
内部スキーマからの独立性 -> ぶつりてきでーたどくりつせ