タイムマシーンがあったら、過去と未来どちらに行く?

データベースのスキーマについてなかなかイメージがわきません。

そこでお聞きしたいのですが、
1.
データベースを ANSI/SPARC の3層スキーマ構造によってモデル化した。このとき、アプリケーションプログラムを論理的なデータから切り離して、データの独立性を保証するために使用されるスキーマはどれか。

ア 概念スキーマ
イ 外部スキーマ
ウ 格納スキーマ
エ 内部スキーマ
答え イ

2.
ANSI/SPARC の3層スキーマ構造で、データ処理上必要な現実世界のデータ全体を定義し、特定のアプリケーションプログラムに依存しないデータ構造を定義するスキーマとして、適切なものはどれか。
ア 概念スキーマ
イ 外部スキーマ
ウ サブスキーマ
エ 内部スキーマ

答え ア

の二つの問題で注目する違いの部分はどこになるのでしょうか?

最初はアプリケーションプログラムから切り離すものは「外部スキーマ」と覚えるようにしていてどちらも「外部スキーマ」が答え としていたのですが、
現在は自分なりに検討してみて
1.データの独立性、2.データ構造 の違いが答えの違いなのかなと思っています。

本を読んでいてもネットで探しても数行で説明が終わり具体的な違いがイメージでわきません。できれば「概念スキーマ」「外部スキーマ」の考え方も教えていただけるとありがたいです。

A 回答 (2件)

実際に、私の方でもググってみましたが、なかなかいいのがありませんでしたね。



強いてあげれば、以下のサイトのが一番しっくりときますが、

のんびりやろう!情報処理試験!(blog版)
データベースの3層スキーマ構造
http://blog.livedoor.jp/it_exam/archives/5019604 …

イメージ的には、こっちの方でもよろしいかと。

徹底研究!情報処理試験(0319号) - 3層スキーマ
http://mt-net.vis.ne.jp/ADFE_mail/0319.htm


ポイントは、エンドユーザが利用するアプリケーションプログラムから、DBに向けて、

プログラム→外部スキーマ→概念スキーマ→内部スキーマ→DB

となっていることです。

アプリケーションプログラムに近いほど「依存している」と言えますし、その逆もまた真です。

ちなみに、

View→「アプリケーションプログラムを論理的なデータから切り離」すことで定義されたデータ構造。

Table→データ処理上必要な現実世界のデータ全体を定義し(いわゆる「データの正規化」)、特定のアプリケーションプログラムに依存しないデータ構造。

ですね。
    • good
    • 0

現実世界


 ↓
【概念スキーマ】
システム全体で必要なもののみ定義した論理的なデータの全体集合
 ↓
【外部スキーマ】
特定アプリで必要なもののみ定義した論理的なデータの部分集合

という説明がよく用いられますから,

2.のポイントは,
>データ処理上必要なデータ「全体」を定義
>「特定のアプリに依存しない(=システム全体の)」データ構造

1.のポイントは,
>アプリを「論理的なデータ(の全体=概念スキーマ)」から切り離し
>「データの独立性」

というキーワードにあると思います。
ちなみに,
特定のアプリに依存するデータ構造が「外部スキーマ」で,それを概念スキーマから分離して別に定義することで,アプリからの「(概念)データの独立性」を実現するわけです。
    • good
    • 0
この回答へのお礼

なんとなくわかりました。ありがとうございます。

お礼日時:2008/04/14 13:19

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報