アーカイブ

Posts Tagged ‘コンテスト’

2018データモデリングコンテスト結果発表

水, 20 2月 2019 03:58:48 +0900 コメントを残す

コンテストに応募いただき、まことにありがとうございました。

18日開催されたJEMUG会議において、審査いたしました結果、

FETEC賞 游悠さん
敢闘賞 髙橋さん

の受賞が決まりました。おめでとうございます。今回はJEMUG賞は該当作なしとなりました。

出題者のSさんから、解答例をいただきましたので、紹介します。

image

今回の出題は、いわゆる「マスター」がほとんどなく「トランザクション」だけで構成されているといってもよい、一風変わったモデルでした。(マスターとは何か、という問題には深入りしないでおきます。)

FETEC賞 游悠さんのモデルは、

image

敢闘賞 髙橋さんのモデルは、

image

です。

ツリー(木)構造を、Sさんは自己参照(【ブロックヘッダー】のところ)、游悠さんはサブタイプ(【マークルツリー】とそのサブタイプのところ)、高橋さんは有向グラフのパターン(【ブロック】【ブロック_再帰表】のところ)、で表現しています。

カテゴリー:データモデル タグ:

2018データモデリングコンテスト募集要項

土, 15 12月 2018 19:12:21 +0900 コメントを残す

JEMUGでは下記の要領で『2018データモデリングコンテスト』を開催します。JEMUGメンバーに限らず、どなたでも応募できますので関心のある方はふるってご応募ください。

【出題】

以下の説明サイトの記述およびデータサンプルから、“ビットコイン(Bitcoin)取引”を表現する概念データモデルを25エンティティ以内で作成せよ。なお、概念データモデルについては、後述の「概念データモデルの定義」を参照すること。(リンクを自動生成しないため”:”を全角にしてある)

1.説明サイト「ビットコインのしくみ」(サイト内のリンク先は出題の対象外)
(1)Bitcoinの仕組み
http://bitcoin.peryaudo.org/design.html
(2)Bitcoinの細部(「コインの量の上限とマイニングの難易度」と「マイニングプール」の記述は出題の対象外)
http://bitcoin.peryaudo.org/detail.html

2.データサンプル

(1)「取引(トランザクション)」のデータサンプル https://www.blockchain.com/ja/btc/tx/85f8b14943052809f44a1a356e1b0060d49366a12cb66dca52a27bd786123b7c
(2)「ブロック」のデータサンプル https://www.blockchain.com/ja/btc/block/0000000000000000358fa848b19facc99fa1d6d56775eeee5025d8f34f77b31f
(3)「アドレス」のデータサンプル https://www.blockchain.com/ja/btc/address/1JLMKRdweJBagAA6o3wBR9P9BZWWmz3jdD

なお、「アドレス」は公開鍵から、公開鍵は秘密鍵から、ハッシュ等の様々な演算やエンコードを経て生成されますが、ここでは単純に“他の人にビットコインを送信するために使用される識別子”として扱ってください。

【応募方法】

1.ファイル形式

    以下のうち、いずれかとする。
  • erwin Data Modeler (以下 erwin) を使用して作成したファイル(.erwin)
    このソフトウェアには試用版(FREE TRIAL)があるので、こちらを使って作成しても可。
  • PDFファイル(.pdf)
    A4もしくはA3サイズ1ページに全体像を収めること.。
    2.送付方法

作成したファイルをメールに添付し、以下の様式に従って送付すること。
送付先: kunisawa_naoki@yahoo.co.jp
件名:最初の部分に、”【2018データモデリングコンテスト】”と記載すること。
本文:本文中には、氏名(本名)と連絡先メールアドレスを記載すること(必須)。匿名希望の場合は、その旨明記した上でハンドル名を付記すること(任意)。
(匿名希望の場合もJEMUGメンバー内では事務手続き上本名・メールアドレスが開示される)

応募は1名1件のみ。応募後の修正は締切日までは可とする。応募後の取り下げは認めない。

※応募作品の著作権について
応募作品の著作権(引用、再配布に関する権利)はJEMUG に帰属する。JEMUG および同会の会員は各種媒体上で応募者に断りなく応募作品を公開・引用し、コメントする権利を保有する。

【締切】

2019年1月31日

【賞】

JEMUG賞、FETEC賞各1名。

審査はJEMUGメンバーにより2月の会議で行う。

ささやかな賞品あり(お渡し方法は可能な範囲で応相談)。

【結果発表】

2019年2月下旬、https://jemugguestroom.wordpress.com/ サイト上で発表。匿名希望の方はハンドル名で発表。

【審査基準】

○概念データモデルの定義

このコンテストでいう概念データモデルとは、

1.エンティティおよびエンティティ名

2.主キー(一般属性の記載については任意であるが、明らかに間違っている場合は審査の対象とする)

3.リレーション(関係)およびそれに伴う外部キー(多対多の関係は不可)

4.リレーションの種別(従属関係/参照関係)およびカーディナリティ/オプショナリティ

5.シノニム(ロール名)が発生する場合のリレーション名(それ以外のリレーション名は任意)

が明記されている、IDEF1X記法のダイアグラムである。主キーに関するデータ型、データ長、ドメインの記述は必須ではない。分析対象に直接現れない主キー/外部キーを用いる場合(例えばサロゲートキーを使用した場合など)は、その属性の Definition 欄に定義/説明を書いておくか、注釈(コメント)にてデータモデル上に付記しておくこと。IDEF1X記法については、http://idef.ru/documents/Idef1x.pdf を参照。

○モデルの表現

モデルが読みやすく表現されているかどうかということは審査の対象になる。特に、エンティティの種別によって配置を決めるなどの制約は設けないが、リレーションを表す線が関係ないエンティティの下をくぐるなどの配慮を欠く表現は避けること。

○仕様の理解

ある程度の「仕様理解の差」が発生することが考えられるが、その妥当性については審査の場で判断する。

○抽象化のレベル

25 エンティティ以内で表現するという制約のため、ある程度、エンティティの抽象度を上げていく(たとえば、「係」「課」「部」「本部」というエンティティを用いずに「組織」エンティティと自己参照リレーションで表現するという場合のように)必要があるが、抽象度が高ければよいというものではなく、25エンティティの制約の中で可能な限りわかりやすいモデルを志向すること。

【ヒント】

