このブログは、旧・はてなダイアリー「檜山正幸のキマイラ飼育記 メモ編」(http://d.hatena.ne.jp/m-hiyama-memo/)のデータを移行・保存したものであり、今後(2019年1月以降)更新の予定はありません。

今後の更新は、新しいブログ http://m-hiyama-memo.hatenablog.com/ で行います。

データベース

形式制約の書き方例

テーブル名tに対して、tの(ある時点での)インスタンス=状態を{|t|}と書く。 学生テーブル = ('学生', {'番号':int, '氏名':string}) 授業テーブル = ('授業', {'番号':int, '名前':string}) 受講テーブル = ('受講', {'授業':int, '学生':string}) 別名関…

データベース用語法がダメ、概念もダメ

一般的な用語(リレーション、タプルなど)をジャーゴンとして奪ってしまったので、ジャーゴンで閉じた世界内では一般的な議論ができなくなり、実際にしなくなり閉塞化する。ジャーゴンとは、閉塞化を目的とする言語体系と言えるから、この現象は必然的。対…

集合変数、関係変数、写像変数

可変集合とか不変集合とか言うので、まずは、 集合が等しい/違うとは 写像が等しい/違うとは のシッカリした理解が必要。実体、関連を単に集合変数、関係変数として書いてみる。 図式 { 集合 const int, var 学生, var コース var 教員; 関係 var 2年生(学…

変更と更新と変容

追加 削除 変更 まとめて SQLコマンド INSERT DELETE UPDATE ここでの用語 insert delete modify update CRUD create delete update 追加(=挿入)操作で表すこと: 誕生、発生、参加、加入、 削除操作で表すこと:死滅、消滅、退去、脱退、退出 変更操作で…

「バベルの塔」問題 記法案

適切に語るべき言葉が(通常の日本語のなかでは)見つからないので、人工的な表記を導入するしかない。同義語の併記専用に、山形括弧('〈'と'〉')と縦棒(論理OR記号)を使う。 魑魅魍魎〈ちみもうりょう〉が跋扈〈ばっこ〉する。 一意識別子〈識別子 | ID…

同一性と一意識別子

「個体の変容」と「違う個体」を区別する方法? 一意識別子は、個体が変容しても変わらない。 違う個体には違う一意識別子が付く。 時点概念を使えば: 任意の2つの時点に対して、f(x@s) = f(x@t) x ≠ y ならば、f(x) ≠ f(y) 2番めの対偶は、 f(x) = f(y) …

変数概念と実体概念

変数 実体 変数名 実体名 変数の値 実体の集合 変数の型 実体の型 値の集合 集合の集合 変数の型=変数の値の集合 実体の型=実体の集合の集合=実体の可能的全体集合 文字実体の場合だと、次の多義性がある。 文字実体=実体'文字'='文字'という名前の実体…

図のテキスト表現と図の翻訳

図のテキスト表現 符号化ERA図 { 実体 学生; 属性 学年:学生→int; 符号化 番号:学生→int; } 符号化ER図 { 実体 学生, コース; 関連 履修(学生, コース); 符号化 <氏名, 生年月日>:学生→string×date, コース名:コース→string; } 符号化ER図 { 実体 学生, コー…

「バベルの塔」問題への対処

方言識別マーカー 長い名前 代替語の使用 同義語併記 異義語併記 方言識別マーカー 特定分野の方言はそれと分かるようにマークする。例: 《タプル》 《リレーション》 長い名前 多義語の片方(あるいは両方)を形容詞・副詞で修飾する。 線グラフと関数グラ…

データベースの型理論と関係

型=データ型=集合 基本型=基本データ型=基本集合 直積型構成子 直積型=直積データ型=直積集合 直積型=タプル型 ペア型⊆タプル型 ベキ集合型構成子=ベキ型構成子 { {ベキ集合}{型 | データ型} | {ベキ}{型 | データ型 | 集合} } {制約 | 制限}{_ | 条…

アブユースとアブダクション

int = Int を許容するリーズニング(アブダクション) S('int') = Int --------------------------------[アブダクション] let int = S('int') int = Int S('檜山') = (生きている人間・檜山) ---------------------------------[アブダクション] let 檜山 =…

学習負担の原因となる「記法の多様性」問題と解決法

「バベルの塔」問題 「アブダクション」問題 バベルの塔 - Wikipedia 神は降臨してこの塔を見「人間は言葉が同じなため、このようなことを始めた。人々の言語を乱し、通じない違う言葉を話させるようにしよう」と言った。このため、人間たちは混乱し、塔の建…

possible totality = 可能的全体

実体(entity)の意味論には、特定の名前(=ラベル)を持つ実体の可能的全体(=possible totality)と呼ばれる集合が必要。実体の実現値(=具体例=インスタンス)は、可能的全体の部分集合(または有限部分集合)となる。可能的全体の要素は可能的個体(…

言葉がないのが問題

ジャーゴンだけでは言葉が足りない! 普通 データベース リテラル JSON形式(一例) 変数 テーブル 定数 ? 値 《リレーション》 破壊的代入 更新 演算 《リレーション》演算 型 ? 基本データ型 《ドメイン》 《リレーション》は、特殊なデータ型(直積デー…

なぜリレーションの理論は腐ったのか

腐ってクソ理論に成り下がったのは: コッドが偉大すぎた。 デイトが純粋化して、コッドの現実迎合的(不純な)傾向はなくなった。 純粋化から教条化・徳目化した。 ジャーゴンにより、他分野との交流が困難になった。 閉塞・閉鎖的傾向が強まった。 進歩が…

リレーションの理論の代替案

奥野本擁護と奥野本批判にて: 先にその問題点を言っておくと: 論理をほとんど使ってない。 外部世界を考慮してない。 一単語追加して: 数学・論理をほとんど使ってない。 外部世界を考慮してない。 この批判と共に提示すべき代替案・対抗案は: 数学・論…

色々と雑多(だけど大事)なこと

外部世界を想定すること 外部世界をモデリングすること モデリングの不具合修正とER図の同値変形を混同しないこと モデリングの不具合は、勘違いや認識不足から起きる。不具合は修正する。 ER図の同値変形はモデリングのテクニックであり、練習して習得する…

ER図とTC図と、相互変換

構成要素は: ノード アロー ブリッジ(1-ブリッジ, 2-ブリッジ, 3-ブリッジ, ...) それぞれの意味は 集合 写像 n項関係 装飾としては: ノードの《ドメイン》(不変ノード; immutable, constant, fixed, invariant)指定 Immu(x) スパンの同時単射性指定 J…

言葉や記号や図による表現の困難さ

大事なこと: 記号と、記号が意味するモノを区別する。 図や図の一部と、図や図の一部が意味するモノを区別する。 必要なら、記号と、記号が意味するモノを同一視する。 必要なら、図や図の一部と、図や図の一部が意味するモノを同一視する。 多義語は文脈ご…

制御自然言語による記述

テンプレート 二項関係: ××は、××を、××○○。 写像:××に、××が決まり、××は○○である。 直積:××データ○は、××○と××○からなる。 オーバーロード規則(名前空間) 集合(型)名と写像・関係名は別の名前空間で、同一名を使用してもよい。 始域が違えば、同じ…

モデリングと図

ERモデリング 外部世界を「集合、写像、関係」でモデル化して、ノード、アロー、ブリッジで図示する。 TCモデリング ERモデリングの成果物であるER図を変形してTC図を作成する。 ER=Entity-Relationship、TC=table-column。ER図の構成要素: 《ドメイン》…

RDB用語の書き方とグラフ用語・概念の追加

《リレーション》 関係にあらず 《タプル》 タプルにあらず 《ジョイン》 結合にあらず 《ドメイン》 域、領域にあらず 念のための退避(ほとんど使わないけど): 関係→関連 タプル→順序タプル 結合→合成 域→始域 グラフ用語の追加・概念の追加 装飾:形状…

スケッチと解釈

なにしろ、用語法が一番の問題だ。ER図を改変した概念モデル図を概念スケッチと呼ぶとして。 まずは単なる有向グラフ ノードに不変性マーカーを許す。不変性マーカーの付け方はまったく制限がない。 スパンに同時単射性マーカーを許す。概念スケッチとしての…

スケッチを理解するために必要なこと

ER図不要論は、純粋リレーション主義者のプロパガンダ、ネガティブ・キャンペーンだ。まずは基本事項: 集合と要素 単元集合と終集合 写像 恒等写像と包含写像 終写像 単射と全射 集合の直積、2項直積とn項直積、要素のペアとタプル 多変数関数と直積からの…

スケッチと制約

制約の種類とスケッチの描き方 制約 スケッチの描き方 単射性 アロー先端に大なりマーカー 全射性 アロー根本に大なりマーカー 同時単射性 スパンのアロー(複数)に棒 コンポジション 三角形を水色で塗る 直積 三角形をピンクで塗る ファイバー積 四角形を…

スケッチと塗られた有向グラフ

圏の生成系(表示、指標)とスケッチを一緒にした概念をグラフ理論的に定式化する。基本になるのは有向グラフで「ノードとアロー」という言葉を使う。ノードとアローから作られる2次元、3次元図形を考える。 n角形=n辺形、ただし、辺の向きも考慮する。 二…

圏の生成系

ともかく用語がたくさんある。 表示(denotationやrepresentationじゃなくて、presentation) 生成系と関係 : 古典的な用法、たぶん群表示が起源 生成系と等式系 : 関係が等式のとき 生成系 : 関係も生成系の一部と考える コンピュータッド : 次元(次数…

タプルとリレーション

RDB的タプルの呼び名: レコードみたいなものに関して - 檜山正幸のキマイラ飼育記 メモ編 いろいろな言語での Map, Dictionary 的なものの名前 - Qiita ハッシュマップ、ハッシュ、マップなどは実行時に名前を持っているもの。構造体やオブジェクト(の多く…

リレーションの理論はダメだ (2)

リレーションの理論はダメだ - 檜山正幸のキマイラ飼育記 メモ編の続き。 RVA(relation valued attribute)って、ホントにバカじゃないの?! group-byの結果を再びリレーションとして表現するために導入したらしいが、なんでそんなバカなことする? Rel(A, B…

基本テーブル、テーブル式、見出し推論

まず、タプル空間という言葉を定義する。A, B, Cなどが見出しだとする。見出しは名前集合の部分集合だが、名前集合にはドメイン割り当てが決まっていて、ドメイン集合も決まっている前提。x, yなどはタプル集合とする。タプル集合はタプル空間の任意の部分集…