私は標準の SQL データベースを使用しており、テーブルをフラット化するか、より「オブジェクト指向」にするかを検討しています。私にとっては、小さいテーブルの方が読みやすいですが、テーブルを結合して 1 対 1 の関係を持たせる必要があります。これは一般的に物事を行う良い方法ですか、それとも SQL の世界では眉をひそめていますか?
次の属性を持つテーブルがあります。
MYTABLE
- ID
- NAME
- LABEL
- CREATED_TS
- MODIFIED_TS
- CREATED_USER
- MODIFIED_USER
私にとって、作成/変更されたフィールドは独自のオブジェクトになります。実際には他にもいくつかのフィールドがあるので、これだけ小さいわけではありません。「MYTABLE_MODINFO」と呼ばれる別のテーブルを作成するか、CREATEDフィールドとMODIFIEDフィールドを持ち、それらのデータが必要なときに結合されるようなものを作成すると思います。これらのテーブルはアクセスの多いテーブルではありません。1 分間に大量のクエリが実行されたり、数百行も含まれたりすることはないため、効率はそれほど問題にはならないと思います。
だから主に私が疑問に思っているのは、これが一般的に受け入れられているデザインなのか、それとも一般的にテーブル構造をフラットに保つべきなのかということです.