「取引(トランザクション) 、「アドレス」、「ブロック」の関係がどのように表現されるか、ブロックチェーンはどのような関係で表現されるかが、ビットコイン取引を表す概念データモデルの鍵になると思います。なお、「取引(トランザクション)」の内容の確認方法は、以下のサイトが参考になります。

ビットコインのトランザクション内容の確認

http://moblock.jp/articles/18383#1609621

(リンクを自動生成しないため”:”を全角にしてあります)

【質問について】

質問は、kunisawa_naoki@yahoo.co.jp までメールで送付する。(間違っても「bitcoinのしくみ」の作者や、BLOCKCHAIN社に問い合わせたりしないこと。)「件名」の最初の部分に、”【2018データモデリングコンテスト】”と記載すること。質問の内容によっては回答しない場合もある。審査にかかわるような重要な質問については、公平を期すために、このブログ記事に対するコメントの形で掲載する。

【審査内容について】

本コンテストに関わる審査内容の質問についてはお答えいたしかねますので、あらかじめご了承ください。

カテゴリー:データモデル タグ:

游悠さんによる、2017データモデリングコンテスト FETEC賞自作解説

日, 11 3月 2018 10:56:42 +0900 コメントを残す

恒例によりまして、受賞者の方には自作解説をお願いしました。

游悠さん自作解説をお届けします。

1

今回の課題は提示された資料の表している概念をデータモデルで表記するとういうものでした。これは内容をどの視点で捉えるかにより、作成するモデルに違いの出る結果となったようです。応募者の多くは電子殻表のマスタを表現しようとしましたが、当方はある元素の電子状態がどのようなものかを現実世界として捉え、いわばボトムアップで示すようなモデルを作ろうと考えた点で独自の表現になったように思えます。この視点の違いを、もう一方の受賞者のデータモデルと比較して読むと面白いのではないでしょうか。

このモデルは主に3つの部分で成ります。一つはモデル図の右上の白色で表現する箇所。ここは元素周期表と元素の関係を表現します。元素という性質は周期表の「周期」と「族」の2元表で多くは配置されますが、ランタノイドおよびアクチノイドに属する元素はこの規則に単純に当てはまりません。それを分類可能としたのが「元素群カテゴリ」です。そして周期表に属する元素の性質と対応するものとして元素実体を示しています。この実体は原子核と電子から組合わされますが、今回の課題資料の範囲では元素同位体は説明に入っておらず、単に「原子核実体」エンティティで表すだけにしました。

一方の電子群の実体を表現するために二番目の部分があります。それが、オレンジとピンク色で示される「電子実体」群です。これらの電子実体群のそれぞれがどういう位置付けなのかを見ることができるようにした表現です。これにより、最外殻電子(主に自由電子と呼ばれるもの)を個別に表現でき、またイオン化した個別の元素状態を知ることができるようになります。

モデル図の三番目が左半分にある青、緑色の部分です。ここは、電子殻軌道のフォームを表しており、元素がどのフォームの軌道に結びついて電子実体を収容し得るのかを対応付けして表現できます。元素固有の取り得る電子殻軌道の形との関係を付けるために「電子配置」エンティティがあります。そして電子実体群と、取り得る電子殻軌道のどこにそれぞれの電子が配置されているかという現在の状態として表せるようにしています。これにより「動的に」具体的個別元素と電子配置の取っている姿を示せるというものです。

以上

カテゴリー:データモデル タグ:

2017データモデリングコンテスト結果発表

火, 27 2月 2018 12:26:24 +0900 コメントを残す

コンテストに応募いただき、まことにありがとうございました。26日開催されたJEMUG会議において、審査いたしました結果、

JEMUG賞 Sさん

FETEC賞 游悠さん

の受賞が決まりました。おめでとうございます。

SさんのER図は

S

 

游悠さんのER図は

1

カテゴリー:データモデル タグ:

2017データモデリングコンテスト募集要項

水, 20 12月 2017 12:54:31 +0900 2件のコメント

JEMUGでは下記の要領で『2017データモデリングコンテスト』を開催します。JEMUGメンバーに限らず、どなたでも応募できますので関心のある方はふるってご応募ください。

【出題】

Wikipedia の

電子配置
http://ja.wikipedia.org/wiki/%E9%9B%BB%E5%AD%90%E9%85%8D%E7%BD%AE

電子殻
http://ja.wikipedia.org/wiki/%E9%9B%BB%E5%AD%90%E6%AE%BB

の記述をもとに、ここで述べられている諸概念を表現するデータモデルを25エンティティ以内で作成してください。

【審査基準】にある「概念データモデル」レベルで回答いただきます。「一般属性の記載については任意」と書いてありますが、「要領」の末尾についている「別記様式」に現れるデータ項目について、主要なものはなるべくモデルに表現してください。 (訂正:コメント参照 2017/12/30)(必ずしも全てのデータ項目を取り込む必要はありません。)

【応募方法】erwin Data Modeler (以下 erwin) を使用して作成する。このソフトウェアには試用版(FREE TRIAL)があるので、こちらを使って作成しても可。作成した.erwin ファイルをメールに添付してkunisawa_naoki@yahoo.co.jp まで送付する。「件名」の最初の部分に、”【2017データモデリングコンテスト】”と記載すること。メールの「本文」に氏名(本名は必須、匿名希望の場合はその旨明記した上でハンドル名を付記)、連絡先メールアドレスを記載すること。匿名希望の場合もJEMUGメンバー内では事務手続き上本名・メールアドレスが開示される。応募は1名1件のみ。応募後の修正は締切日までは可とするが、応募後の取り消しは認めない。応募作品の著作権(引用、再配布に関する権利)はJEMUG に帰属する。JEMUG および同会の会員は各種媒体上で応募者に断りなく応募作品を公開・引用し、コメントする権利を保有する。

【締切】2018年1月31日

【賞】JEMUG賞、FETEC賞 各1名。審査はJEMUGメンバーにより2月(日程未定)の会議で行う。ささやかな賞品あり(お渡し方法は可能な範囲でご要望に応じます)。

【結果発表】2018年2月下旬、https://jemugguestroom.wordpress.com/ サイト上で発表。匿名希望の方はハンドル名で発表。

【審査基準】

○概念データモデルの定義

