0

2つのデータベースデザインパターンの標準名を知りたいのですが、純粋主義者の場合は「問題」になる可能性があります。

それらの状況/非正規化をどのように呼びますか?私は自分自身のために「ミラーリングされた属性」と「フリックされた外部キー」を使用していますが、誰も私を理解しないと確信しています:)。とにかく状況は単純です:

1)「親子」関係にある2つのエンティティがあり、子エンティティには外部キー属性だけでなく、親エンティティの他の「バックアップ」属性もあります。これは、アドレスエンティティにstreetIdだけでなく、streetNameも含まれている場合に、ストリートリストにストリートがない場合(またはレガシーデータの場合によくあること)をサポートする場合があります。

2)子エンティティには、2つのフィールドで構成される「外部キー」が含まれます。1つは「親テーブル」を識別し、もう1つは「親テーブルのキー値」です。つまり、最初に解釈し、それをフィルタリングすることで、どのテーブルを結合する必要があるかがわかります。もちろん、この関係の一貫性はdbmsレベルでは維持されませんが、これは私が実際に時々目にする一種の「親子関係」です。

4

1 に答える 1

1

1)正規化されたデータベースでは、列はキー、キー全体、およびキー以外の何物にも依存しない必要があります。(Coddを助けてください。)効率を上げるために特定の列を非正規化することはできますが、データベース内のデータが重複しています。この複製されたデータは同期しなくなる可能性があります。

2)あなたの言っていることが正しく理解できれば、「外部キー」の最初の列はどのテーブルを識別し、2番目の列はそのテーブルの行を定義する実際のキーです。私もこれを見ました。ドメインタイプテーブル(保険グループレート1、保険グループレート2など)ではおそらく問題ありませんが、データテーブルで使用すると一種の多重継承を示します。特定のインスタンスを見なくても、一般に、多重継承は、ベーステーブルと、ベーステーブルを拡張する1つ以上の追加テーブルを使用して再定義できると思います。

于 2011-04-14T17:55:21.200 に答える