初級シスアド試験対策FAQ

          

E-R図の主キー、外部キーがよくわかりませんでした。1対多とか多対多の意味が分かりませんでした。

7月 11th, 2008 by miura

まず1対多、多対多について理解しておきましょう。

講座 対 講師 の関係が1対多である場合、一つの講座には1人の講師がつきます。そして、1人の講師は1つの講座を受け持ちます。

学生 対 講師 の関係が多対多である場合、一人の学生は複数の講師から教わります。また、一人の講師は複数の学生を教えます。

1対多の関係のときに、主キーと外部キーの関係があります。先ほどの講座 対 講師の関係を表にします。講座表と講師表をつくります。

講師表の講師番号が主キーです。そして、講座表の講師番号が外部キーになります。講師表の講師番号は、一意になりますが、講座表の講師番号は同じ講師番号が複数存在します。

講師表 講座表
A先生    データベース A先生
B先生    ネットワーク B先生
C先生    ハードウェア  A先生
ソフトウェア C先生

Posted in データベース | No Comments »


練習問題は第二正規化すれば第三正規化できるので、あたまで考えなくてもできたけれど不安が残った。

6月 13th, 2008 by miura

テキストの正規化が理解できていればOKです!そんなに難しい正規化は出てきませんよ。

Posted in データベース | No Comments »


第二、第三正規形へはどうやったら変化させられるのかがわかりませんでした。完全関数従属と部分関数従属が特によくわかりませんでした。

6月 13th, 2008 by miura

第二正規化は、主キーの伝票番号+商品コードをバラバラにして、伝票番号に従属するもの、商品コードに従属するものに分けています。そして、伝票番号に従属するものを表から分離して、商品コードに従属するものを表から分離します。

第三正規化は、主キーに推移的関数従属するものを別な表に分離します。テキストの例では、伝票番号→顧客番号→顧客名となりますので顧客番号と顧客名を別な表に分離します。そのとき、顧客番号は元の表に残しておきます。

Posted in データベース | No Comments »


第二正規形は分離した表と残った表をまとめたものを言うのですか?あと第三正規形は第二正規形のどの表に着目してもいいのですか?

6月 13th, 2008 by miura

はい、第二正規形は分離した表と残った表をまとめたものです。第三正規化の推移的関数従属はすべての表から考えてください。いくつか推移的関数従属が見つかったら、すべてを別な表に分離していきます。

Posted in データベース | No Comments »


正規化は過去問題集をみているとあまり出ていないので、あまり出ないってことですか?

6月 13th, 2008 by miura

と思っているとひょっこり出題されたりします。シスアドの試験は出ないと思っていたところが出るから怖いですねー^^

Posted in データベース | No Comments »


SQL特訓のプリント(修正版)

10月 17th, 2007 by miura

この前やりましたSQLのプリントをこちらのブログにも掲載しておきます。間違いもありましたので、修正しておきました。

SQL特訓プリント(Word)

SQL特訓プリント(解答)(Word)

Posted in データベース | No Comments »


副問合せの作り方

10月 10th, 2007 by miura

副問合せでは、まず括弧内から作成していきましょう。問18「商品番号‘’を注文した顧客の顧客名と住所を表示する」の作り方

1.「商品番号‘PX0’を注文した顧客」を副問合せで作る
SELECT 顧客番号 FROM 受注明細表
WHERE 商品番号 = ‘PX0’

2.「顧客の顧客名と住所を表示する」を作る(主問合せ)
SELECT 顧客名,顧客住所  FROM 顧客表
3.主問合せと副問合せをくっつける
SELECT 顧客名,顧客住所 FROM 顧客表
WHERE {?}
(SELECT 顧客番号 FROM 受注明細表
WHERE 商品番号 = ‘PX0’)

ここで{?}に何を入れるかですが、副問合せのSELECTで指定した列名と同じものがWHEREの列名で入ります。(これは結合と同じで、受注明細表と顧客表を顧客番号で結合するときのキーと同じです)そして、IN述語は「副問合せで選択された顧客番号のいずれか 」という条件で指定されます。

答え
SELECT 顧客名,顧客住所 FROM 顧客表
WHERE 顧客番号
IN (SELECT 顧客番号 FROM 受注明細表
WHERE 商品番号 = ‘PX0’)

Posted in データベース | No Comments »


用事があり早退したので、今日のプリントの答えをWebで掲載していただけないでしょうか。

10月 10th, 2007 by miura

答えは次回の10月11日に配布します。Webにはそれ以降に掲載します。よろしくお願いします。

Posted in データベース | No Comments »


問11はCOUNT 商品番号では間違いですか?

10月 10th, 2007 by miura

COUNT関数は括弧内はなんの列名でもかまいません。括弧つけてくださいね^^

COUNT(商品番号)でも大丈夫です。

一般的にはCOUNT(*)を使うことが多いです。

Posted in データベース | No Comments »


“○○ごと”とある場合にGROUP BYを使うんですか?

10月 10th, 2007 by miura

そうです。「商品番号ごと・・・」「顧客番号ごと・・・」などの記述が出てきたときは、GROUP BYでグループ化します。

Posted in データベース | No Comments »


« Previous Entries

検索:

AD

Recent Posts

カテゴリー:

アーカイブ:

メタ情報:

AD