このコンテストでいう概念データモデルとは、
1.エンティティおよびエンティティ名
2.主キー(一般属性の記載については任意であるが、明らかに間違っている場合は審査の対象とする)
3.リレーション(関係)およびそれに伴う外部キー(多対多の関係は不可)
4.リレーションの種別(従属関係/参照関係)およびカーディナリティ/オプショナリティ
5.シノニム(ロール名)が発生する場合のリレーション名(それ以外のリレーション名は任意)
が明記されている、IDEF1X記法のダイアグラムである。主キーに関するデータ型、データ長、ドメインの記述は必須ではない。分析対象に直接現れない主キー/外部キーを用いる場合(例えばサロゲートキーを使用した場合など)は、その属性の Definition 欄に定義/説明を書いておくこと。

○モデルの表現

モデルが読みやすく表現されているかどうかということは審査の対象になる。特に、エンティティの種別によって配置を決めるなどの制約は設けないが、リレーションを表す線が関係ないエンティティの下をくぐるなどの配慮を欠く表現は避けること。

○仕様の理解

ある程度の「仕様理解の差」が発生することが考えられるが、その妥当性については審査の場で判断する。

===【ヒント】===
原子核の周りを、粒子状の電子が軌道を描いて回っている、という、古典的なモデルを、取り上げます。原子そのものに関する原子番号、周期、族、電子の殻、軌道などがモデル化され、実際の元素がデータとして格納できるようなモデルを考えてください。
==========

○抽象化のレベル

25 エンティティ以内で表現するという制約のため、ある程度、エンティティの抽象度を上げていく(たとえば、「係」「課」「部」「本部」というエンティティを用いずに「組織」エンティティと自己参照リレーションで表現するという場合のように)必要があるが、抽象度が高ければよいというものではなく、25エンティティの制約の中で可能な限りわかりやすいモデルを志向すること。

○質問

質問は、kunisawa_naoki@yahoo.co.jp までメールで送付する。「件名」の最初の部分に、”【2017データモデリングコンテスト】”と記載すること。質問の内容によっては回答しない場合もある。審査にかかわるような重要な質問については、公平を期すために、このブログ記事に対するコメントの形で掲載する。

カテゴリー:データモデル タグ:

2016データモデリングコンテスト募集要項

水, 21 9月 2016 00:12:18 +0900 1件のコメント

JEMUGでは下記の要領で『2016データモデリングコンテスト』を開催します。JEMUGメンバーに限らず、どなたでも応募できますので関心のある方はふるってご応募ください。

【出題】

「パナマ文書」のデータベースが、国際調査報道ジャーナリスト連合(ICIJ)のサイト上に公開されている。(以下のURLでは、リンクを自動生成しないため”:”を全角にしてある箇所があるのでご注意ください。)

■ブラウザ上で検索可能なデータベース

https://offshoreleaks.icij.org/

初めてアクセスした際などに、データベース使用前の確認画面が出ることがある。「データベースに含まれるいかなる人物や企業が法律を破った、またはその他の不適切な行動したということを示唆したりほのめかしたりする意図はない」といった内容を一通り読んで理解したら、確認画面の左下にあるチェックボックスをオンにして、「SUBMIT」ボタンをクリックする。

■オリジナルのデータベースをCSVファイルに変換したもの

https://offshoreleaks.icij.org/pages/database

第2パラグラフ中ほどの「You may download an archive of all these files here.」の「here」のリンクをクリックすると、ZIP圧縮ファイルをダウンロードできる。ZIP圧縮ファイルの中には6つのファイルが含まれており、1つは説明のテキストファイルで、残りの以下5つのファイルがデータベースを変換したものとなる。

  • Addresses.csv
  • all_edges.csv
  • Entities.csv
  • Intermediaries.csv
  • Officers.csv

これらに従って、パナマ文書のデータを正確に読み解くための概念データモデルを作成せよ。なお、概念データモデルについては、後述の【概念データモデルの定義】を参照すること。

【応募方法】

1.ファイル形式

ERwinDataModeler Community Edition(無償)を使用して作成するか、あるいはこのソフトで読み込み可能なファイル形式(.erwin)で応募すること。(ERwinには上位互換性があり、以前のバージョンで作成したファイルも読み込み可能だが、場合によってはファイル形式の変換を依頼することがある)

2.送付方法

作成した.erwin ファイルをメールに添付し、以下の様式に従って送付すること。

送付先: kunisawa_naoki@yahoo.co.jp

件名について:最初の部分に、”【2016データモデリングコンテスト】”と記載すること。

本文について:本文中には、氏名(本名)と連絡先メールアドレスを記載すること(必須)。匿名希望の場合は、その旨明記した上でハンドル名を付記すること(任意)。

(匿名希望の場合もJEMUGメンバー内では事務手続き上本名・メールアドレスが開示される)

3.応募作品について

応募は1名1件のみ。
応募後の修正は締切日までは可とする。応募後の取り下げは認めない。

※応募作品の著作権について

応募作品の著作権(引用、再配布に関する権利)はJEMUGに帰属する。JEMUGおよび同会の会員は各種媒体上で応募者に断りなく応募作品を公開・引用し、コメントする権利を保有する。

【締切】2016年11月30日

【賞】JEMUG賞、FETEC賞各1名。

審査はJEMUGメンバーにより12月の会議で行う。

ささやかな賞品あり(お渡し方法は可能な範囲で応相談)。

【結果発表】2016年1月下旬、https://jemugguestroom.wordpress.com/ サイト上で発表。匿名希望の方はハンドル名で発表。

【概念データモデルの定義】

このコンテストでいう概念データモデルとは、

1.エンティティおよびエンティティ名

2.主キー(一般属性の記載については任意であるが、明らかに間違っている場合は審査の対象とする)

3.リレーション(関係)およびそれに伴う外部キー(多対多の関係は不可)

4.リレーションの種別(従属関係/参照関係)およびカーディナリティ/オプショナリティ

5.シノニム(ロール名)が発生する場合のリレーション名(それ以外のリレーション名は任意)

が明記されている、IDEF1X記法のダイアグラムである。主キーに関するデータ型、データ長、ドメインの記述は必須ではない。分析対象に直接現れない主キー/外部キーを用いる場合(例えばサロゲートキーを使用した場合など)は、その属性の Definition 欄に定義/説明を書いておくこと。IDEF1X記法については、http://www.idef.com/pdf/Idef1x.pdf を参照。

【ERwinDataModeler Community Editionの入手方法】

ERwin, Incの以下のサイトより無償でダウンロードできる。

http://erwin.com/products/data-modeler/community-edition

