とある会社の勉強会

とある会社で勉強会を開催し、その奮闘記を徒然なるままに綴っていきます。

第6回目 2013.12.13

漢とはなんぞや…。

 

かつて万針房で三号生の独眼鉄先輩は問いかけました。

全ての漢がこの問いかけに明確な回答を見いだせないまま、時は流れ、草食系等という言葉も最早、定着してしまった2013年冬…。

 

我がTBKにて、漢のDB講座 〜設計編〜 が開催されるに至りました。

 

 

今回参加した精鋭は3名(>_<)

 

う〜ん…。師走の寒さが身にしみます…。

 

ただ、この寒さも吹き飛ばすほど、熱く、汗臭いプレゼンが開始されるのでありました。

 

プレゼンの概要は以下

1.データベースとは

2.リレーションとは

3.設計手法とは

4.キーとは

5.正規形とは

6.質疑応答

7.演習

 

データベースはデータを格納するものって目線であれば、どんな形態でも良いんですが、

無駄なく効率的にかつ効果的に格納する場合、正しいルールに則って行わないと、

後々、問題が発生します。

 

時間が経てば、そのBADノウハウがローカルルールになり、

そのローカルルールしか知らないモンスターが産み落とされ、

さらに悪循環に陥ることもしばしば…。

 

そんな不幸の連鎖を断ち切るそんな大義名分を抱えながら、

会は進んでいきました(?)

 

そして、86枚のスライドが漢を感じる資料のもと

活発な(?)意見も多くいただき、

レゼン資料にも沢山突っ込みをいただきました。

感謝です。

アップしたファイルはその辺は修正したものを配置しております。

 

質疑や意見が出たものをチョイスします。

 

Q1.

キーの値が変わる場合が多々ありますが、こういう場合はどうしたら良いでしょうか?

A1.

リレーショナルモデルの厳密性から言えば、変化しうる値をキーとした時点で、設計の誤りです。

数値など変化がないものをキーとして設定しましょう。

 

Q2.

マテリアライズドビューをは何でしょうか?

A2.

ビューが実体を伴わない仮想的なテーブルであるのに対して、マテリアライズドビューはテーブルを保持するものです。

自動作成されるワークテーブルと考えると分かりやすいかもしれません。

更新されるタイミングは任意で変更可能です。

 

Q3.

クエリーリライト機能とは何でしょうか?

A3.

Oeacle Enterprise Editionに搭載されている、SQL(クエリー)の読み替え機能です。

設定しておく事で、Oracleオプティマイザがより高速な実行になる、有効なマテリアライズドビューがあれば、

プログラムのSQLを修正する事なく自動的にそのマテリアライズドビューを参照してくれます。

 

(補足)

クエリー・リライト - オラクル・Oracleをマスターするための基本と仕組み

Oracle 基本的なクエリー・リライト

 

Q4.

NoSQLって何ですか?

A4.

(サンプルとしてキーバリューストア型で)

行指向とも言われますが、キーとなる項目を特定して、CSVのようなカンマ区切りで残りの項目が入っているイメージです。

これは大量データを取り扱うときにRDBでは速度に難があるため、作られたモノです。

※リレーショナルモデルでは非正規形

高速に表示される反面、リレーショナルモデルにあるAトランザクションACID特性を犠牲にしている場合があります。

 

…説明下手のため、以下に補足

 

NTTデータ クラウド時代のデータベース選択

@IT NoSQLはRDBMSに取って代わるものなのか?

 

 

 

演習については、皆さん業務でDB操作経験も豊富なため、割とすんなり…。

一応、スーパータイプ/サブタイプ問題をチョイスしたのですが、簡単すぎたかもしれませんね。

 

 

と言った感じで、漢臭い会は終了しました。

 

今回一番言いたかったのは

『引き出しを多く持つ!』

ってことです。

 

 

独眼鉄先輩こんな回答でいかがでしょうかwww

 

 

 

次回は1月10日かも…。