SlideShare una empresa de Scribd logo
1 de 26
Descargar para leer sin conexión
セル結合を含む表のデータモデル
H.Ohnishi, K.Tajima
(京都大学大学院)
March 3, 2015
1 / 16
Background
多数のセルからなる表 (table) は、日常の様々な場面で利用される
• 実世界では、セル結合を含む表が多用される
• 一方、セル結合を使うとデータの機械的な再利用性が低下するため、利
用すべきでないとする議論もある (e.g. バッドデータ, 「ネ申 Excel」)
⇦ 適切なデータモデルがないことが問題では?
Research purpose
セル結合を含む表に対応するよう、関係データモデルを拡張
国名 大学数 学部生 院生
日本 783 256 26
アメリカ 2,719 1,213
イギリス 164 154
⋮
中国 1,090 1,180 141
Table: セル結合を含む表の例 (学生の単位は万人、出典:文科省 [5])
2 / 16
Previous works
nested relation
第一正規形 (1NF) の定義を満たさない関係の例
name address birthdate movies
Fisher
city street
Maple H'wood
Locust Malibu
9/9/99
title year length
Star wars 1977 124
Empire 1980 127
Return 1983 133
Hamill
city street
Oak B'wood
8/3/88
title year length
Star wars 1977 124
Empire 1980 127
Return 1983 133
Figure: nested relation の例 (出典:DBInfoBlog[1])
3 / 16
Previous works
nested relation とセル結合を含む表の違い (1)
属性間の階層関係が一定でない
• 前頁の表のスキーマは次のように表せる
R(name, address(city, street), birthdate, movies(title, year, length))
• 下表のスキーマは定義できない (次のどちらも間違い)
R(R1(col1, col2), col3, col4)
R(col1, R2(col2, col3), col4)
col1 col2 col3 col4
val1 vala valA
valαval2 valb
val3 valC
Figure: セル結合を含む表の例 (再掲)
4 / 16
Previous works
nested relation とセル結合を含む表の違い (2)
階層関係にある属性の間の関係性 (セマンティクス) を考慮していない
• 下表では、セル結合の前の属性と結合後の属性の間に、「結合後の属性
は結合前の属性の合計である」というセマンティクスが存在
• nested relation の理論では nest,unnest の際にセマンティクスを考慮し
ない (Jaeschke et al., 1982) ため、下表をデータとして活用できない
国名 学部生 院生
日本 256 26
アメリカ 1,213
イギリス 154
⋮
中国 1,180 141
Table: 学生数の国際調査
5 / 16
Previous works
データキューブ (OLAP キューブ)
OLAP(オンライン分析処理) で用いられるデータ構造 [2]
• roll-up: 集約関数により 1 つ以上の属性について集計
• drill-down: 集計したものを細分化する、roll-up の逆操作
⇨ 本研究では、集約関数をセル結合のセマンティクス記述に、roll-up,
drill-down をセルの結合・分割操作に援用
学部生 院生
日本 256 26
韓国 203 32
中国 1,180 141
Table: roll-up 前
学部生 院生
ALL 1,639 199
Table: 総和関数での roll-up 後
6 / 16
Advantages and Disadvantages of merged cells
Advantage
人間にとって扱いやすい
• 表の視認性が向上 (表の理解に必要なテキスト量が減少)
• 表の更新不整合が生じない (一箇所を更新するだけで OK)
• 個々の属性値が分からず、集計値しかないデータを記録できる
券種 大人 中高生
一般 1,000 600
団体 800 400
障害者手帳所持者 300
Table: 博物館入館料 (出典:トヨタ博
物館)
国名 学部生 院生
日本 256 26
アメリカ 1,213
イギリス 154
フランス 130
ドイツ 199
韓国 203 32
中国 1,180 141
Table: 学生数の国際調査
7 / 16
Advantages and Disadvantages of merged cells
Disadvantage
機械にとって扱いにくい
• セル結合のセマンティクス (意味) が不明瞭に
(表の作者はどのような意図でセルを結合したのか?)
• 表の再利用性が低下
(プログラムで扱うのが困難)
⇨ 各種の集計に用いることが困難に
(セル結合を含むとデータとして使い物にならない)
国名 学部生 院生
日本 256 26
アメリカ 1,213
イギリス 154
⋮
中国 1,180 141
Table: 学生数の国際調査
8 / 16
Advantages and Disadvantages of merged cells
人間 機械
作成側
利用側
× 既存のDBMSで扱えない
× セル結合した意味の推測が困難
× 再利用性の低下
× 特定セルの値の取得が困難
× 行の整列ができなくなる
○ 表の視認性が向上
○ 冗長性が低減
○ 更新不整合が生じない
○ 集約値を記録することが可能
Figure: セル結合の利点と欠点
Approach
• セル結合の属性値が何を表すのかを明確にする
⇨ 集約関数によるセマンティクスの記述
• 機械的に再利用可能、特に集計機能への応用が可能
⇨ roll-up, drill-down によるセルの結合・分割操作を定義
9 / 16
Proposing Datamodel
Schema
セル結合を含む表のスキーマを (R, T, F) の 3 つ組で表現
• R は関係スキーマ
• T = (VT , ET ) は属性の階層関係を表す有向無閉路グラフ (DAG)
※ 但し行方向のセル結合を表すため、T の葉は閉路を持っても良いとする
• F は T で用いる集約関数の集合
集約関数
セル結合前の属性値からセル結合後の属性値への関数
• sum: 結合前の属性値の和 (sum(1, 3) = 4)
• pack: 結合前の属性値がすべて同じならその値、そうでなければ組
(pack(1, 1) = 1, pack(1, 3) = (1, 3))
10 / 16
Proposing Datamodel
学部生 院生
大学生
Figure: DAG T
下表のスキーマ (R, T, F) は、
• R = 学生数 (国名, 大学数, 学部生, 院生)
• VT = { 学部生, 院生, 大学生 }
• ET = { 学部生 → 大学生, 院生 → 大学生 }
• 学部生 + 院生 = 大学生 なので、
F = {sum ∶ 学部生 × 院生 → 大学生}
国名 大学数 学部生 院生
日本 783 256 26
アメリカ 2,719 1,213
イギリス 164 154
フランス 91 130
ドイツ 409 199
韓国 179 203 32
中国 1,090 1,180 141
Table: 学生数の国際比較 (再掲) 11 / 16
Proposing Datamodel
Instance
スキーマ (R, T, F) のインスタンス I を、組の有限集合と定義
• 組 x は属性名から属性値 (セルの値) への写像
学部生 院生
大学生
下表では、x1, ⋯ , x7 を定義し I = {xi} とする
• x1(学部生) = 256, x1(大学生) = undefined
• x2(学部生) = undefined, x2(大学生) = 1213
国名 大学数 学部生 院生
x1 日本 783 256 26
x2 アメリカ 2,719 1,213
x3 イギリス 164 154
⋮
x7 中国 1,090 1,180 141
Table: 学生数の国際比較 (再掲)
12 / 16
Proposing Datamodel
roll-up
集約関数 f (∈ F) に従って階層関係にあるセルを結合する操作
▵f I ∶= {▵f x ∣ x ∈ I}
▵f x(A) ∶=
󰃠
f (x(dom(f ))) (A = im(f ))
x(A) (otherwise)
drill-down
集約関数 f (∈ F) の逆関数 f −1
に従ってセルを分割する操作
▿f I ∶= {▿f x ∣ x ∈ I}
▿f x(A) ∶=
󰃠
v s.t. f (⋯ , v, ⋯) = x(im(f )) (A ∈ dom(f ))
x(A) (otherwise)
※ f に逆関数が存在すれば可能 (このとき roll-up と drill-down は逆操作)
13 / 16
Proposing Datamodel
roll-up の例
左表を関数 sum で属性「学部生」「院生」を roll-up すると、右表が得られる
左表を保持することで、次の集計が可能に:
• 学部生・院生の人数比較など、左表でしかできない集計
• 1 大学あたりの学生数の算出など、右表でしかできない集計
国名 大学数 学部生 院生
日本 783 256 26
アメリカ 2,719 1,213
イギリス 164 154
⋮
中国 1,090 1,180 141
Table: 学生数の国際比較 (再掲)
国名 大学数 大学生
日本 783 282
アメリカ 2,719 1,213
イギリス 164 154
⋮
中国 1,090 1,321
Table: 関数 sum による roll-up 後
14 / 16
Proposing Datamodel
drill-down の例
上表を関数 pack で属性「中学生以上」を drill-down すると、下表が得られる
⇨ 上表を保持しておけば、必要なときに下表に変換可能
券種 大人 中高生 小学生 幼児
一般 1,000 600 400 無料
団体 800 400 300 無料
障害者手帳所持者 300 200 無料
Table: 博物館入館料
券種 大人 中高生 小学生 幼児
一般 1,000 600 400 無料
団体 800 400 300 無料
障害者手帳所持者 300 300 200 無料
Table: 関数 pack による drill-down 後
15 / 16
Conclusion
セル結合を含む表に対し、関係代数を拡張したデータモデルを提案
• 集約関数によりセル結合のセマンティクスを記述可能に
• roll-up, drill-down により機械的なセルの結合・分割操作が可能に
⇨ セル結合を含む表の再利用性を高めることが可能に
Future tasks
• 集約関数が明示的に与えられていない表に対して、セル結合に用いられ
た集約関数を機械的に推定する手法
• 1NF の表のセルを適切に結合する手法
(属性値が同じならすべてセル結合できる、というわけではない)
• 既存の DBMS に実装した場合の時間的・容量的コストに対する検討
16 / 16
Background
Remark
本研究で対象とする表は、長方形のセル結合からなる表に限定
col1 col2 col3 col4
val1 vala valA
valαval2 valb
val3 valC
Figure: 長方形のセル結合を含む表
col1 col2 col3 col4
val1 valA
valα
val2
Figure: 長方形でないセル結合を含む表
17 / 16
Purpose
セル結合を含む表のデータモデルを構築
• セル結合を含む表の構成要素を提示
• セル結合の適切さに関する分類基準を提案
• データの再利用性を考慮して集計機能へ応用
国名 大学数 学部生 院生
日本 783 256 26
アメリカ 2,719 1,213
イギリス 164 154
フランス 91 130
ドイツ 409 199
韓国 179 203 32
中国 1,090 1,180 141
Table: 本研究で対象とする表の例 (出典:文科省 [5])
18 / 16
Previous works
「ネ申 Excel」
巧妙だが再利用性の低い Excel ファイル (奥村ら [6], 2013)
• 機械でなく人間が用いることを意図したバッドデータ
• 緊急時には再利用性の低さが人命に関わることも
• 下表では、2 種類の Cs 同位体の合計値をセル結合で示しているが、機
械的には (人間でも人によっては) そのような作成者の意図を認識でき
ない
検査機関 採取日
○○検査機関 H23.10.1 5 5 5
◇◇検査機関 H23.10.1 - 25 25
△△検査機関 H23.10.1 10 10
☆☆検査機関 H23.10.1 - 25 25
131
I 134
Cs 137
Cs
134
Cs,137
Cs
の合計値
Figure: 「ネ申 Excel」の例 (単位は Bq/kg、引用元:厚労省 [4])
19 / 16
Previous works
Spreadsheet Algebra
Liu,Jagadish「A Spreadsheet Algebra for a Direct Data Manipulation
Query Interface」(2009)[3]
• SQL の GROUP BY 句や HAVING 句を取り入れるよう関係代数を拡張
• 集計を視野に入れているが、実際に扱っているのは関係表
20 / 16
Proposing Datamodel
集約関数
セル結合前の属性値からセル結合後の属性値への関数
• sum: 結合前の属性値の和 (sum(1, 3) = 4)
• avg: 結合前の属性値の平均値 (avg(1, 3) = 2)
• max: 結合前の属性値の最大値 (max(1, 3) = 3)
• cat: 結合前の属性値を連結した値 (cat(c, a, t) = cat)
• tuple: 結合前の属性値の組 (tuple(1, 3) = (1, 3))
• pack: 結合前の属性値がすべて同じならその値、そうでなければ組を
返す
(pack(1, 1) = 1, pack(1, 3) = (1, 3))
21 / 16
Proposing Datamodel
Instance
スキーマ (R, T, F) のインスタンス I を、組の有限集合と定義
• 組 x は属性名からセルへの写像
• セルは 3 つ組 (vij, g, f ) からなり、それぞれセルの値 vij、セルが属する
グループ g、値が有効かを表すフラグ f である
Group
グループは、行方向のセル結合を表す組の有限集合
22 / 16
Proposing Datamodel
学部生 院生
大学生
Figure: DAG T
下表の例では、
• x1(国名) = (日本, null, True), x1(学部生) =
(256, null, True), x1(大学生) = undefined
• x2(学部生) = undefined,
x2(大学生) = (1213, null, True)
• 以下、同様に x3, ⋯ , x7 を定義し、I = {xi} とする
国名 大学数 学部生 院生
日本 783 256 26
アメリカ 2,719 1,213
イギリス 164 154
フランス 91 130
ドイツ 409 199
韓国 179 203 32
中国 1,090 1,180 141
Table: 学生数の国際比較 (再掲)
23 / 16
Classifying tables
セル結合の適切さによる表の分類
セル結合の適切さに応じて、セル結合を含む表を C0, C1, C2 の 3 種に分類
(C2 ⊂ C1 ⊂ C0)
• C0: セル結合を含む任意の表 (R, T, F) が属する集合
• C1: セル結合に関数従属性 (FD) が認められる表が属する集合
(但し、集約関数は人間 or 機械が推測するしかない)
• C2: セル結合が従属する集約関数が明示された表が属する集合
結合前の属性値から結合後の属性値を機械的に計算できる
検査機関 採取日
○○検査機関 H23.10.1 5 5 5
◇◇検査機関 H23.10.1 - 25 25
△△検査機関 H23.10.1 10 10
☆☆検査機関 H23.10.1 - 25 25
131
I 134
Cs 137
Cs
134
Cs,137
Cs
の合計値
24 / 16
Classifying tables
roll-up, drill-down 正規形
• roll-up 正規形 (RUNF): roll-up により 1NF に変換できる表
• drill-down 正規形 (DDNF): drill-down により 1NF に変換できる表
※ 「1NF に変換できる」のは、属性のすべてのドメインがシンプルである
(集合や冪集合でない) とき
25 / 16
Reference I
DBInfoBlog. Nested Relations. 2013. url:
http://www.dbinfoblog.com/post/121/nested-relations.
Jim Gray et al. “Data Cube: A Relational Aggregation Operator Generalizing Group-By,
Cross-Tab, and Sub-Totals”. In: Data Mining and Knowledge Discovery 1.1 (1997),
pp. 29–53. doi: 10.1023/A:1009726021843.
Bin Liu and H.V. Jagadish. “A Spreadsheet Algebra for a Direct Data Manipulation Query
Interface”. In: Data Engineering, 2009. ICDE ’09. IEEE 25th International Conference on.
2009. doi: 10.1109/ICDE.2009.34.
厚生労働省. 食品中の放射性物質の検査結果について. 2011. url:
http://www.mhlw.go.jp/stf/houdou/2r9852000001q51k-att/2r9852000001qjsv.pdf.
文部科学省. これからの大学教育等の在り方について (教育再生実行会議第三次提言). 2013.
url: http://www.mext.go.jp/b_menu/shingi/chukyo/chukyo0/gijiroku/attach/__
icsFiles/afieldfile/2013/10/16/1340415-9-2.pdf.
奥村 晴彦. “「ネ申 Excel」問題”. In: 情報処理学会情報教育シンポジウム SSS2013 論文集
(2013), pp. 93–98. url: http://oku.edu.mie-u.ac.jp/~okumura/SSS2013.pdf.
26 / 16