画面右側の「Download Now」をクリックし、簡単なユーザー登録の後にダウンロード画面が表示されるので、32bit版もしくは64bit版のいずれかを選択してダウンロードすること。

【審査基準】

○モデルの表現

モデルが読みやすく表現されているかどうかということは審査の対象になる。特に、エンティティの種別によって配置を決めるなどの制約は設けないが、リレーションを表す線が関係ないエンティティの下をくぐるなどの配慮を欠く表現は避けること。

○仕様の理解

ある程度の「仕様理解の差」が発生することが考えられるが、その妥当性については審査の場で判断する。なお、データモデルで表現しきれない仕様のうち、特筆すべきものがあれば注釈(コメント)にてデータモデル上に付記すること。

○目的との整合性

概念データモデルの定義には、「一般属性の記載については任意」とあるが、「パナマ文書のデータを正確に読み解く」目的を満たすために必要なものはデータモデルに表現すること。必ずしも全てのデータ項目を取り込む必要はないが、目的との整合性は審査の対象となる。

○抽象化のレベル

ERwinDataModeler Community Editionは25 エンティティまでしか表現できないため、この制約内でモデルを書くことが必要となる。そのためにはある程度、エンティティの抽象度を上げていく(たとえば、「係」「課」「部」「本部」というエンティティを用いずに「組織」エンティティと自己参照リレーションで表現するという場合のように)必要があるが、抽象度が高ければよいというものではなく、25エンティティの制約の中で可能な限りわかりやすいモデルを志向すること。

【日本語名を使用する場合の注意事項】

エンティティ名やデータ項目の日本語名への翻訳は不要。もし日本語名を使用したい場合は、日本語名に続けてカッコ付けでオリジナルの英語名を付記するなど、元の英語名との関係がわかるようにすること。

【ヒント】

「企業(Entities)」や「役員(Officers)といったものの関係が概念データモデルではどのように表現されるか、また生データから読み取れるデータの規則性が概念データモデルではどのように表現されるか、これらがパナマ文章のデータを正確に読み解くためのデータモデルの鍵になると思います。

パナマ文書のデータベースの使い方は、以下のサイトが参考になります。

http://gigazine.net/news/20160510-panama-papers-database/

(リンクを自動生成しないため”:”を全角にしてあります)

【質問について】

質問は、kunisawa_naoki@yahoo.co.jp までメールで送付する。(間違っても国際調査報道ジャーナリスト連合(ICIJ)や、パナマ文書に出てくる企業や人物に問い合わせたりしないこと。)「件名」の最初の部分に、”【2016データモデリングコンテスト】”と記載すること。質問の内容によっては回答しない場合もある。審査にかかわるような重要な質問については、公平を期すために、このブログ記事に対するコメントの形で掲載する。

ご参考までですが、パナマ文書のブラウザ上で検索可能なデータベースは、NoSQLのひとつであるグラフデータベース「Neo4j」で実装されています。グラフデータベースによってビジュアルに表現される関係が、概念データモデルではどのように表現されるのか理解することで、グラフデータベースの使いどころや、リレーショナルデータベースとの使い分けを検討しやすくなるかと思います。

カテゴリー:データモデル タグ:

2014データモデリングコンテストの結果

金, 26 12月 2014 15:08:08 +0900 コメントを残す

12月のJEMUG会議で応募いただいたモデルを検討した結果、

J-SYS賞:脇本 康宣 様

に決定しました。応募が少なかったため、今回は JEMUG賞、CAJ賞 は該当無しと致します。

それでは脇本さんのモデルをご覧ください。

image

【統計値】がいわゆる”ファクトテーブル”になりますが、スタースキーマ、スノーフレークスキーマとは全く異なるモデルになっています。むしろ統計の出典情報を記載することで、データリネージの情報を持たせようとしたモデルだといえると思います。

スノーフレークスキーマにしようと思えば、たとえば

image

こんな風にしていくわけですが、このようなモデルがよいのかどうか、疑問もあります。脇本さんのモデルの場合、【統計カテゴリ】の自己参照関係で集計項目の関係を表現できますが、「四半季」を「年」と「年度」の二通りに集計するといった関係は表現できません。ただ、今回の出題のような場合、そこまでやる必要があるのかということになります。

【データ源泉】という見慣れない名前のエンティティがありますがこれについてはいずれご本人に語っていただきましょう。

今回の出題は、業務目的が不明確だとか、要件が不明確だとか、出題自体に対するコメントもありましたが、情報系のデータベースは「データをきちんと整理しておいてね」程度の要件で始まるものです。「この目的変数の予測をするためにこれこれの説明変数を使って回帰分析したい」などという具体的な目的が仮にあっても、それに特化した設計など、とても怖くてできません・・・というのが実態ではないでしょうか。

==1月10日追記==

作成者の脇本さんからコメントをいただきました。

【データ源泉】については

○説明
・統計値のデータ源泉(ファイル)を格納するエンティティ

○タプルイメージ
統計提供元ID         :1 (→LPガス協会)
統計ID                  :1 (→価格)
データ源泉ID         :1 (→連番)
名前                      :”平成26年度LPガス CIF価格”
取得元URL             :”http://www.j-lpgas.gr.jp/stat/kakaku/exden201410.xls”
ファイルスタンプ    :2014/11/27 17:10:03
取得日                    :2014/12/25 10:31:28

統計値は必ず1つのデータ源泉に紐づきます。
それを利用して、統計値のデータ源泉の確認や
データ差し替えを想定して、統計値の取得元が何かを
記録したいという考えで、このエンティティを設定しました。

ということです。

このモデル全体については、

「誰が見てもわかりやすいデータモデル」を
コンセプトにデータモデルを作成しました。

ポイント

1.適度なエンティティ数
認知工学の世界では、人間の短期記憶の容量は 7±2といわれている。(ジョージ・ミラーなど)それを考慮して、エンティティ数を9以下になる ように抽象化や再帰を使ってエンティティ数を減らしています。
2.主キーは原則ナチュラルキーで
出題範囲のデータ構造がきちんと理解するために、サロゲートキーではなく、ナチュラルキーで記載。

ということです。DFDについても、ひとつのダイアグラムに含まれる適切なアクティビティの数について、デマルコが大体同じくらいの数を挙げていました。(詳しい数字は忘れました。)DFDはあらかじめ階層的に展開することが前提のダイアグラムなので、アクティビティの数をコントロールすることは比較的容易ですが、ERDも抽象化レベルとサブジェクトエリアをうまくコントロールすれば、わかりやすくなりますね。

