銀河鉄道

「論理的に考える」は本当?SQL(NULL)とAIに見る正しさの再定義

サムネイル
正しさを再定義する論理
それ、
「どの論理」で
考えてる?

どの論理って?

まずは「論理」を整理してみよう

論理にひそむもの

The concept of a (relational) key is central to RDBMS, 
but it tactfully goes back to a fundamental law of logic 
known as the Law of Identity. 

データベース理論って、実はこっそり古代哲学とつながってる

Joe Celko’s SQL for Smarties: Advanced SQL Programming 

技術って
さりげなく古代哲学ってこと

  • tactfully goes back
    • 気を利かせて昔の話に戻っている
    • 「さりげなく(でも賢く)」昔の話とつながっている

古代なの?

「古典論理」を見てみよう

Classical Logic|アリストテレスの古典論理

論理の3大原則

Three Classical Laws of Thought
  1. 同一律
    • A is A.(AはAである)
  2. 無矛盾律
    • A is not not-A.(AはAであって、Aでないものではない)
  3. 排中律
    • A is either A or not-A.(AかAでないか、どちらかである)

同一律(Law of Identity)

  • 私は私である
    • 以上。(証明の必要なし)
  • SQLでの例
    • 主キーの役割
    • (これが私。存在の主張)

要は
ID(Identity)の法則

無矛盾律(Law of Non-Contradiction)

  • 矛盾は無し!
    • NG例)私は私、そして私はあなた。✗
  • SQLでの例
    • ユニーク制約
    • (唯一の私)

Contradiction(矛盾)は無しよ
の法則

排中律(Law of Excluded Middle)

  • YesかNoかの二択!白黒はっきり!
    • NG例)グレー。✗
  • SQLでの例
    • (実は、排中律を破っている)

Excluded Middle
中間は排除するわよの法則

SQLには第3の値があるため
この論理から、はみ出るのよ

SQLに存在する第3の存在|Three-Valued Logic

三値論理

Three-Valued Logic(3VL)
  1. True
  2. False
  3. UnKnown ← 3つ目!
c1c2c1 = c2
11TRUE
12FALSE
1NULLUNKNOWN
NULLNULLUNKNOWN

なぜ3つ?

Yes か No かだけではないのが
現代社会だから

NULL = 現実の曖昧さを見逃さない

空欄があった場合

  • 入力忘れ?
  • まだ不明ってこと?
  • それとも何?
  • 配達日の空欄
    • 配達済か未配達か、わからない
  • 数値が空欄
    • 在庫0 と在庫不明は異なる

SQLは、SQLの論理で動いている

つまり
論理は1つじゃないってこと

論理は1つじゃない|Classical Logicだけではない現代の論理

昔の論理だけでは
対応しきれないから

いろんな論理

論理特徴
古典論理
Classical Logic
真か偽。中間は無し!

代表例)数学、デジタル回路
多値論理
(3値以上)
真・偽・それ以外

代表例)SQLのNULL
ファジィ論理
Fuzzy Logic
グレーがある

代表例)AIのファジィ制御
直観主義論理
Intuitionistic logic
証明が必要
(第三の可能性は保留)

代表例)計算機の形式検証や型理論
非単調論理
non-monotonic logic
真か偽
(結論は撤回可能)

代表例)AIの推論、法律論理

たとえば、AIもこんな感じ

ちょっとだけ正しい(ファジィ論理)

  • Fuzzy = 曖昧
  • 「たぶん正しい」「60%ぐらい正しい」で答えを出す

あとで変わるかも(非単調論理)

  • 情報が増えると答えが変わる
  • 「申し訳ありません。正しくは〜でした」とすぐ撤回する

AIは、AIの論理で動いている

どの論理を選ぶ?|どの論理を使ってる?

曖昧さを受け入れる

  • 現代は「曖昧」「不明」「変わるかも」がいっぱい
    • 曖昧性・不確実性
  • 必ずしも「YESかNOか」だけではない

状況によって使い分けがある

  • デジタルの世界ではカチッとした二値論理
  • 人間らしさを考えるときはファジィ論理
  • 知らないことが多いときは非単調論理
選択基準昔の論理今の論理
「正しいor間違い」だけ?✗(三値論理)
グレーな考えはある?○(ファジィ論理)
あとから考えを変えてもいい?○(非単調論理)

答えは、ひとつじゃない

SQLにはSQLの論理
そこを理解しないと、苦しむ

論理的に考えるためには
  • 自分が考えるとき
    • どの論理を選択するかを考える
  • 相手を理解するとき
    • 相手の論理は、どの論理かを把握する

参考文献

  • Joe Celko’s SQL for Smarties: Advanced SQL Programming 
  • 達人に学ぶ SQL徹底指南書(ミック)
  • 達人に学ぶDB設計徹底指南書(ミック)

その他参照源

「論理的に考えろ」って言われたら
思い出そう

あなたの論理は

どの論理?

To be continued…


【Notes for “Three-Valued Logic” Article】
#Structure Intent
This article aims to introduce the concept of three-valued logic by connecting it with how SQL handles NULL. The flow begins with classical logic principles, moves into the practical limitations encountered in SQL, and finally invites a deeper reflection on what it means to think logically in today’s data-driven world.

#Writing Design
The structure uses short paragraphs, dialogic prompts, and rhetorical questions to maintain engagement. It balances abstract philosophy with practical examples, using casual interjections to soften dense ideas. The transition between philosophy and technical explanation is designed to feel intuitive rather than forced.

#SEO Awareness
Keywords such as “SQL”, “NULL”, “three-valued logic”, and “classical logic” are included in titles and subheadings naturally. The post avoids keyword stuffing, opting instead for a conversational tone that likely captures long-tail queries. Headings formulated as questions may also boost search visibility by matching user queries more directly.

This post captures a rare intersection between logic and code.
A small yet honest attempt to bring depth into the everyday.


著者

author
月うさぎ

編集後記:
この記事の内容がベストではないかもしれません。

記事一覧