キーは、リレーショナルを表すRDBMS のRにあります。一般的な考えに反して、テーブル間の関係を意味するのではなく、各テーブルが単語の数学的な意味での関係であるという事実を意味します。
リレーショナルモデルは非常に重要な意味を持ちます。関係に合わせてデータをモデル化し、そのモデルを正規化する必要があります。アプリケーションがオブジェクト指向モデルとして設計されている場合、リレーショナルモデルは適切ではありません。これは、オブジェクトリレーショナルインピーダンスの不整合として広く知られています。
この不一致に対する1つのアプローチはORM(オブジェクト関係マッパー)であり、これは多くの人気を得ています。しかし、それらは真の解決策ではなく、問題の回避策のようなものです。彼らはまだクラス継承をリレーショナルモデルにマッピングする問題を本当に解決していません。
オブジェクトとリレーショナルの不一致に対する真の解決策はOODBMSesであり、残念ながらそれほど多くの牽引力を得ることはできませんでした。OOBDをネイティブでサポートする人気のあるエンジンはPostgreSQLです。これはハイブリッドOO / RDBMSです。もう1つのOODBMSはZope Object DBです。これはPythonで構築され、一般的なセットアップではRDBMSを基礎となるエンジンとして使用します。
別のアプローチは、アプリケーションまたはミドルウェアレベルでより多くのロジックを実装し、基礎となるストレージにNoSQLソリューションを使用することです。
OODBMSもNoSQLも「単なるフラットファイル」ではありません。