More info...

2013-11-29

DBエンジニアのための技術勉強会で発表したスライドを公開しました。

DBエンジニアのための技術勉強会というイベントで、リレーショナルモデルにおけるDB設計について話す機会を頂いた。リレーショナルモデルは非常に重要であるにも関わらず、現場ではないがしろにされてしまっている。その結果、アプリケーションのロジックを上手くクエリで表現できず、開発現場では非効率な開発が行われ、多くの人がデスマ的な状況に追い込まれている。そういう危機意識について、これまで何度か本ブログでも書いてきたし、WEB+DB Pressで連載している動機もその点にある。リレーショナルデータベースはやはりリレーショナルデータベースとして使うべきだ。そのための鍵となるのが、DB設計である。

今回はなんと約2時間の持ち時間を頂いた。リレーショナルモデルについてはこれまで何度か話す機会を頂いたが、2時間というのは最長記録である。それに合わせてスライドもボリュームたっぷりのものになった。過去のスライドと比較しても、かなりバージョンアップした内容になっている。


当然、このスライドは「解説するために用いる資料」として使う前提で作成したものであるため、セミナーでは口頭で補った内容がかなりあるのでその点には注意して頂きたい。やはりスライドを見ただけでは伝わりにくいポイントもいくつかあるだろう。機会があれば(というか要請があれば)、同じ内容で良ければプレゼンを行いたいと思う。

このプレゼンで伝えたかったことを極めて手短にまとめるとこうだ。

リレーショナルモデルをよく理解すること

道具を上手に使うには、その道具がどういうものであるかを良く知らなければならない。リレーショナルデータベースにおいて上手にDB設計を行うには、やはりリレーショナルモデルへの理解が不可欠である。リレーショナルモデルとはどういったデータモデルであるのかということを理解するのが、まず最初の第一歩となる。

正規化(および直交性)を実践すること

リレーショナルデータベースを使って効率的に開発を行うには、リレーショナルモデルにおけるデータベース設計理論である、正規化理論を実践する必要がある。正規化については、残念ながら誤った解説が非常に多く、その結果正規化について誤解している人がたくさん居るように思う。

正規化理論について正しい知識を身につければ、なぜ正規化が必要なのか、あるいはなぜリレーショナルデータベースが素晴らしいのかという点についても理解できるだろう。

リレーショナルモデルモデルの限界を理解すること

この世に銀の弾丸というものは存在しない。それはデータモデルについてもまた然りである。リレーショナルモデルは非常に優れたデータモデルであるが、全ての場面でリレーショナルモデルを適用できるわけではないのである。

リレーショナルモデルが適用できないのはどういったケースなのか、なぜSQLを使ってリレーショナルモデルに適合できないデータを扱うことができるか、そして具体的にどのように問題を解決するか。リレーショナルモデルに収まる範疇の問題だけでなく、リレーショナルモデルを適用できないケースについても正しく理解して初めて、「リレーショナルモデルが分かった!」と言えるのではないかと思う。

ディテールを詳しく解説すると2時間コースとなったが、それでもまだまだ語り尽くせないことはたくさんある。まだまだこれからもリレーショナルモデルについての啓蒙活動を続けて行きたいと思う。

最後に、DBエンジニアのための技術勉強会を主催してくださったエンバカデロ・テクノロジーズ様に改めてお礼申し上げたい。また、来場して下さった皆様にも深く感謝している。ありがとうございました!!

p.s.

今回のセミナーの内容については、@garage-kid氏がまとめて下さった。(ちなみに、かなり褒められすぎだと思うので非常に恐縮である。)最後の質疑応答は自分でメモすることは出来なかったので大変助かった。ありがとうございます!!

3 件のコメント:

  1. 大和田です。今度この内容を当社のアカデミー(社員だけでなくその友人などを呼んでの勉強会)で使って宜しいでしょうか?

    返信削除
  2. 大和田さん、コメントありがとうございます。

    ライセンスはCC-ND(再配布OK、商用利用OK、改変不可)なので、その範囲であれば全く問題ありません。

    返信削除
  3. s/CC-ND/CC-BY-ND/

    BYを入れ忘れてました。

    返信削除