Más contenido relacionado

Destacado

Destacado (15)

コミュニケーション
コミュニケーションコミュニケーション
コミュニケーション
 
メディア・リテラシー実習
メディア・リテラシー実習メディア・リテラシー実習
メディア・リテラシー実習
 
社会システム理論に基づく情報教育の教材開発
社会システム理論に基づく情報教育の教材開発社会システム理論に基づく情報教育の教材開発
社会システム理論に基づく情報教育の教材開発
 
What is "design"?
What is "design"?What is "design"?
What is "design"?
 
プログラミング
プログラミングプログラミング
プログラミング
 
セキュリティ
セキュリティセキュリティ
セキュリティ
 
暗号
暗号暗号
暗号
 
システム論に基づく情報教育の授業計画と教育実践
システム論に基づく情報教育の授業計画と教育実践システム論に基づく情報教育の授業計画と教育実践
システム論に基づく情報教育の授業計画と教育実践
 
メディア・リテラシー
メディア・リテラシーメディア・リテラシー
メディア・リテラシー
 
知的財産
知的財産知的財産
知的財産
 
BADUIからユニバーサルデザインへ展開するデザイン教育実践
BADUIからユニバーサルデザインへ展開するデザイン教育実践BADUIからユニバーサルデザインへ展開するデザイン教育実践
BADUIからユニバーサルデザインへ展開するデザイン教育実践
 
