March 05, 2006

テクニカルエンジニア データベース 試験のポイント

試験のポイントがここに書かれている


午後Iでは「データベースの基礎理論」,「SQL」,「デ
ータベース設計」,「RDBMS」が4大テーマ
「データベース設計」:問題文から業務要件を読み取る
力が必要
「データベースの基礎理論」:「正規化」の理解
「SQL」:同じ意味を持つ別の文へ書換,JOIN文を使った
外部結合

午後II:「データベース設計」と「E-R図」
・問題文の長文の事例をいかに深く読み込んでモデリン
グできるかどうかが勝負
・DB試験は,アプリケーションエンジニアやシステムア
ナリストよりも深い業務知識が必要

傾向
・「関数従属」,「正規化」,「SQL」,「障害対応」,
「メタデータの内容」,「オブジェクト指向分析」,「
多次元データ分析」
・午後IIの「オブジェクト指向分析」と「多次元データ
分析(データウエアハウス)」は新しい傾向

解答で気をつける点
・正規化の種類を特徴と共に確実に覚え,間違えないよ

・すべての設問に対する解答に一貫性
・データベース技術者であっても顧客視点,ユーザー視
点を強く持つこと必要
・特に午後IIは読み取りが最大のポイント
・必ずモデルの根拠が書かれているはず(とんでもない
ところに解答の根拠が隠されていたり)
・どうして問題作成者がこの文章を入れたのかを考えな
がら

| | Comments (0) | TrackBack (0)

March 02, 2006

ログ先書出し方式

ログ先書出し方式

■キーワード■ ログ先書出し方式

■解答■
  テクニカルエンジニア(データベース)午前平成14
年問36

 エ 1 → 3 → 4 → 2 → 5 → 6

> ログ先書出し方式:コミットによる二次記憶上のデー
タベースへの書出しよりも
> 先にログ情報をログファイルに書き出す方式。
> (日経BP 3週間完全マスター テクニカルエンジニア
データベース P176)

 どうもありがとうございました。

> http://www-6.ibm.com/jp/software/data/developer/
library/techdoc/logging.html
> 「DB2 Universal Database のトランザクション・ロ
ギング概要」
> ・・・先書きロギングと呼ばれるデータベース・マネ
ージャー側の
> インプリメンテーションです。トランザクションは、
コミットしたか
> どうかに関係なく、発生すると同時にログに書き込ま
れます。
> バッファー・プールからデータベース構造へデータが
書き込まれる前に、
> トランザクションはログ・バッファーからログ・ファ
イル (トランザ
> クション・ロギング) へと移動します。トランザクシ
ョンの記録に
> 使用されるファイルをトランザクション・ログといい
ます。

 どうもありがとうございました。

| | Comments (0) | TrackBack (0)

タンデムシステム

 タンデムシステム
 タンデムシステム(直列システム)は、2台のCPUを直
列に接続した構成である。
冗長構成ではなく、稼働率の向上を目指したものでもな
い。機能分散や負荷分散が目的である。通常、主CPUに対
し、2台目には小型CPUが使われる。小型CPUは、簡単なエ
ラーチェックなどを行ったり、通信制御装置の機能を肩
代わりすることもある。

| | Comments (0) | TrackBack (0)

割込みに関する記述

http://blog.mag2.com/m/log/0000126616/106092862?page=1
アプリケーションプログラムは、通常、割込みの発生を感知する必要がない。
  割込みの発生を感知するのは、OS の中核部分であるカーネル(スーパバイザ
  とも呼ばれる)である。

| | Comments (0) | TrackBack (0)

リポジトリ チェックイン チェックアウト

http://www.atmarkit.co.jp/farc/rensai/arr02/arr02.html


