ファイルシステムのパスのように区切り文字で区切って保持する。set)個々のノードが「左側の座標」「右側の座標」を持ち、親ノードはすべての子ノードを包含する座標を持つ。比べ、数の制限がなく、型の制約は行える。Tableノード自身を含む、すべてのノードの関係を別のテーブルに保持する。4);パスを削除してもノード自体は削除されない。個々のノードが独立しており、関係だけを別のテーブルで管理していると考えられる。外部キー制約があるので、参照整合性も担保できる。(逆に言えば単純なツリーに限定できず、複雑なネットワークになってしまう可能性がある)。極端にレコードが増える可能性がある。主キーを設定するすべてのテーブルに主キーを設定する。つのサイズをすべてに合わせる)本やフレームワークでは、よく下記のような主キーがすべてのテーブルで使用される。値を生成が、問題がある場合がある。列、複数列の外部キーに外部キー制約をつける。)オーバーヘッドはない、というか整合性チェックのためのクエリが削減できるため、結果的にパフォーマンスは向上するEntity-Attribute-Value目的レコードによって異なる属性を持たせる。持ち、またそれぞれ固有の属性を持つ。つの列をもつテーブルを作成する。必要になるケースは少ない。リスクを理解して使用する場合でも、極力抑制して使用する。テーブルは扱いにくくなる。データベースを使うべき。この場合でも上に挙げたうちいくつかの弱点をもつ。必要とするすべての列と、レコードタイプを保持する列をもつテーブルを作成する。ごとにテーブルを作る。個々のテーブルに含まれる属性はのいくつかは共通しているが無関係。して扱うことが少ない場合に有効。して扱うことが多いときに有効。シリアライズしたデータを保持する。限定できず、柔軟にデータを保持する必要がある場合に有効。(どんな属性の行があるか予想できないため)。複数の親テーブルを参照する。参照整合性をアプリケーションコードに依存しているので、回避しなければならない。つのコメントが複数の親レコードに結びつく。制約をつけると制限できるが、両方の親テーブルには結びつきうる。つくる親テーブルのスーパークラスのようなテーブルを作成し、子レコードはこれに関連づける。複数の値をもつ属性を保存する。つの属性について複数の列を用意する。似たような値を保持する属性でも、その意味が別のものならば、列を分ける必要がある。あるとして、一方がバグの報告者、もう一方がバグ修正の担当者なら、これらはそれぞれの列に保存すべき。アンチパターンに陥る。スケーラビリティ大量のレコードがあっても、パフォーマンスを確保したい。アンチパターンテーブルを年度などごとに分割する。テーブル名に年が含まれる。(...);レコード追加時には日付に基づいて、適切なテーブルを指定しなければならない。これに失敗すると、検索や集計に支障をきたす。よる制約で、不適切なレコードの追加を防ぐこともできる。毎年、新しいテーブルを追加するたびに、忘れずに制約を追加しなければならない。別のテーブルに移さなければならない。制約をかけることはできない。