επιστημηさんの
DBわからん、やっぱわからん
で提示された問題
re: DBわからん、やっぱわからん 2008/04/08 15:14 επιστημη
そだそだ、
「データベースでオブジェクト指向」をネタに
勉強会でいっちょ喋ってくだちぃ > えらいひと
オブジェクト指向に基づくデータの表現、すなわち抽象化はおいといて継承/委譲/多態モロモロを表で表現できるのか、どう表現するのか、表現できないものはあるのか、その代替案はあるのか、などなどなど。
オーディエンスはDBわからんちんのεπιστημηを想定してください。わかってんのは"タテ/ヨコの四角い表の集合である"ことと、"カラムを使って表を繋ぐことができる"ことダケです (^^;;;;;
問題の置き換え
そもそもRDBMSの1レコードというのはカラムの追加というのはできないものです。
C言語など参照によって情報が繋がれるグラフ理論の世界と、RDBMSの集合論によって情報が繋がれる世界では
いろいろと違いはありますが、とりあえず一意なキーを用いることで参照のような表現は可能です。
これを拡張できるようにせよ、という話題なのだから、C言語の構造体に継承による拡張機能を持たせろ、
という問題に書き換えて考えると考えやすいのかもしれませんね。
RDBMSはメソッドを持たない
引用部分にありますが「継承/委譲/多態モロモロを表で表現できるのか」という部分は、
そもそもデータのみでメソッド(関数)を持たないRDBMSでは無理としか言わざるを得ません。
私が過去に書いている
リレーション型オブジェクト指向の試案では、このRDBMSのレコードにメソッドを取り付け、
型システムをとりつけ、オブジェクト指向を可能としたらどのような言語になるのか?という話でした。
ストアドプロシージャへの参照をカラムに格納できるRDBMSがあったとしたならば、
C言語で関数ポインタを用いてオブジェクト指向を試みるのと同等の方法論で
RDBMSにオブジェクト指向を持ち込めるのかもしれませんね。
投稿日時 : 2008年4月8日 16:19