バージョン管理対象のファイルはすべてリポジトリで一
括管理されます。各開発者は変更したいファイルをリポ
ジトリの中から取り出します。この操作は一般的には
ェックアウト
と呼ばれます。取り出したファイルに対し
て変更作業を行い、変更が終わったらリポジトリの中に
変更後の内容を登録します。この操作は一般的にはチェ
ックイン
と呼ばれます。

| | Comments (0) | TrackBack (1)

CORBAのアーキテクチャ

http://www.techscore.com/tech/CORBA/chapter1.html

http://www.atmarkit.co.jp/fjava/rensai/corba01/corba03_1.html

CORBAの役割を一言で表現すると、「クライアントが、ネ
ットワーク上に存在するオブジェクト(分散オブジェク
ト)を呼び出すための基盤を提供する
」ことです。CORBA
は、あくまでも基盤を提供するだけですから、この基盤
の上にアプリケーションを構築しなければ何の役にも立
ちません。

 OMGが定めた分散オブジェクト技術の仕様。異機種分
散環境上のオブジェクト(プログラム部品)間でメッセー
ジを交換するためのソフトウェア(ORBと呼ばれる)の仕
様を定めている。具体的には、ORBの基本構造や、プロ
グラミング言語からORBを利用する際の手順、異なるORB
間で相互にメッセージを交換する際の規定などを定めて
いる。

Java 2とは

 Sun Microsystems社のプログラミング言語「Java」の
第2版。Java 2はJDK 1.2と呼ばれていたものの正式名称
で、SunによるJava 2プラットフォーム対応のプログラミ
ング環境や実行環境も含む。

 従来のJava環境に比べ、HotSpotと呼ばれる高速化技術
を搭載した新しいJava仮想マシンや、柔軟性の高い新し
いセキュリティモデル、高い安定性、JFCの正式なサポー
ト、CORBAを利用した分散オブジェクト環境への対応など
の改良が加えられている。

| | Comments (0) | TrackBack (0)

DB11 PM1-3 データベーススペシャリスト試験 平成11年度午後Ⅰ 問3

DB11 PM1-3

データベーススペシャリスト試験 平成11年度午後Ⅰ 問3

この問題難易度は最も高い部類に入ると思う。
30分以上かけて挑戦したが、解けなかった。

解けない理由として、 関係フライトの候補キー
が分からなかったことである。

{a,c}→d
{b,c}→d
ならば、
{a,b,c}→d
である。

よって、候補キーは、{a,b,c}である。

アイテックの問題集と、日経BPの問題集では、
正規化について答えが違っている。

しかし、第一正規化と考える方が、適当である。


設問2
(1)第一正規化のテーブルの冗長性を上げる問題。
このあたりは、データと、冗長性をそのままイメージと
して頭にインプットしておくことが大事。
(3)テーブル分割
部分関数従属になっている
{便名、乗員、日付}→機種
を分割する。

部分関数従属部分を分割する

回答は
便(便名、機種、日付)
乗務(便名、乗員、日付)
と分割しなければいけないのかよくわからない。

| | Comments (0) | TrackBack (0)

March 01, 2006

オーバーレイ

あらかじめプログラムを幾つかの単位に分けて補助記憶に格納しておき,
プログラムの指定に基づいて主記憶に読み込む。

| | Comments (0) | TrackBack (0)

February 27, 2006

DB13 PM1-3 スタースキーマ

テクニカルエンジニア(データベース) 試験 平成14
年度午後1 問3
DB13 PM1-3


午後1のSQLの問題は、設問の、システムの状況を説明
する文が非常に複雑で、冗長であり、これをしっかり読
みこなす力が問われると思う。

実は、今回設問(1)を解くまで設問を何度も読んで
理解するまで30分以上かかった。
設問の内容は、実は大変シンプルで、コンボボックス
を使ったよくあるシステムであり難しくない。


設問を読みこなす力が重要。


それに、試験となると、時間も限られてくるから
時間内に解かなければならない。

設問1
(1)a-e は問題文を読めばテーブル間のリレーション
であることが分かる。

