テーブル構造について質問です。
質問を導入するための小さなシナリオを次に示します。クラス (let A) のオブジェクトをテーブルに格納するとします。
これを行うには、次の 2 つのテーブル構造が考えられます。
Structure A: "one field per row":
id (int),
name (text),
credit (int),
birthday (date).
Structure B: "all data in one row":
id (int),
data (bigtext).
次の点を考慮してください。
- name/credit/birthday フィールドをフィルタリング/ソートするリクエストを実行することは決してありません
- フィールドを編集する前に、オブジェクトをロードしたい
- フィールド name/credit/birthday にはオプション/修飾子 (キー/一意/...) がありません
これらの2つのテーブル構造の違いは何ですか?
.
具体的には、ある時点でデータベースにオブジェクトを格納する必要がある PHP/SQLITE アプリを作成しています。毎回 db スキームを編集しなくても、db-stored-class を簡単に追加できるようにしたいと考えています。「構造B」を使用すると、そうすることができます。それは汚れているように見えるかもしれませんし、おそらく行を適切に入力する必要があることを教えられているでしょう..しかし、なぜですか?
「構造A」の主な利点は、選択フィルターと更新の有効性だけではありませんか?