人気ブログランキング | 話題のタグを見る

私は房州魂をいつまでも忘れません!!
by ikustanqueen0420
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
検索
カテゴリ
自己紹介 -mE-
日記 -Life Thinking-
生活術 -Happiness-
ニュース -Fundamental-
安房 -Last Utopia-
ドラマ -Local Human-
映画 -Global Human-
音楽 -Time Daydream-
本 -Frontier-
情報A -IT Admin-
情報B -IT Develop-
情報処理試験1 -DB-
データベース用語 -Piece-
元気のミナ素 -Minapon-
歩け歩け -Be Dreams-
ダーマの神殿-Interface To-
理想郷 -Utopia-
最新のトラックバック
以前の記事
2008年 06月
2008年 05月
2008年 04月
2008年 03月
2008年 02月
2008年 01月
2007年 12月
2007年 11月
2007年 10月
2007年 09月
2007年 08月
2007年 07月
2007年 06月
2007年 05月
2007年 04月
2007年 03月
2007年 02月
2007年 01月
2006年 12月
2006年 11月
2006年 10月
2006年 09月
2006年 08月
2006年 07月
2006年 05月
2006年 04月
2006年 03月
2006年 02月
2006年 01月
2005年 12月
2005年 11月
2005年 10月
2005年 09月
2005年 08月
2005年 07月
2005年 06月
2005年 05月
2005年 04月
2005年 03月
2005年 02月
2005年 01月
2004年 12月
2004年 11月
2004年 10月
2004年 09月
お気に入りリンク先
ライフログ
その他のジャンル
ファン
記事ランキング
ブログジャンル
画像一覧


ちょっと分からなかった用語 2 [データベース試験]

「今回の分からなかった単語」

  • NDL( Network Database Langage )
  • モジュール言語方式
  • CREATE ASSERTION 文
  • データベース編成のポインタアレイ
  • インデックス効果を無効にしてしまう問い合わせ
  • 一貫性制約の色々
  • REFERENCES 以降の記述





NDL( Network Database Langage ):
ネットワーク型データベースを扱うための言語
( SQL のネットワーク版みたいなものか???)


モジュール言語方式:
プログラム言語からデータベース操作言語を扱うための方法の一つ。
プログラミング言語内から、データベース言語で書かれたプロシージャを呼び出す方式。
一つのモジュール内に、複数の手続きを記述する事ができる。


CREATE ASSERTION 文:
テーブルやレコードに対して条件を設定させることができる(表明)
(参照性約とか、非 NULL 制約とか)
また、いくつものテーブルにまたがる制約もかける事が出来る。

[文法]
CREATE ASSERTION チェック名(多分好きな名前でよい???)
制約名


多分上記の文を、CREATE TABLE 文の内部に入れれば機能すると思うんだけど・・・。

[例1]
CREATE TABLE アナウンサ(
 アナウンサ番号 CHAR(9),
 名前 VARCHAR(20),
 所属局 VARCHAR(10),

 CREATE ASSERTION 制約設定
  PRIMARY KEY (アナウンサ番号),
  CHECK (所属局 IN (
   '日本テレビ', 'TBS', 'フジテレビ', 'テレビ朝日', 'テレビ東京')
  )
);

っで、いいんですかね????
まぁ、上記の書き方は、あまり信憑性はないのですが・・・^_^;

あと、こういう書き方も出来るようです。

[例2]
アナウンサとその出演番組を記録するデータベースがあり
テーブルは以下のように定義されている

アナウンサ(アナウンサ番号, 名前, 所属局)
出演(番組番号, アナウンサ番号)
番組(番組番号, 番組名, 放映局)

注 1 :
下線が主キーです

注 2 :
リレーションシップは
出演.アナウンサ番号 → アナウンサ.アナウンサ番号
出演.番組番号 → 番組.番組番号
が、張られているとします(参照している → 参照されている)

この時に「自分が所属している局以外の番組に出演する」という内容のデータが登録されようとした場合に、登録できないように制約をかける。

CREATE ASSERTION あんた他局の人間だろが!
 CHECK( NOT EXISTS(
  SELECT * FROM 出演, アナウンサ, 番組
  WHERE アナウンサ.アナウンサ番号 = 出演.アナウンサ番号
  AND 番組.番組番号 = 出演.番組番号
  AND アナウンサ.所属局 <> 番組.放映局
  )
 );

これが、テーブルを飛び越えて制約をかける事が出来るといわれている所以でしょうか・・・・。


データベース編成のポインタアレイ:
レコードの数にかかわらず、各レコードへのアクセスはダイレクトに行われる編成方式。
(直接編成方式と同義???)


インデックス効果を無効にしてしまう問い合わせ:
  • OR, NOT 演算子を使う
  • LIKE 句の中間・後方一致をしてしまう( ['%ガム']['%あめ%] とか)
  • WHERE 句で、計算をしてしまう( [単価 * 数量 * 1.05] とか )
  • NULL の検索([配偶者名 IS NULL]とか)
  • DISTINCTGROUP BY 句を使った場合


一貫性制約の色々:
  • 一意制約 - 指定した列(列の組)が一意であること
  • 参照制約 - 外部キーの設定をする
  • 非 NULL 制約 - 空値を入れてはいけない
  • 存在制約 - 対応する親レコードが無い場合は、子レコードを追加できない
  • 更新制約 - 値を更新する場合、適当な値を入力しなければならない
  • 形式制約 - 列に設定された「型」や「桁数」を無視した値は入力できない
  • 検査制約 - 入力された値が、特定の条件を満たしていないといけない
  • 表   明 - 複数の表にまたがる制約をかける

更新制約検査制約の違いがよくわからん・・・(-_-;)


REFERENCES 以降の記述:
参照制約の設定されている、主キー側レコードが削除された時に、外部キー側レコードをどうするかの設定。

[文法]
FOREIGN KEY (列名) REFERENCES 参照テーブル名(参照列名)
ON DELETE アクション名


上で記述した「アクション名」の部分に入る文字列によって、以下のようにアクションが変わる
  • NO ACTION(参照されていない場合のみ削除・更新可能になる)
  • CASCADE(連鎖的に対応レコードを削除する)
  • SET NULL(参照している列の値に、 NULL を挿入する)
  • SET DEFAULT(参照している列の値に、 デフォルト値 を挿入する)

by ikustanqueen0420 | 2005-02-24 11:15 | データベース用語 -Piece-
<< ちょっと分からなかった用語 3... 淡白とした生活より愛を込めて >>