f の括弧には、GROUP BY の後のHAVING が入る。
HAVING の意味は

集約に関する抽出条件


括弧の位置から、HAVING を想像もできる。

設問1の(2)では、問題文の2001年のブランド別
というところを見落としており、
これにより、FROM 区内のテーブル 時間軸、
where条件の
時間軸.年=’2001’
を記入していなかった。
問題文をよくよまないといけない

| | Comments (0) | TrackBack (0)

February 26, 2006

平成13年度午後1 問3

テクニカルエンジニア(データベース) 試験 平成13年度午後1 問3


設問の文書が非常にややこしい。
最初、なぜこういうテーブル構成にするのか理解に苦しんだ。
しかし、問を読むと、聞いていることは大変単純なことで、
設問に書いてる問い合わせ をSQLにするだけだという。

ややこしい、または、理解するのが難しい項目が設問で問われている

設問2
ではorder by の後に関数が来てはいけないことをしらないと解けない。また、セレクト文の中にcount(*)
が入っていても問題ない。
このあたりキチンと理解していないとだめだ。

order by の後は

関数はこない。整数か、列名だけ


である。

設問3では、

EXISTS


を正確に理解していないと解けない。
設問3のSQLをすぐに、NOT IN を用いたSQLに書き直せるくらいでないとだめです。
EXISTSのポイントは

EXISTSの場合、副問合せ文中のSELECT句の列は*にしておけ。


EXISTSの場合、副問合せ文中のFROM句のテーブル名には、主問合せのテーブル名ははずしておく。


WHERE句には、主問合せと副問合せの仲立ちをする条件が入る


| | Comments (0) | TrackBack (0)

February 20, 2006

 ターンアラウンドタイム

ターンアラウンドタイムの説明です。バッチ処理の処理能力の指標に使われます。ターンアラウンドタイムは以下の式で表すことができます。
  ターンアラウンドタイム=処理待ち時間+CPU時間+入出力時間

| | Comments (0) | TrackBack (0)

候補キー

下の方で候補キーの議論が中途半端になっていますが、疑問だけぶつけていては
申し訳ないので、この掲示板の活性化を目指し、コメントを。

力波604 さんの、
>正規形の段階は問わず、ある表のタプルを一意に決めることのできる属性の集合を
>候補キーと呼び、候補キーが複数の場合、その内の任意に決めた1つを主キーと呼>ぶ、でいいんですよね?
は、それでいいと思います。正確に言えば、”極小”の集合とした方がいいでしょ
う。候補キーを含む、冗長なキーも考えられますが、これはスーパーキー(超ー)
と言われます。

みずおかさんが、
>第1正規形のとき、主キー(基本キー)が{A,B,C}であるとき
>第2正規形でキーになりうるのは、{A,B},{A,C},{B,C},{A},{B},{C}の
>6とおりです。
と言ったのは、第2正規形にするときには、部分関数従属するものを分離します
ので、主キーの部分集合である可能性のある6通りを挙げたのでしょう。
ただし、これを通常候補キーとは呼ばないでしょう。

また、第2正規形では、{A,B,C}も主キー(候補キー)になります。
たとえば、{A,B,C}を主キーとした関係{A,B,C,D,E}に
{A,B,C}→D,E
{B,C}→D
の関数従属性があれば、(2つめは主キーの部分に従属していることを示す)
{A,B,C,E},{B,C,D}の2つに分解され、最初の関係は、{A,B,C}が主キー
であり、2つめは、{B,C}が主キーになります。

非キー属性と言った場合は、主キー以外の属性ではなく、候補キー以外の
属性を指すので注意が必要です。平成9年午後1問1に出題されています。

| | Comments (0) | TrackBack (1)

February 19, 2006

正規化

(データベーススペシャリスト試験 平成12年度午前 問37)

私は第3正規化の定義は、

関係Rにおいて、関係Rのすべての非キー属性が関係Rの候補キーに対して、
推移的関数従属性が成立していない

