Togetter/min.tを安心してお使い頂くためのガイドラインを公開しました。
2020年4月13日

徒然なるままにデータベースやその理論

自分用のまとめです。何かあったら @a_suenami まで。
1
pokarim @pokarim

"アウトライナーはタスクを扱いやすいけど管理はしにくくて歯痒い…並び替えは常に手作業(これは一長一短か)。今日実行予定のタスクのみを表示、ってのも、タグを使えばできるけれども、タスク管理アプリのようにあらかじめいくつかのビューが用意されていたりはしない。" choiyaki.com/?p=1023

2020-04-11 22:16:21
pokarim @pokarim

データベースアプリケーションとしてのアウトライナーのはなしっぽい

2020-04-11 22:18:20
pokarim @pokarim

タグだけでなく期限や予定日などの任意の属性をノードに持たせられるようにすること、検索・ソート結果をフォルダ風に見せるいわゆるスマートフォルダ的な機能あたりを組み合わせることでもうすこし改善していけるんじゃないかと思ってる

2020-04-11 22:20:14
pokarim @pokarim

もともとはデータベースアプリケーションの汎用UIとしてのアウトライナーという方向から始めたんだけど、インラインで属性を書くにはインデント構造だけでは足りないということになって、レイアウトの自由度を高める方向の模索が始まったんですよね

2020-04-11 22:29:53
pokarim @pokarim

最近はもっぱらアウトライナーを拡張して表やらなんやら書けるようにするのがメインになってるけど、もともとはデータベースアプリケーションのUIとしてのアウトライナーというのが本題だったので、そっち方向についてもそのうち再開する予定だしこのあたりは常に気になってる

2020-04-11 22:31:53
pokarim @pokarim

隠れテーマとしてはツリーvs表という対立をどう解消するかというものがあって、これについてはUIレベルでもデータベースモデルにおいてもずいぶんわかってきた

2020-04-11 22:36:56
pokarim @pokarim

データベースモデルと incremental computation の関係の話も忘れたわけではないのでそのうちまた再開する予定(最近実装はすすんでない)

2020-04-11 22:38:09
pokarim @pokarim

完全に虚空にむかってつぶやいている気分だけど夜のツイッターだしそういうときがあってもいいよね

2020-04-11 22:38:28
pokarim @pokarim

表のセルの結合と分割はふつうに表裏だと思うんだけど、HTMLから表計算まで複雑な構造の表といえばまずセルの結合で対応するものと相場がきまっている雰囲気があるんだけど、これはなぜなんだろうか

2020-04-11 22:43:05
pokarim @pokarim

表はそれだけでもわりと複雑な構造なので、そこにさらにネスト構造を入れるというのが直感的にまちがったアイデアに感じられるということだろうか

2020-04-11 22:44:09
_ @apstndb

スプレッドシートに関していえば、結合であれば二次元でフラットなセル参照のままで扱えるからってのが大きそうで、入れ子になったら新しい概念を導入しないといけないわけですよね

2020-04-11 22:47:33
pokarim @pokarim

RDBMSにおいてもコッド博士やクリス・デイトは一階述語論理におさまる範囲のフラットなテーブルというものに最後までこだわったようだけれども、結局のところJSONのような値を格納するのがごく一般的な光景になりつつある。

2020-04-11 22:47:40
pokarim @pokarim

そうなんですよね。そこにギャップがあるのは確かにその通りで。

2020-04-11 22:48:50
_ @apstndb

HTML のテーブルはスプレッドシートの後から来たから、同じ概念を表現できないと困ったのでは(Excel の HTML 出力が実際にどんな構造を吐いていたのかとかは知らない)

2020-04-11 22:49:30
pokarim @pokarim

Excel風にいえば A1 のようなシンプルだったアドレスが入れ子になると「A1のB1」とか「A1のB1のA1」みたいになってきてしまう

2020-04-11 22:51:11
_ @apstndb

Chris Date は relation は単なる型であるという思想だから入れ子は普通にやっているような

2020-04-11 22:51:49
pokarim @pokarim

別の問題として入れ子構造が入ってきたときにUIとしてそれを扱う操作体系をどうするかという問題もある。

2020-04-11 22:52:33
pokarim @pokarim

あれ、そうでしたっけ、うそ書いたかも

2020-04-11 22:54:29
_ @apstndb

少なくとも 1NF は配列を入れないことを意味しないという意味ではかなり明確に C.J. Date は構造を持った型を attribute にすることを許可していたはずですよね

2020-04-11 22:56:10
_ @apstndb

とりあえず TTM の本でも「Relation-Valued Attributes」とかで検索すると普通に relation 型の属性を持った relation は出てきた dcs.warwick.ac.uk/~hugh/TTM/DTAT…

2020-04-11 22:57:24
_ @apstndb

古典的な RDB 理論、 Codd が言ったとされていることの解釈が金科玉条のごとく扱われていることがあるけど、本当に Codd はそのつもりでそう言ったのかはよくわからんなということがわりとあるし、わりと C.J. Date は古典的な解釈を否定している印象あります

2020-04-11 22:59:59
pokarim @pokarim

TODO: ここらへんざっと読む、ということにして twitter.com/pokarim/status…

2020-04-11 23:00:14
_ @apstndb

いわゆる TTM 自身が Relation Valued Attribute ないと使い物にならない印象ありますね。GROUP オペレータの結果が入れ子になるので。

2020-04-11 23:01:55
pokarim @pokarim

現状はおそらくTutorial D からかなり離れてるだろうから、そこからの予想外挿でいったん雑に書いてしまいますが、なんとなくTutorial Dあたりの延長線上で階層構造がいい感じに扱えるようになる感触が個人的に得られなかったんですよね

2020-04-11 23:01:59
残りを読む(114)

コメント

コメントがまだありません。感想を最初に伝えてみませんか?