忍者ブログ
淡々とお仕事のお勉強をするよ
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

昨日の記事ではタイトルにしたくせに詳しく書かなかった DDL について覚書。

  • 別にデータベースに限ったものではない
  • さらに言えば SQL のことでもない。SQL の仕様で定義されている機能の一部でしかない

ところで

現在一般的なバージョンってどれなんだろう。データベースの種類によっていろいろ方言があるようなので、そちらに準拠して学んだ方がいいかな。

PR

一貫性制約とは、データベースに収める情報に意図した性質を保たせるよう設けるルール。キー制約外部キー制約もその一部。データ定義言語 (Data Definition Language, DDL) により定義され、通常 SQL で記述される。

検査制約・表明・トリガ

当然のことながら、一貫性制約は新たなデータが挿入される度に検討されねばならない。リレーショナルデータベースにおいてそれを実現する機能は、検査制約、表明、トリガの 3種類に大分される。検査制約は単一の、表明 (assertion) は複数のリレーションにまたがる性質を保持するために働く。トリガは ECA (event-condition-action) ルールを実装する。
いろいろごちゃごちゃ例が書いてあるけど、SQL 文はまだ理解できないので後で。

引き続きリレーショナルデータベース入門新訂版から。
外部キー - Wikipedia
いろいろ書いてあるのはいいんだけど、具体的にどのような場合に適用されるのかが分かりづらい。例を見てみよう例を。というわけで、書籍 (P. 38) で挙げられたケースを引用しておく。

  • リレーション 社員の所属値には、リレーション 部門に登録されている部門番号か、空値しか入り得ない。
  • リレーション 部門の部門長値には、リレーション 社員に登録されている社員番号か、空値しか入り得ない。

実際のデータベースでは、空値になった場合には NULL の代わりに、あらかじめ設定された既定値を設定させる (SQL:2003 なら SET DEFAULT) こともできるようだ。

リレーショナルデータベース入門新訂版を読んいでる。
データベース設計 (もちろん、中に収める情報の方を指す) の制約について細切れに出てくるので、なるべくメモしておきたい。まずはタイトルに出てくるキー制約から。

(P. 36)

(1) 主キーはタップルの唯一識別能力を備えていること
(2) 主キーを構成する属性の値は空値(null value)をとらないこと

(1) はともかくとして、(2) はうっかりすると忘れそうだ。
主キー制約という言い方の方が一般的みたい。

携帯メールから更新出来るのは知ってたけど、web からログインして更新も出来るんだ。ヘルプは読んだけど記憶になかった。
我が家にはお洒落な皿がない。そうこうしているうちにドーナツが全部食われた。ひどいや(´・ω・`)

突然ですが C++ の勉強です。参考ページは C++ 入門を選びました。3 まで。

C++ で Hello World

cout << "hello" << endl;

いきなりこの記述になるのが C++ の特殊性を感じさせすぎて Hello World で引き返してしまった経験のある人も多いんじゃないか。自分のことだけど。
しかし、

  • JavaScript: document.write('こんにちは、' + name + 'さん。\n');
  • Perl: # ヒアドキュメント
    print <<HELLO_WORLD;
    こんにちは、$nameさん。
    はじめまして !
    HELLO_WORLD

に対して

printf("こんにちは、%sさん。\n",name);

なので、むしろ C が特殊なのではという気もしてくる。あまり意味のない感想。

cout / cin

実際は std::cout 、std::cin 、std::endl。 using namespace std; 宣言で std:: を省略できる。

参考リンク

std::cout - ...ing logging 3.0

パッと思いついたメリットは次の2つ.

  • printf では型指定を間違うとクラッシュする問題があったが,std::cout では型を自動認識してくれるためこの問題が起こらない.
  • オブジェクトなので関数やクラスに渡して持ち運びできる.
忍者ブログ [PR]


Designed by A.com
カレンダー
04 2024/05 06
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
フリーエリア
最新TB
バーコード
ブログ内検索
アクセス解析
プロフィール
HN:
tnmt
性別:
非公開
(image created by E-Mail Icon Generator)