情報とは
情報とは情報とは
情報とは
 
Topic model
Topic modelTopic model
Topic model
 
トピックモデルの話
トピックモデルの話トピックモデルの話
トピックモデルの話
 
Gensim
GensimGensim
Gensim
 

Más de saireya _

Más de saireya _ (15)

文章作成の基礎
文章作成の基礎文章作成の基礎
文章作成の基礎
 
Peirceの探究段階論に基づく「情報I, II」の授業設計
Peirceの探究段階論に基づく「情報I, II」の授業設計Peirceの探究段階論に基づく「情報I, II」の授業設計
Peirceの探究段階論に基づく「情報I, II」の授業設計
 
Peirceの探究段階論に基づく「情報I, II」における単元間の構造分析
Peirceの探究段階論に基づく「情報I, II」における単元間の構造分析Peirceの探究段階論に基づく「情報I, II」における単元間の構造分析
Peirceの探究段階論に基づく「情報I, II」における単元間の構造分析
 
テーマ設定・文献読解
テーマ設定・文献読解テーマ設定・文献読解
テーマ設定・文献読解
 
実験レポートの書き方
実験レポートの書き方実験レポートの書き方
実験レポートの書き方
 
実験ノートの書き方
実験ノートの書き方実験ノートの書き方
実験ノートの書き方
 