だけだと考えていましたが、もう一つ、第2正規形を満たしという条件があります。

第二正規形とは、、一つのテーブルで、部分従属性が成立しておらず、関係R
のすべての非キー属性は関係Rの候補キーに完全関数従属している

つまり、非キー属性は、主キーに対して”部分関数従属”ではだめなです。

この問題では、
候補キー{b,d}の真部分集合bに非キー属性cが(関数従属するという)
”部分関数従属”のため第2正規化を満たさず、これは、第三正規化を満たさないということでした。

もう一点、この問題を解く上で理解していない点がありましたが、

それは、"c は非キー属性”と、問題文から読み取る事でした。

| | Comments (0) | TrackBack (0)

AはBに関数従属する

AはBに関数従属する
とは

B→Aのこと

→の向きに注意

| | Comments (0) | TrackBack (0)

候補キー

候補キー

候補キーとは何かを正確につかむ事

| | Comments (0) | TrackBack (0)

February 18, 2006

トランザクション 障害復旧

ACIDとは原子性(Atomicity)、一貫性(Consistency)、独立性(
Isolation)、および永続性(Durability)を意味する言葉であ
る。ACIDはデータベース管理システム(DBMS)がトランザクシ
ョン処理を行うにあたって不可欠な機能


障害復旧について

ロールバック
ロールフォワード
イメージでつかむこと

| | Comments (0) | TrackBack (0)

ext3

ジャーナリング機能

Linuxで広く使用されているファイルシステムの一つで、ext2
ファイルシステムにジャーナリング機能(データ変更をトラン
ザクションとして管理する機能)を追加したもの。

 ext3ではext2と比べて、マシントラブルからの復旧に要す
る時間が短くなっている。

 ext3は単にext2にジャーナリング機能を加えた「だけ」な
ので、
ext3非対応のシステムからでも、ext2としてアクセス
が可能となっている。それ以外の特徴はext2とまったく同じ
で、ファイルサイズ上限は4TB、パーティションサイズ上限は
16TBなどとなっている。

 ext3は安定版のLinuxカーネルでは2.4.16(厳密には2.4.15
からだが深刻なバグあり)から対応され、同バージョン以降の
Linuxではパッチを適用することなくext3を使用できる。また、
2.4.14以前のシステムでもパッチを適用すればext3は使用で
きる。

| | Comments (0) | TrackBack (0)

ロールフォワード

ロールフォワード

データベースに障害が発生したときに、記録してあるチェックポイントのデー
タを再現した上で
、ログファイルに残っているチェックポイント後の処理を再
現し、障害直前の状態にまで戻すこと。障害直前のデータが再現される。主に、
ディスクの損傷などの物理的障害に対して用いられる。

| | Comments (0) | TrackBack (0)

February 17, 2006

デュプレックスシステム デュアルシステム

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■今日の問題■☆☆(等幅フォントで見てね!)
----------------------------------------------------------------------
 デュアルシステムとデュプレックスシステムの比較に関する記述のうち、
 適切なものはどれか。

 ア デュアルシステムの MTTR は、故障系の切離し時間だけなので、
   デュプレックスシステムの MTTR よりも短い。

 イ デュアルシステムは、アベイラビリティの向上に役立つが、
   デュプレックスシステムは、アベイラビリティの向上に役立たない。

 ウ デュプレックスシステムは、デュアルシステムよりも
   はるかに信頼性が高いシステム構成である。

 エ 同一のハードウェア構成ならば、正常に機能している限りは、
   デュアルシステムの方がスループットが高い。


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■解答■(出典:H9. 1種 問76)
----------------------------------------------------------------------
 ア デュアルシステムの MTTR は、故障系の切離し時間だけなので、
   デュプレックスシステムの MTTR よりも短い。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■解説■
