SQL とはマシンに何か大切なデータ管理を任せたい時に利用する言語。比較的簡単な文章を使ってマシンとデータ管理についてやりとりできる。

データベースの本質

データベースの本質は「実世界」のパラレルワールドをマシンの中に創造すること。データベースとは、人間の認識を反映する鏡。

実世界(やその状態)を「パラレルワールド」としてマシンの中に複製すると、遠隔マシンにバックアップしたり、Webアプリに整形して発展させたり、AIと抱き合わせて情報分析したりと、色々なことができるようになる。

RDB の場合、主にリレーション(2次元表)という表現手法に沿って実世界(やその状態)をパラレルワールド化していくことになる。ちなみに、他の表現手法には NoSQL や DIT などがある。

データベース設計

データベース設計においては特に、以下2点を強く意識すべき。

  1. マシンパワーの活用を大前提としたデータベース設計
  2. 目的から逆算した実世界の状態のパラレルワールド化

マシンパワーが大前提

データを管理するだけであれば別に紙やノートを使っても良いはず。わざわざマシンにデータ管理を任せるのだから「マシンにしかできない何か」を強く期待しているはず。

つまり、マシンパワーの活用と目的の実現とのバランスをしっかり前提とした上でテーブル設計やチューニングすることが大切。