コミュニケーション(2020ver)
コミュニケーション(2020ver)コミュニケーション(2020ver)
コミュニケーション(2020ver)
 
情報(2020ver)
情報(2020ver)情報(2020ver)
情報(2020ver)
 
表現と内容
表現と内容表現と内容
表現と内容
 
人間と機械
人間と機械人間と機械
人間と機械
 
創発(2020ver)
創発(2020ver)創発(2020ver)
創発(2020ver)
 
セキュリティ(2020ver)
セキュリティ(2020ver)セキュリティ(2020ver)
セキュリティ(2020ver)
 
介入としての側面に焦点化したプレゼンテーションの教育実践
介入としての側面に焦点化したプレゼンテーションの教育実践介入としての側面に焦点化したプレゼンテーションの教育実践
介入としての側面に焦点化したプレゼンテーションの教育実践
 
社会のイノベーションを志向する情報教育の体系化
社会のイノベーションを志向する情報教育の体系化社会のイノベーションを志向する情報教育の体系化
社会のイノベーションを志向する情報教育の体系化
 
コミュニケーション・情報・メディアの統合モデルに基づく教育実践
コミュニケーション・情報・メディアの統合モデルに基づく教育実践コミュニケーション・情報・メディアの統合モデルに基づく教育実践
コミュニケーション・情報・メディアの統合モデルに基づく教育実践
 