ナチュラルキーの話は、よくご存じの方はご存知でしょうが、持ち出すと紛糾するので、私がこれ以上「燃料を補給する」のはやめておきます。(笑)

四半季(期)データを「年」と「年度」の二通りに集計する問題については、

この関係はデータモデル上表現する必要はないと考えました。(公開されているデータをそのまま格納するため。)また、「四半期」と「年」が両方存在していた場合でも別の「時系列区分」を持つ「統計項目」として扱うことができますので、この構造でデータの保持は可能と考えています。

これはまったくそのとのとおりで、「年」と「年度」を別の時系列データだと思ってそれぞれに《統計項目ID》を発行してしまえば、なんだって持ててしまいます。スタースキーマがインデックスをたくさんつけるのは、ひとつにはSQLで GROUP BY しようという意図からだと思いますが、ストレージの容量をあまり気にしなくてもよくなった状況では、このような時系列データの場合、そのためだけなら、このような仕掛けは必要なくなったのではないでしょうか?データの意味を明らかにする、というもうひとつの目的は、別の手段で達成することも可能だと思います。

カテゴリー:データモデル タグ:

2014データモデリングコンテスト募集要項

月, 06 10月 2014 23:16:40 +0900 コメントを残す

JEMUGでは下記の要領で『2014データモデリングコンテスト』を開催します。JEMUGメンバーに限らず、どなたでも応募できますので関心のある方はふるってご応募ください。

【出題】今年は統計情報のデータモデルに関する出題です。”スタースキーマ”、”スノーフレークスキーマ”の定石通りに考えるのも「あり」ですが、今回は対象が月次あるいは四半期の「時系列データ」に限定されているので、そこを考慮していただいた回答も歓迎します。

例によって【審査基準】にある「概念データモデル」レベルで回答いただきます「一般属性の記載については任意」と書いてありますが、今回は特に”トン”や”円”などの≪単位≫と”年次””四半期””月次””年度”などの≪時系列区分≫を属性として持たせるとすれば、どのエンティティに持たせるのか記入してください。また、属性として持たせないならば、どのように表現するのか、モデル中に注記してください。

それでは出題です。

http://www.j-lpgas.gr.jp/stat/index.html
こちらに、日本LPガス協会が作成した価格、需給、都道府県別販売量の統計があります。

http://www.meti.go.jp/statistics/tyo/seidou/result/ichiran/08_seidou.html#menu2
このページから 鉱業・石油・石炭製品 を選んで、Excel シートをダウンロードし、石油・鉱物等 のシートを開くと、液化石油ガスの生産動態統計があります。

http://www.stat.go.jp/data/kakei/2.htm#syousai
こちらの 4.詳細結果表 から
・二人以上の世帯 –> 月 –> (対象月の選択) -> 品目分類 –> 4-1表
・単身世帯 –> 四半期 –> (対象期の選択) -> <品目分類>1世帯当たり品目別支出金額 –> 9表
・総世帯 –> 四半期 –>(対象月の選択) -> <品目分類>1世帯当たり品目別支出金額 –> 10表
と辿っていくと、家計調査のプロパンガスに関する統計があります。

これらの統計を過去にさかのぼって各月・各四半期の値を記録するデータモデルを作ってください。

【応募方法】CA ErwinDataModeler Community Edition (以下CAEDMCE) を使用して作成するか、あるいはこのソフトで読み込み可能なファイル形式(上位互換性があるので、以前のバージョンの ERwin で作成したファイルも読み込み可能ということになっていますが、場合によってはファイル形式の変換をお願いすることがあります)で応募すること。作成した.erwin ファイルをメールに添付してkunisawa_naoki@yahoo.co.jp まで送付する。「件名」の最初の部分に、”【2014データモデリングコンテスト】”と記載すること。メールの「本文」に氏名(本名は必須、匿名希望の場合はその旨明記した上でハンドル名を付記)、連絡先メールアドレスを記載すること。匿名希望の場合もJEMUGメンバー内では事務手続き上本名・メールアドレスが開示される。応募は1名1件のみ。応募後の修正は締切日までは可とするが、応募後の取り消しは認めない。応募作品の著作権(引用、再配布に関する権利)はJEMUG に帰属する。JEMUG および同会の会員は各種媒体上で応募者に断りなく応募作品を公開・引用し、コメントする権利を保有する。

【締切】2014年11月20日

【賞】JEMUG賞、CAJ賞、J-SYS賞 各1名。審査はJEMUGメンバーにより12月(日程未定)の会議で行う。ささやかな賞品あり(お渡し方法は可能な範囲でご要望に応じます)。

【結果発表】2015年1月31日、https://jemugguestroom.wordpress.com/ サイト上で発表。匿名希望の方はハンドル名で発表。

【審査基準】

○概念データモデルの定義

このコンテストでいう概念データモデルとは、
1.エンティティおよびエンティティ名
2.主キー(一般属性の記載については任意であるが、明らかに間違っている場合は審査の対象とする)
3.リレーション(関係)およびそれに伴う外部キー(多対多の関係は不可)
4.リレーションの種別(従属関係/参照関係)およびカーディナリティ/オプショナリティ
5.シノニム(ロール名)が発生する場合のリレーション名(それ以外のリレーション名は任意)
が明記されている、IDEF1X記法のダイアグラムである。主キーに関するデータ型、データ長、ドメインの記述は必須ではない。分析対象に直接現れない主キー/外部キーを用いる場合(例えばサロゲートキーを使用した場合など)は、その属性の Definition 欄に定義/説明を書いておくこと。IDEF1X記法については、http://www.idef.com/pdf/Idef1x.pdf を参照。

○モデルの表現

モデルが読みやすく表現されているかどうかということは審査の対象になる。特に、エンティティの種別によって配置を決めるなどの制約は設けないが、リレーションを表す線が関係ないエンティティの下をくぐるなどの配慮を欠く表現は避けること。

○仕様の理解

ある程度の「仕様理解の差」が発生することが考えられるが、その妥当性については審査の場で判断する。

