ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

UML等各種ダイアグラムのエラーチェック体系化(その11:ダイアグラムをグラフ理論化-2)

2009-07-07 20:59:22 | Weblog

 前回までの話、いろんなダイアグラムをRDBにいれよう!化計画、

 今、ダイアグラムの構成要素を、ノード、リレーション(エッジ)、属性、属性値に分けようとしています。

 そして、前回、
  その構成要素単独で意味をなすもの
 をノードとしました。

 今回は、その反対、つまり
  その構成要素単独で意味をなさないもの
 について考えます。




■その構成要素単独で意味をなさないもの

 これはつまり、ある構成要素と他の構成要素を結びつけたり、
 ある構成要素の説明になっているようなものがあります。

 今回は特に、「ある構成要素と他の構成要素を結びつけ」る物について考えます。
 言い換えれば、これは、2つ(以上)の構成要素を結びつけるものです。

 これを、ここでは、リレーションと呼びます。グラフ理論のエッジです。

 これの例としては、
 ・ER図のリレーション
 ・DFDのデータフロー
 ・流れ図などで書く→線
 ・音符の連符のところについている、音符間の線(って、なんていうんだろう ^^;)




■みえないけど、ひかれているリレーション

 なお、前ノードの上に、ノードが載っていることもあると書きましたが、その場合、
2つのノード間に関係があって結びついていれば、リレーションがあるとみなします。
 つまり、線が引かれているとみなします。

 前回、落書きした場合について書きました。その際、たまたま上に書かれていても
落書きは、ドキュメントと内容が関係なければ、上にあっても関係ないと書いた理由は、
このように、ドキュメントと落書きが関係なければ、リレーションがないからです。
(関係があれば、みえないリレーションがあると考えます)

 また、ある構成要素について、詳しく書かれている場合や、続きが書かれている場合も、
 見えないけど、リレーションがひかれていると考えます。
 DFDなどで、あるプロセスを別のDFDとして書く場合です。
 また、絵と、絵の上にある1ピクセルも、リレーションで結びついていると考えます。




 次回は、「その構成要素単独で意味をなさないもの」で、1つの構成要素に結びついている「属性」についてです。



  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

データアクセスと処理との間の中間層のインターフェースは、ハッシュマップとその配列に集約する

2009-07-07 18:00:37 | Weblog

 この前書いた、RDBとかに直接アクセスしないで、デバイスを意識しないデータアクセス層を作る話だけど、こうすると、

ひとつのメリットとしては、
  ・KVSとか、どこに分散されてるかとか、ファイルかとか意識しないでアクセスできる
    →みんながアクセス法をしらなくてもいい

そのほかにも
  ・もし、DB上で変更が起こったとき、入出力が集約しているので、対応しやすい
    →場合によっては、変更をこの層で吸収できる。

なんていうメリットがある。

さらに、
  ・すべてのデータを同じように表現できる

ということがある。このメリットはさておき、まず、デバイスにかかわらず、
どう表現すると、データを同じように表現できるのかについて、述べてみたいと思います。




■データは、ハッシュマップ(連想配列)とその配列で表現できる。

 たとえば、RDBのデータは、1レコードを1ハッシュマップとし
 (項目がキー、値がvalueになる)、それの配列で、テーブル、ビュー、検索結果が表現できます。

 KVSは、まさにハッシュマップ

 プロパティファイルはハッシュマップ

 CSVの場合は、1レコード1ハッシュマップにして、
 キーに項目番号1、2、3・・・値に、その項目のセルの値をセット

 XMLはいやらしい形なのですが、

 1ノード1ハッシュマップ。
 そのときのパラメータをキー、値にセット
 テキスト部分はキーを#text#1のような形で
  (テキストが、2つの部分に分かれてれば#text#2,3つなら#3・・・)
 子ノードは、キーに子ノード名#1(同名の2番目のノード#2・・・)
       値に子ノードのハッシュマップ

 という形でいれられないこともないです。

 こんなかんじで、大体のデータは、ハッシュマップ(連想配列)とその配列で表現できます。




さらにまとめると、ハッシュマップだけで表現されているものも、要素1個の
ハッシュマップの配列にできるので、これだけで表現できるともいえます。

で、こうやって、ハッシュマップの配列にすると、何が楽しいのかについては、
今度書きます。


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする