Contenu connexe
Similaire à なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル) (20)
Plus de Mikiya Okuno (16)
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
- 3. 自己紹介
●
MySQL サポートエンジニア
– 日々のしごと
● トラブルシューティング全般
●
Q&A 回答
● パフォーマンスチューニング
など
● ライフワーク
– 自由なソフトウェアの普及
● オープンソースではない
●
GPL 万歳!!
– 最近はまってる趣味はリカンベントに乗ること
●
ブログ
– 漢のコンピュータ道
– http://nippondanji.blogspot.com/
- 7. 巷に溢れるあやふやな情報
●
リレーショナルモデルに触れない SQL の解説
– SQL は書けるようになるけれども・・・
●
理論に基づかないノウハウの解説
– リレーションは 2 次元の表です
– データベースは単なる入れ物です
– 正規化の目的は冗長性の排除です
– 正規形は第 3 までで OK です
– すべてのテーブルにサロゲートキーをつけるべきです
– ORM を使えば SQL は知らなくても良い
etc etc
- 21. プログラミングパラダイムと
データモデル
● プログラミングパラダイム
– 手続き型
– オブジェクト指向
– 関数型
etc etc
● プログラミング言語にはそれぞれ適した書き方がある!!
– Java はオブジェクト指向で使うべき
●
main メソッドに全てのロジックを記述するべきではない
●
データモデルにはそれぞれ適した DB 設計がある!!
– 「データベースは単なるデータの入れ物だ」という考え
方は、 Java で main メソッドに全てを記述するのに等し
い
- 36. なぜ SQL と
リレーショナルモデルは違うのか
● リレーショナルモデルには限界がある
– 格納できるデータは集合として表現できるものに限る
– 実行できる演算はリレーションの演算のみ
●
集合演算+ α
●
アプリケーションが必要とするデータは多種多様
– リレーショナルモデルだけでは足りなかった
– 更新という概念が実装上どうしても必要だった
●
トランザクション
●
つまり、純粋なリレーショナルモデルよりも SQL のほうが適
用範囲が広い
- 38. NULL の功罪
●
NULL によって、 SQL はリレーショナルモデル以上の表現
力を手に入れた!!
● しかしその代償は大きかった・・・
– Unknown な値とは一体何なのか
– 3 値論理による複雑さの上昇
– 閉世界仮設の崩壊
– オプティマイザも真価を発揮できない
●
今扱っているデータがリレーショナルモデルの範疇かどうか
を見極めることが重要!!
– NULL があってもいいかどうか