SQL とはマシンに何か大切なデータ管理を任せたい時に利用する言語。比較的簡単な文章を使ってマシンとデータ管理についてやりとりできる。
データベースの本質
データベースの本質は「実世界」のパラレルワールドをマシンの中に創造すること。データベースとは、人間の認識を反映する鏡。
実世界(やその状態)を「パラレルワールド」としてマシンの中に複製すると、遠隔マシンにバックアップしたり、Webアプリに整形して発展させたり、AIと抱き合わせて情報分析したりと、色々なことができるようになる。
RDB の場合、主にリレーション(2次元表)という表現手法に沿って実世界(やその状態)をパラレルワールド化していくことになる。ちなみに、他の表現手法には NoSQL や DIT などがある。
データベース設計
データベース設計においては特に、以下2点を強く意識すべき。
- マシンパワーの活用を大前提としたデータベース設計
- 目的から逆算した実世界の状態のパラレルワールド化
マシンパワーが大前提
データを管理するだけであれば別に紙やノートを使っても良いはず。わざわざマシンにデータ管理を任せるのだから「マシンにしかできない何か」を強く期待しているはず。
つまり、マシンパワーの活用と目的の実現とのバランスをしっかり前提とした上でテーブル設計やチューニングすることが大切。