[ヒント]

  • たとえば日本LPガス協会の 『LPガス都道府県別販売量』の用途合計・都道府県合計・プロパン/ブタン合計の値と、『需給月報』販売計・数量(トン)・プロパン/ブタン合計の値は一致しています。このような合計‐内訳の関係をモデルで表現できるとよいのですが、端数処理などで合計値が合わない場合もあります。このような関係をすべて導出項目であるとしてモデルから排除してしまうのも、情報系のモデルとしては窮屈だと思うのですが・・・

○抽象化のレベル

CAEDMCE は25 エンティティまでしか表現できないため、この制約内でモデルを書くことが必要。そのためにはある程度、エンティティの抽象度を上げていく(たとえば、「係」「課」「部」「本部」というエンティティを用いずに「組織」エンティティと自己参照リレーションで表現するという場合のように)必要があるが、抽象度が高ければよいというものではなく、25エンティティの制約の中で可能な限りわかりやすいモデルを志向すること。

○質問

質問は、kunisawa_naoki@yahoo.co.jp までメールで送付する。「件名」の最初の部分に、”【2014データモデリングコンテスト】”と記載すること。質問の内容によっては回答しない場合もある。審査にかかわるような重要な質問については、公平を期すために、このブログ記事に対するコメントの形で掲載する。

2013データモデリングコンテストの結果

土, 16 11月 2013 19:49:21 +0900 1件のコメント

今回のモデリングコンテストは、対象のサイトが期間中に閉鎖されるという思わぬハプニングで、応募者はゼロです。問い合わせをしていただいた方もいらっしゃいましたが、作業中にある日突然サイトが見えなくなった場合はともかく、私が持っている数枚の画面ハードコピーからだけでは具体的なイメージをつかむのは難しく、あまり強くお勧めできなかったというのが実情です。

このままにしてしまうのはもったいない(毎年、コンテストの出題は、いいテーマを探して、ずいぶん時間をかけているのです)ので、出題者が大体こんな感じの結果になるだろうと思っていたモデルを示します。

image

【スナップ】と【ユーザー】の間の【LOVE】は、Facebook の「いいね」ボタンのようなもので、交差エンティティになります。

【スナップ】と【スナップ情報項目】の間の【スナップ情報】は交差エンティティというよりは”たてもち”パターンになります。【スナップ】は”撮影年月日”、”モデル氏名”、”撮影場所”などお決まりの項目のほかに、”よく行くショップ”、”行きつけのサロン”(たぶん美容院のことですね)、”使用しているシャンプー”(!)などの項目が掲載されていることがあり、しかもその中には、複数回答が許されているものもあります。このため《スナップ情報項目ID》と《情報項目追い番》を【スナップ情報項目】の主キーにしました。【スナップ情報項目】の《スナップ情報項目ID》が”撮影年月日”なら【スナップ情報】の《スナップ情報項目値》が取る値のデータ型は本来ならば日時型、”モデル年齢”ならばデータ型は整数型になるはずですが、”たてもち”にした場合は文字列型にしてしまいます。必要であれば例のように【スナップ情報項目】に《情報項目値データ型》をもたせて、あとはSQLでCASTするなりなんなりのやりかたで「プログラム頑張れ」と投げ出してしまいます。無責任なようですが、情報項目の自由度があまりに高いため、このような持ち方も選択肢の一つです。まじめに”よこもち”の設計をすると、【スナップ情報】の属性項目が多くなり、しかも項目によってはほとんど実現値が null という結果になります。

【スナップ】は全身画像の【ヘッダースナップ】と、ヘッドショット、バックショット、その他部分画像(アクセサリー小物類のアップ)からなる【ディテイルスナップ】の2つのサブタイプがあり、サブタイプ間に参照関係があります。

【スナップ】には「前のスナップ」「次のスナップ」という順序関係がありますから、【ヘッダースナップ】の自己参照関係でこれを表現しています。

というのが出題の意図でした。ポイントは”たてもち”を採用するかどうかで、こういう設計にしないとたぶん移り変わりの早いファッション業界の要求を満たす設計にはならないのではないかと思った次第です。皆さんはいかがお考えでしたでしょうか?

来年、捲土重来、またモデリングコンテストを企画しますので、ご期待ください。

カテゴリー:データモデル タグ:

2013データモデリングコンテスト募集要項

火, 17 9月 2013 18:30:33 +0900 3件のコメント

JEMUGでは下記の要領で『2013データモデリングコンテスト』を開催します。JEMUGメンバーに限らず、どなたでも応募できますので関心のある方はふるってご応募ください。

【出題】Web上にあるページ、http://www.runway-ch.com/snap/およびここからリンクされているページにある情報の概念データモデルを記述せよ。ただし、ログインを要するページ、ユーザーごとに作成されているページは対象外とする。(ユーザーを表すエンティティ、およびそのエンティティとスナップを表すエンティティとの間の関係まではモデル作成の範囲とする。

※このページを公開しているMARK STYLER株式会社とJEMUGは無関係の団体です。上記のリンクは同社の許可を得ないで作成しているものです。このコンテストに応募するために先方の業務に支障が出ないようご配慮下さい。(コンテスト応募のためにトラフィックが殺到するようなことはよもやあるまいと思いますが。)

【応募方法】CA ErwinDataModeler Community Edition (以下CAEDMCE) を使用して作成するか、あるいはこのソフトで読み込み可能なファイル形式(上位互換性があるので、以前のバージョンの ERwin で作成したファイルも読み込み可能ということになっていますが、場合によってはファイル形式の変換をお願いすることがあります)で応募すること。作成した.erwin ファイルをメールに添付してkunisawa_naoki@yahoo.co.jp まで送付する。(昨年までとメールアドレスが変わっていますのでご注意ください。)「件名」の最初の部分に、”【2013データモデリングコンテスト】”と記載すること。メールの「本文」に氏名(本名は必須、匿名希望の場合はその旨明記した上でハンドル名を付記)、連絡先メールアドレスを記載すること。匿名希望の場合もJEMUGメンバー内では事務手続き上本名・メールアドレスが開示される。応募は1名1件のみ。応募後の修正は締切日までは可とするが、応募後の取り消しは認めない。応募作品の著作権(引用、再配布に関する権利)はJEMUG に帰属する。JEMUG および同会の会員は各種媒体上で応募者に断りなく応募作品を公開・引用し、コメントする権利を保有する。

【締切】2013年11月15日

【賞】JEMUG賞、CAJ賞、J-SYS賞 各1名。審査はJEMUGメンバーにより12月(日程未定)の会議で行う。ささやかな賞品あり(お渡し方法は可能な範囲でご要望に応じます)。

