text: コッドの考えは、CODASYLのように自由形式のレコードをある種の連結リストに格納するのではなく、データをいくつかの「テーブル」（table、表）として編成し、それぞれのテーブルを異なる種類のエンティティ（entity、実体）に使用することであった。各テーブルは、エンティティの属性を含む固定数の列を含むことになる。各テーブルの1つ以上の列は、テーブルの行を一意に識別するための主キーとして指定され、テーブル間の相互参照には、ディスクアドレスではなく、常にこの主キーが使用された。クエリにおいては、関係論理の数学的体系に基づく一連の操作を用いて、これらのキー関係に基づいてテーブルを結合する（モデルの名前の由来）。データを正規化された一連のテーブル（または関係（relation）、リレーション）に分割することで、各々の「ファクト（fact、事実）」を一度だけ保存するようにし、更新操作を簡略化する。ビュー（view）と呼ばれる仮想的なテーブルは、ユーザーごとに異なる方法でデータを表示することができるが、ビューを直接更新することはできなかった。コッドは、テーブル、行、列ではなく、関係（relation）、組（tuple）、定義域（domain）という数学用語を使ってモデルを定義した。現在よく知られているこれらの用語は、初期の実装に由来するものである。コッドは後に、実際の実装が、モデルの基礎となった数学的な基礎から逸脱する傾向にあることを批判した。テーブル間の関係を表すために、ディスクアドレスではなく主キー（ユーザー指向の識別子）を使用したのは、主に2つの動機があった。エンジニアリングの観点からは、費用がかかるデータベースの再編成をすることなく、テーブルの再配置やサイズ変更を可能とした。しかし、コッドは、セマンティクス（意味）の違いにより強い興味を持っていた。明示的な識別子を使用することで、純粋な数学的定義で更新操作を定義することが容易になり、一階述語論理という確立した学問分野の観点でクエリ操作を定義できるようになった。これらの操作は純粋な数学的性質があるため、クエリ最適化の基礎をなす証明可能な正しい方法でクエリを書き換えることが可能となる。テーブル間の接続は明示的ではなくなったが、階層型モデルやネットワーク型モデルと比較して表現力が損なわれることはない。階層型モデルやネットワーク型モデルでは、レコードが複雑な内部構造を持つことが許容された。