データベースをつつく4-関係モデル誕生の背景。どうして発明されたの?
関係モデルが誕生するまでは、階層モデルとネットワークモデルが使用されていたピヨね。この二つのモデルは当時は画期的な技術で、想定内のデータアクセスは非常に早いという大きな利点があったんだけど、幾つかの弱点があって生産性はあまり向上しなかったピヨォ。その理由は以下の通りだピヨッ。
【生産性が上がらない理由】
- ナビゲーションが複雑・・・定型の検索処理は非常に早いものの、データの操作に関係のない概念が多くてプログラマが非常に困ったピヨ。もっと具体的に言うと、1対多対応、存在従属性、利用者に見える構造とデータパスを対応付ける方法、の三つをネットワークと階層構造で表現するのは無理があったピヨね。
- 単一レコードしか扱えない・・・関係モデルのように一度に複数のデータを扱うことが出来ないのが非常に問題になったピヨ。
- 柔軟性が無い・・・ネットワークと階層構造は柔軟性がなく、予め決められた検索パスを使ってデータ処理を行うので、プログラマが予測出来ない検索が出来なかったピヨ。
この三つの問題点がプログラマを非常に苦しめ、開発生産性が上がらなかったので、より柔軟な構造をもつ関係モデルが発明されと言うわけさ♪だから関係モデルはデータの構造が柔軟なんだ。だけどその一方で、関係モデルは結合処理がパフォーマンスを落とすという弱点もあるピヨ。他にもメタデータの変更がやり辛いという弱点があって、アジャイル開発にはそぐわないので、昨今は色々なサポートツールが作られたり、XMLデータベースの概念やオブジェクト指向データベースの概念も誕生したピヨね。そろそろ新しいハイブリッドかつ新しいデータベースの概念が生まれる時期だとボクは思うだピヨッ♪だって、既にオブジェクトリレーショナルやXMLと関係モデルのハイブリッドもあるからね。そろそろ全てが混ざって新しい概念が生まれてもいい頃ピヨ。