【結果発表】2013年12月31日、https://jemugguestroom.wordpress.com/ サイト上で発表。匿名希望の方はハンドル名で発表。

【審査基準】

○概念データモデルの定義

このコンテストでいう概念データモデルとは、
1.エンティティおよびエンティティ名
2.主キー(一般属性の記載については任意であるが、明らかに間違っている場合は審査の対象とする)
3.リレーション(関係)およびそれに伴う外部キー(多対多の関係は不可)
4.リレーションの種別(従属関係/参照関係)およびカーディナリティ/オプショナリティ
5.シノニム(ロール名)が発生する場合のリレーション名(それ以外のリレーション名は任意)
が明記されている、IDEF1X記法のダイアグラムである。主キーに関するデータ型、データ長、ドメインの記述は必須ではない。分析対象(今回のコンテストではWeb のページ)に直接現れない主キー/外部キーを用いる場合(例えばサロゲートキーを使用した場合など)は、その属性の Definition 欄に定義/説明を書いておくこと。IDEF1X記法については、http://www.itl.nist.gov/fipspubs/idef1x.doc を参照。

○モデルの表現

モデルが読みやすく表現されているかどうかということは審査の対象になる。特に、エンティティの種別によって配置を決めるなどの制約は設けないが、リレーションを表す線が関係ないエンティティの下をくぐるなどの配慮を欠く表現は避けること。

○仕様の理解

画面から仕様を類推してモデルを書くことになるので、ある程度の「仕様理解の差」が発生することが考えられるが、その妥当性については審査の場で判断する。

[ヒント]

  • 写真の分類には、「場所」「身長」「シーズン」「スタイル」「アイテム」などがありますが、「フリータグ」という検索手段があることにもご注意ください。
  • 「アイテム」や「フリータグ」の分類は「ファッション」というものの性質上流動的であると考えられます。
  • スナップ写真には、最初に表示されるもの(全身像)と、バックショット、ヘッドショット、バッグやアクセサリーのアップなどの写真と大きく2つに扱いが分かれてるようです。
  • 「前のスナップ」「次のスナップ」のリンクにもご注目ください。
  • 最初に表示されるスナップの下にある書誌情報(?)は、スナップによって項目が若干異なるようです。
  • 今回は昨年の出題に比べて、所要エンティティ数はかなり少ないのではないかと出題者は予想しています。

○抽象化のレベル

CAEDMCE は25 エンティティまでしか表現できないため、この制約内でモデルを書くことが必要。そのためにはある程度、エンティティの抽象度を上げていく(たとえば、「係」「課」「部」「本部」というエンティティを用いずに「組織」エンティティと自己参照リレーションで表現するという場合のように)必要があるが、抽象度が高ければよいというものではなく、25エンティティの制約の中で可能な限りわかりやすいモデルを志向すること。

○質問

質問は、kunisawa_naoki@yahoo.co.jp までメールで送付する。「件名」の最初の部分に、”【2013データモデリングコンテスト】”と記載すること。質問の内容によっては回答しない場合もある。審査にかかわるような重要な質問については、公平を期すために、このブログ記事に対するコメントの形で掲載する。

カテゴリー:データモデル タグ:

2011データモデリングコンテスト募集要項

土, 02 7月 2011 17:47:35 +0900 2件のコメント

JEMUGでは下記の要領で『2011データモデリングコンテスト』を開催します。どなたでも応募できますので関心のある方はふるってご応募ください。

【出題】日本サッカー協会の日本代表の公式記録ホームページ、http://www.jfa.or.jp/national_team/official_scoresheet/2011/index.html およびここからリンクされている公式記録の概念データモデルを記述せよ。過年度の同一形式の試合・公式記録の格納についても配慮すること。(スコアのリンク先には公式記録の概要と招集選手のプロフィール等があるページがあるが、ここはモデルの対象としなくてもよい。)公式記録にはいくつかの様式があるが、ここではhttp://www.jfa.or.jp/national_team/official_scoresheet/2011/pdf/national_t/110329vsTAO.pdfの書式に含まれる内容を対象とする。概念データモデルの要件(定義)は、下記の審査基準を参照のこと。

【応募方法】CA ErwinDataModeler r8 Community Edition (以下CAEDMCE) を使用して作成するか、あるいはこのソフトで読み込み可能なファイル(上位互換性があるので、以前のバージョンの ERwin で作成したファイルも読み込み可能ということになっていますが・・・)形式で応募すること。同ソフトのインストール方法は https://jemugguestroom.wordpress.com/2011/06/26/erwin-r8-%e3%81%ae-community-edition/ を参照のこと。作成した.erwin ファイルをメールに添付してkunisawa_naoki@hotmail.co.jp まで送付する。メールの本文に氏名(本名は必須、匿名希望の場合はその旨明記した上でハンドル名を付記)、連絡先メールアドレスを記載すること。匿名希望の場合もJEMUGメンバー内では事務手続き上本名・メールアドレスが開示される。応募は1名1件のみ。応募後の修正は締切日までは可とするが、応募後の取り消しは認めない。応募作品の著作権(引用、再配布に関する権利)はJEMUG に帰属する。JEMUG および同会の会員は各種媒体上で応募者に断りなく応募作品を公開・引用し、コメントする権利を保有する。

【締切】2011年8月31日

【賞】JEMUG賞、CAJ賞、J-SYS賞 各1名。審査はJEMUGメンバーにより9月(日程未定)の会議で行う。ささやかな賞品あり(お渡し方法は可能な範囲でご要望に応じます)。

【結果発表】2011年9月30日、https://jemugguestroom.wordpress.com/ サイト上で発表。匿名希望の方はハンドル名で発表。

【審査基準】

○概念データモデルの定義

このコンテストでいう概念データモデルとは、
1.エンティティおよびエンティティ名
2.主キー(一般属性の記載については任意であるが、明らかに間違っている場合は審査の対象とする)
3.リレーション(関係)およびそれに伴う外部キー(多対多の関係は不可)
4.リレーションの種別(従属関係/参照関係)およびカーディナリティ/オプショナリティ
5.シノニム(ロール名)が発生する場合のリレーション名(それ以外のリレーション名は任意)
が明記されている、IDEF1X記法のダイアグラムである。主キーに関するデータ型、データ長、ドメインの記述は必須ではない。分析対象(今回のコンテストではWeb のページ)に直接現れない主キー/外部キーを用いる場合(例えばサロゲートキーを使用した場合など)は、その属性の Definition 欄に定義/説明を書いておくこと。IDEF1X記法については、http://www.itl.nist.gov/fipspubs/idef1x.doc を参照。