セル結合を含む表のデータモデル

  • 2. Background 多数のセルからなる表 (table) は、日常の様々な場面で利用される • 実世界では、セル結合を含む表が多用される • 一方、セル結合を使うとデータの機械的な再利用性が低下するため、利 用すべきでないとする議論もある (e.g. バッドデータ, 「ネ申 Excel」) ⇦ 適切なデータモデルがないことが問題では? Research purpose セル結合を含む表に対応するよう、関係データモデルを拡張 国名 大学数 学部生 院生 日本 783 256 26 アメリカ 2,719 1,213 イギリス 164 154 ⋮ 中国 1,090 1,180 141 Table: セル結合を含む表の例 (学生の単位は万人、出典:文科省 [5]) 2 / 16
  • 3. Previous works nested relation 第一正規形 (1NF) の定義を満たさない関係の例 name address birthdate movies Fisher city street Maple H'wood Locust Malibu 9/9/99 title year length Star wars 1977 124 Empire 1980 127 Return 1983 133 Hamill city street Oak B'wood 8/3/88 title year length Star wars 1977 124 Empire 1980 127 Return 1983 133 Figure: nested relation の例 (出典:DBInfoBlog[1]) 3 / 16
  • 4. Previous works nested relation とセル結合を含む表の違い (1) 属性間の階層関係が一定でない • 前頁の表のスキーマは次のように表せる R(name, address(city, street), birthdate, movies(title, year, length)) • 下表のスキーマは定義できない (次のどちらも間違い) R(R1(col1, col2), col3, col4) R(col1, R2(col2, col3), col4) col1 col2 col3 col4 val1 vala valA valαval2 valb val3 valC Figure: セル結合を含む表の例 (再掲) 4 / 16
  • 5. Previous works nested relation とセル結合を含む表の違い (2) 階層関係にある属性の間の関係性 (セマンティクス) を考慮していない • 下表では、セル結合の前の属性と結合後の属性の間に、「結合後の属性 は結合前の属性の合計である」というセマンティクスが存在 • nested relation の理論では nest,unnest の際にセマンティクスを考慮し ない (Jaeschke et al., 1982) ため、下表をデータとして活用できない 国名 学部生 院生 日本 256 26 アメリカ 1,213 イギリス 154 ⋮ 中国 1,180 141 Table: 学生数の国際調査 5 / 16
  • 6. Previous works データキューブ (OLAP キューブ) OLAP(オンライン分析処理) で用いられるデータ構造 [2] • roll-up: 集約関数により 1 つ以上の属性について集計 • drill-down: 集計したものを細分化する、roll-up の逆操作 ⇨ 本研究では、集約関数をセル結合のセマンティクス記述に、roll-up, drill-down をセルの結合・分割操作に援用 学部生 院生 日本 256 26 韓国 203 32 中国 1,180 141 Table: roll-up 前 学部生 院生 ALL 1,639 199 Table: 総和関数での roll-up 後 6 / 16
  • 7. Advantages and Disadvantages of merged cells Advantage 人間にとって扱いやすい • 表の視認性が向上 (表の理解に必要なテキスト量が減少) • 表の更新不整合が生じない (一箇所を更新するだけで OK) • 個々の属性値が分からず、集計値しかないデータを記録できる 券種 大人 中高生 一般 1,000 600 団体 800 400 障害者手帳所持者 300 Table: 博物館入館料 (出典:トヨタ博 物館) 国名 学部生 院生 日本 256 26 アメリカ 1,213 イギリス 154 フランス 130 ドイツ 199 韓国 203 32 中国 1,180 141 Table: 学生数の国際調査 7 / 16
  • 8. Advantages and Disadvantages of merged cells Disadvantage 機械にとって扱いにくい • セル結合のセマンティクス (意味) が不明瞭に (表の作者はどのような意図でセルを結合したのか?) • 表の再利用性が低下 (プログラムで扱うのが困難) ⇨ 各種の集計に用いることが困難に (セル結合を含むとデータとして使い物にならない) 国名 学部生 院生 日本 256 26 アメリカ 1,213 イギリス 154 ⋮ 中国 1,180 141 Table: 学生数の国際調査 8 / 16
  • 9. Advantages and Disadvantages of merged cells 人間 機械 作成側 利用側 × 既存のDBMSで扱えない × セル結合した意味の推測が困難 × 再利用性の低下 × 特定セルの値の取得が困難 × 行の整列ができなくなる ○ 表の視認性が向上 ○ 冗長性が低減 ○ 更新不整合が生じない ○ 集約値を記録することが可能 Figure: セル結合の利点と欠点 Approach • セル結合の属性値が何を表すのかを明確にする ⇨ 集約関数によるセマンティクスの記述 • 機械的に再利用可能、特に集計機能への応用が可能 ⇨ roll-up, drill-down によるセルの結合・分割操作を定義 9 / 16
  • 10. Proposing Datamodel Schema セル結合を含む表のスキーマを (R, T, F) の 3 つ組で表現 • R は関係スキーマ • T = (VT , ET ) は属性の階層関係を表す有向無閉路グラフ (DAG) ※ 但し行方向のセル結合を表すため、T の葉は閉路を持っても良いとする • F は T で用いる集約関数の集合 集約関数 セル結合前の属性値からセル結合後の属性値への関数 • sum: 結合前の属性値の和 (sum(1, 3) = 4) • pack: 結合前の属性値がすべて同じならその値、そうでなければ組 (pack(1, 1) = 1, pack(1, 3) = (1, 3)) 10 / 16
  • 11. Proposing Datamodel 学部生 院生 大学生 Figure: DAG T 下表のスキーマ (R, T, F) は、 • R = 学生数 (国名, 大学数, 学部生, 院生) • VT = { 学部生, 院生, 大学生 } • ET = { 学部生 → 大学生, 院生 → 大学生 } • 学部生 + 院生 = 大学生 なので、 F = {sum ∶ 学部生 × 院生 → 大学生} 国名 大学数 学部生 院生 日本 783 256 26 アメリカ 2,719 1,213 イギリス 164 154 フランス 91 130 ドイツ 409 199 韓国 179 203 32 中国 1,090 1,180 141 Table: 学生数の国際比較 (再掲) 11 / 16
  • 12. Proposing Datamodel Instance スキーマ (R, T, F) のインスタンス I を、組の有限集合と定義 • 組 x は属性名から属性値 (セルの値) への写像 学部生 院生 大学生 下表では、x1, ⋯ , x7 を定義し I = {xi} とする • x1(学部生) = 256, x1(大学生) = undefined • x2(学部生) = undefined, x2(大学生) = 1213 国名 大学数 学部生 院生 x1 日本 783 256 26 x2 アメリカ 2,719 1,213 x3 イギリス 164 154 ⋮ x7 中国 1,090 1,180 141 Table: 学生数の国際比較 (再掲) 12 / 16
  • 13. Proposing Datamodel roll-up 集約関数 f (∈ F) に従って階層関係にあるセルを結合する操作 ▵f I ∶= {▵f x ∣ x ∈ I} ▵f x(A) ∶= 󰃠 f (x(dom(f ))) (A = im(f )) x(A) (otherwise) drill-down 集約関数 f (∈ F) の逆関数 f −1 に従ってセルを分割する操作 ▿f I ∶= {▿f x ∣ x ∈ I} ▿f x(A) ∶= 󰃠 v s.t. f (⋯ , v, ⋯) = x(im(f )) (A ∈ dom(f )) x(A) (otherwise) ※ f に逆関数が存在すれば可能 (このとき roll-up と drill-down は逆操作) 13 / 16
  • 14. Proposing Datamodel roll-up の例 左表を関数 sum で属性「学部生」「院生」を roll-up すると、右表が得られる 左表を保持することで、次の集計が可能に: • 学部生・院生の人数比較など、左表でしかできない集計 • 1 大学あたりの学生数の算出など、右表でしかできない集計 国名 大学数 学部生 院生 日本 783 256 26 アメリカ 2,719 1,213 イギリス 164 154 ⋮ 中国 1,090 1,180 141 Table: 学生数の国際比較 (再掲) 国名 大学数 大学生 日本 783 282 アメリカ 2,719 1,213 イギリス 164 154 ⋮ 中国 1,090 1,321 Table: 関数 sum による roll-up 後 14 / 16
  • 15. Proposing Datamodel drill-down の例 上表を関数 pack で属性「中学生以上」を drill-down すると、下表が得られる ⇨ 上表を保持しておけば、必要なときに下表に変換可能 券種 大人 中高生 小学生 幼児 一般 1,000 600 400 無料 団体 800 400 300 無料 障害者手帳所持者 300 200 無料 Table: 博物館入館料 券種 大人 中高生 小学生 幼児 一般 1,000 600 400 無料 団体 800 400 300 無料 障害者手帳所持者 300 300 200 無料 Table: 関数 pack による drill-down 後 15 / 16
  • 16. Conclusion セル結合を含む表に対し、関係代数を拡張したデータモデルを提案 • 集約関数によりセル結合のセマンティクスを記述可能に • roll-up, drill-down により機械的なセルの結合・分割操作が可能に ⇨ セル結合を含む表の再利用性を高めることが可能に Future tasks • 集約関数が明示的に与えられていない表に対して、セル結合に用いられ た集約関数を機械的に推定する手法 • 1NF の表のセルを適切に結合する手法 (属性値が同じならすべてセル結合できる、というわけではない) • 既存の DBMS に実装した場合の時間的・容量的コストに対する検討 16 / 16
  • 17. Background Remark 本研究で対象とする表は、長方形のセル結合からなる表に限定 col1 col2 col3 col4 val1 vala valA valαval2 valb val3 valC Figure: 長方形のセル結合を含む表 col1 col2 col3 col4 val1 valA valα val2 Figure: 長方形でないセル結合を含む表 17 / 16
  • 18. Purpose セル結合を含む表のデータモデルを構築 • セル結合を含む表の構成要素を提示 • セル結合の適切さに関する分類基準を提案 • データの再利用性を考慮して集計機能へ応用 国名 大学数 学部生 院生 日本 783 256 26 アメリカ 2,719 1,213 イギリス 164 154 フランス 91 130 ドイツ 409 199 韓国 179 203 32 中国 1,090 1,180 141 Table: 本研究で対象とする表の例 (出典:文科省 [5]) 18 / 16
  • 19. Previous works 「ネ申 Excel」 巧妙だが再利用性の低い Excel ファイル (奥村ら [6], 2013) • 機械でなく人間が用いることを意図したバッドデータ • 緊急時には再利用性の低さが人命に関わることも • 下表では、2 種類の Cs 同位体の合計値をセル結合で示しているが、機 械的には (人間でも人によっては) そのような作成者の意図を認識でき ない 検査機関 採取日 ○○検査機関 H23.10.1 5 5 5 ◇◇検査機関 H23.10.1 - 25 25 △△検査機関 H23.10.1 10 10 ☆☆検査機関 H23.10.1 - 25 25 131 I 134 Cs 137 Cs 134 Cs,137 Cs の合計値 Figure: 「ネ申 Excel」の例 (単位は Bq/kg、引用元:厚労省 [4]) 19 / 16
  • 20. Previous works Spreadsheet Algebra Liu,Jagadish「A Spreadsheet Algebra for a Direct Data Manipulation Query Interface」(2009)[3] • SQL の GROUP BY 句や HAVING 句を取り入れるよう関係代数を拡張 • 集計を視野に入れているが、実際に扱っているのは関係表 20 / 16
  • 21. Proposing Datamodel 集約関数 セル結合前の属性値からセル結合後の属性値への関数 • sum: 結合前の属性値の和 (sum(1, 3) = 4) • avg: 結合前の属性値の平均値 (avg(1, 3) = 2) • max: 結合前の属性値の最大値 (max(1, 3) = 3) • cat: 結合前の属性値を連結した値 (cat(c, a, t) = cat) • tuple: 結合前の属性値の組 (tuple(1, 3) = (1, 3)) • pack: 結合前の属性値がすべて同じならその値、そうでなければ組を 返す (pack(1, 1) = 1, pack(1, 3) = (1, 3)) 21 / 16
  • 22. Proposing Datamodel Instance スキーマ (R, T, F) のインスタンス I を、組の有限集合と定義 • 組 x は属性名からセルへの写像 • セルは 3 つ組 (vij, g, f ) からなり、それぞれセルの値 vij、セルが属する グループ g、値が有効かを表すフラグ f である Group グループは、行方向のセル結合を表す組の有限集合 22 / 16
  • 23. Proposing Datamodel 学部生 院生 大学生 Figure: DAG T 下表の例では、 • x1(国名) = (日本, null, True), x1(学部生) = (256, null, True), x1(大学生) = undefined • x2(学部生) = undefined, x2(大学生) = (1213, null, True) • 以下、同様に x3, ⋯ , x7 を定義し、I = {xi} とする 国名 大学数 学部生 院生 日本 783 256 26 アメリカ 2,719 1,213 イギリス 164 154 フランス 91 130 ドイツ 409 199 韓国 179 203 32 中国 1,090 1,180 141 Table: 学生数の国際比較 (再掲) 23 / 16
  • 24. Classifying tables セル結合の適切さによる表の分類 セル結合の適切さに応じて、セル結合を含む表を C0, C1, C2 の 3 種に分類 (C2 ⊂ C1 ⊂ C0) • C0: セル結合を含む任意の表 (R, T, F) が属する集合 • C1: セル結合に関数従属性 (FD) が認められる表が属する集合 (但し、集約関数は人間 or 機械が推測するしかない) • C2: セル結合が従属する集約関数が明示された表が属する集合 結合前の属性値から結合後の属性値を機械的に計算できる 検査機関 採取日 ○○検査機関 H23.10.1 5 5 5 ◇◇検査機関 H23.10.1 - 25 25 △△検査機関 H23.10.1 10 10 ☆☆検査機関 H23.10.1 - 25 25 131 I 134 Cs 137 Cs 134 Cs,137 Cs の合計値 24 / 16
  • 25. Classifying tables roll-up, drill-down 正規形 • roll-up 正規形 (RUNF): roll-up により 1NF に変換できる表 • drill-down 正規形 (DDNF): drill-down により 1NF に変換できる表 ※ 「1NF に変換できる」のは、属性のすべてのドメインがシンプルである (集合や冪集合でない) とき 25 / 16
  • 26. Reference I DBInfoBlog. Nested Relations. 2013. url: http://www.dbinfoblog.com/post/121/nested-relations. Jim Gray et al. “Data Cube: A Relational Aggregation Operator Generalizing Group-By, Cross-Tab, and Sub-Totals”. In: Data Mining and Knowledge Discovery 1.1 (1997), pp. 29–53. doi: 10.1023/A:1009726021843. Bin Liu and H.V. Jagadish. “A Spreadsheet Algebra for a Direct Data Manipulation Query Interface”. In: Data Engineering, 2009. ICDE ’09. IEEE 25th International Conference on. 2009. doi: 10.1109/ICDE.2009.34. 厚生労働省. 食品中の放射性物質の検査結果について. 2011. url: http://www.mhlw.go.jp/stf/houdou/2r9852000001q51k-att/2r9852000001qjsv.pdf. 文部科学省. これからの大学教育等の在り方について (教育再生実行会議第三次提言). 2013. url: http://www.mext.go.jp/b_menu/shingi/chukyo/chukyo0/gijiroku/attach/__ icsFiles/afieldfile/2013/10/16/1340415-9-2.pdf. 奥村 晴彦. “「ネ申 Excel」問題”. In: 情報処理学会情報教育シンポジウム SSS2013 論文集 (2013), pp. 93–98. url: http://oku.edu.mie-u.ac.jp/~okumura/SSS2013.pdf. 26 / 16