----------------------------------------------------------------------
 システム構成技術の問題に入っています。
 今日は、システムの構成に関する問題でした。


 デュアルシステム(dual system) とは、同じシステムを2つ用意しておき
 両方で同じ処理を行うシステムを言います。整合性を高めるために、
 一定時間ごとに処理結果のチェックを行います。

 #デュアル=同じものが2つ

 同じものを2つ使うのでコストはかかりますが、片方が故障した場合は
 切り離してしまえば良いので、信頼性は高いです。

          ┌─┐
          │通│       
          │信│ ┌───┐  ┌────┐
       ┌──┤制├─┤CPU├──┤周辺装置│
       │  │御│ └───┘  └────┘
       │  │装│
   ┌───┤  │置│
  ─┘┌──┤  └─┘ ┌───────────────┐
  ──┘┌─┤      │照合チェック(クロスチェック)│
  ───┘ │  ┌─┐ └───────────────┘
       │  │通│
       │  │信│ ┌───┐  ┌────┐
       └──┤制├─┤CPU├──┤周辺装置│
          │御│ └───┘  └────┘
          │装│
          │置│
          └─┘

 また、デュプレックスシステム(duplex system) とは、下の図でいうと
 「運用系」のメインの方でオンライン処理を行い、「待機系」の予備の方で
 バッチ処理を行います。

 メインの方が故障した場合は、予備のほうに切り替えます。
 デュアルシステムより安価で一般的なシステムです。

 #デュプレックスとは「2重化」という意味です。

      ┌─┐
      │通│ ┌─┐ ┌───┐ ┌─┐ ┌───────┐
  ┌───┤信│ │切├─┤CPU├─┤切├─┤運用系周辺装置│
 ─┘┌──┤制├─┤替│ └───┘ │替│ └───────┘
 ──┘┌─┤御│ │装│ ┌───┐ │装│ ┌───────┐
 ───┘ │装│ │置├─┤CPU├─┤置├─┤待機系周辺装置│
      │置│ └─┘ └───┘ └─┘ └───────┘
      └─┘

 「デュプレックスシステム」と「デュアルシステム」を比較すると

  ○デュプレックスシステム=2重化されたシステム

  ・運用系(メイン)と待機系(予備)が別業務
  ・メインに障害が発生したら、予備の処理を中断させて
   予備がメインの処理を引き継いで行う

  ○デュアルシステム=同じものが2つあるシステム

  ・2つのシステムが同じ業務
  ・片方に障害が発生したら、そのまま切り離す

 ・・・っていうカンジです。


 選択肢を順に見ていきましょう。

> ア デュアルシステムの MTTR は、故障系の切離し時間だけなので、
>   デュプレックスシステムの MTTR よりも短い。

   デュアルシステムの MTTR は、故障形の切り離し時間で
   デュプレックスシステムの MTTR は、待機系への切りかえの時間に
   なります。

   よって、システムを切り換えるよりも
   切り離す方が時間はかからないので、これが正解ですね。


> イ デュアルシステムは、アベイラビリティの向上に役立つが、
>   デュプレックスシステムは、アベイラビリティの向上に役立たない。

   デュプレックスシステムは、メインシステムが故障したときに
   待機系に切り換えて処理するので、アベイラビリティの向上に
   役立ちます。


> ウ デュプレックスシステムは、デュアルシステムよりも
>   はるかに信頼性が高いシステム構成である。

   デュプレックスシステムは、メインと予備が別業務
   デュアルシステムは2つのシステムが同じ業務を行い、
   2つのシステムの結果を照合しながら処理を行っているので
   信頼性が高いのは、デュアルシステムです。


> エ 同一のハードウェア構成ならば、正常に機能している限りは、
>   デュアルシステムの方がスループットが高い。

   デュプレックスシステムは、メインでオンライン処理
   予備でバッチ処理というような運用が可能なので
   スループットが高いのは、デュプレックスシステムですね。

| | Comments (0) | TrackBack (0)