○モデルの表現

モデルが読みやすく表現されているかどうかということは審査の対象になる。特に、エンティティの種別によって配置を決めるなどの制約は設けないが、リレーションを表す線が関係ないエンティティの下をくぐるなどの配慮を欠く表現は避けること。

○仕様の理解

画面から仕様を類推してモデルを書くことになるので、ある程度の「仕様理解の差」が発生することが考えられるが、その妥当性については審査の場で判断する。

[ヒント]公式記録の見方については、http://www.sendaicup.jp/about/result2009/img/official.pdf が、参考になる。また、Web上にはサッカーの用語集やルールについての解説が多数あるので、参照可能である。特殊なケースとしてオウンゴール(味方のゴールに得点を入れてしまうこと)をどのように記録するかという問題があり、これにはいくつかの方式があるが、ここでは http://www.jfa.or.jp/national_team/official_scoresheet/2010/pdf/national_t/100604_JPN_CIV_MR_ver2.pdf の方式を対象とする。

○抽象化のレベル

CAEDMCE は25 エンティティまでしか表現できないため、この制約内でモデルを書くことが必要。そのためにはある程度、エンティティの抽象度を上げていく(たとえば、「係」「課」「部」「本部」というエンティティを用いずに「組織」エンティティと自己参照リレーションで表現するという場合のように)必要があるが、抽象度が高ければよいというものではなく、25エンティティの制約の中で可能な限りわかりやすいモデルを志向すること。

○質問

質問は、kunisawa_naoki@hotmail.co.jp までメールで送付する。質問の内容によっては回答しない場合もある。審査にかかわるような重要な質問については、公平を期すために、このブログ記事に対するコメントの形で掲載する。

カテゴリー:募集 タグ: , ,

2010データモデリングコンテスト募集要項

月, 20 9月 2010 19:56:27 +0900 8件のコメント

JEMUGでは下記の要領で『2010データモデリングコンテスト』を開催します。どなたでも応募できますので関心のある方はふるってご応募ください。

【出題】Yahoo! の映画に関するポータルサイト http://movies.yahoo.co.jp/ におけるデータの概念データモデルを記述せよ。( 広告その他映画と直接関係ないデータ、個人のユーザーIDでログインした場合のみに表示されるデータについては対象外とする。) 概念データモデルの要件(定義)は、下記の審査基準を参照のこと。HTMLのコンテンツ管理のモデルではなく、映画に関する管理情報の構造を表現するモデルとすること。

【応募方法】CA ErwinDataModeler Community Edition (CAEDMCE) を使用して作成するか、あるいはこのソフトで読み込み可能なファイル形式で応募すること。同ソフトのインストール方法は http://kunisawanaoki.spaces.live.com/blog/cns!253A1D45C28B484E!153.entry を参照のこと。作成した.erwin ファイルをメールに添付してkunisawa_naoki@hotmail.co.jp まで送付する。メールの本文に氏名(本名は必須、匿名希望の場合はその旨明記した上でハンドル名を付記)、連絡先メールアドレスを記載すること。匿名希望の場合もJEMUGメンバー内では事務手続き上本名・メールアドレスが開示される。応募は1名1件のみ。応募後の修正は締切日までは可とするが、応募後の取り消しは認めない。応募作品の著作権はJEMUG に帰属する。JEMUG および同会の会員は各種媒体上で応募者に断りなく応募作品を公開・引用し、コメントする権利を保有する。

【締切】2010年11月30日

【賞】JEMUG賞、CAJ賞、J-SYS賞 各1名。審査はJEMUGメンバーにより12月(日程未定)の会議で行う。ささやかな賞品あり(お渡し方法は可能な範囲でご要望に応じます)。

【結果発表】2011年1月31日、http://kunisawa-naoki.spaces.live.com/default.aspx サイト上で発表。匿名希望の方はハンドル名で発表。

【審査基準】

○概念データモデルの定義

このコンテストでいう概念データモデルとは、
1.エンティティおよびエンティティ名
2.主キー(一般属性の記載については任意であるが、明らかに間違っている場合は審査の対象とする)
3.リレーション(関係)およびそれに伴う外部キー(多対多の関係は不可)
4.リレーションの種別(従属関係/参照関係)およびカーディナリティ/オプショナリティ
5.シノニム(ロール名)が発生する場合のリレーション名(それ以外のリレーション名は任意)
が明記されている、IDEF1X記法のダイアグラムである。主キーに関するデータ型、データ長、ドメインの記述は必須ではない。分析対象(今回のコンテストではWeb のページ)に直接現れない主キー/外部キーを用いる場合(例えばサロゲートキーを使用した場合など)は、その属性の Definition 欄に定義/説明を書いておくこと。IDEF1X記法については、http://www.itl.nist.gov/fipspubs/idef1x.doc を参照。

○仕様の理解

画面から仕様を類推してモデルを書くことになるので、ある程度の「仕様理解の差」が発生することが考えられるが、その妥当性については審査の場で判断する。[ヒント]上映時刻については一般的には上映1回ごとの時刻をデータとして持つ必要はないと思われるが、チケット予約機能がついている映画館の場合は各上映時刻と(1映画館に複数のスクリーンがある場合は)スクリーンの識別が必要かもしれない。だが全ての映画館についてチケット予約機能が提供されているわけではないのでさてどうするか・・・という点はYahoo!仕様を観察してうまく設計してください。

○抽象化のレベル

CAEDMCE は25 エンティティまでしか表現できないため、この制約内でモデルを書くことが必要。そのためにはある程度、エンティティの抽象度を上げていく(たとえば、「係」「課」「部」「本部」というエンティティを用いずに「組織」エンティティと自己参照リレーションで表現するという場合のように)必要があるが、抽象度が高ければよいというものではなく、25エンティティの制約の中で可能な限りわかりやすいモデルを志向すること。

○質問

質問は、kunisawa_naoki@hotmail.co.jp までメールで送付する。質問の内容によっては回答しない場合もある。審査にかかわるような重要な質問については、公平を期すために、このブログ記事に対するコメントの形で掲載する。

カテゴリー:募集 タグ: , ,