40

My question is regarding Inheritance modeling in Relational Database Systems. I have canonical data model and in that I have some fields related to pricing of product inheriting certain attributes from product table and I want to model this inheritance in MySQL relational database and so,

"How can we do Inheritance Modeling in Relational Databases ?"

Thanks.

4

5 に答える 5

41

Martin Fowlerは、彼の著書 『Patterns of Enterprise Application Architecture』でこれについて詳しく説明しています。この本を入手して調べてください。

  1. 単一テーブル継承

ブロッククォート

  1. クラステーブル継承

ここに画像の説明を入力してください

  1. 具体的なテーブル継承

ブロッククォート

ウェブサイトはあなたにいくつかのアイデアを与えるはずです。継承マッパーのセクションも読むことをお勧めします。それぞれのアプローチには長所と短所があるため、賢明に選択してください。

于 2009-10-14T18:03:28.887 に答える
9

いくつかのアイデアについては、これらの記事を参照してください。

オブジェクトのリレーショナルデータベースへのマッピング

O/Rマッピングの継承

于 2009-10-14T17:55:54.713 に答える
6

本を読む代わりにいくつかのウェブ記事を見たいだけなら、グーグルでいくつかの良い記事を見つけることができます:

Generalization Specialization Relational Modeling

gen-specパターンは、継承がOOP環境で行うのと同じ根拠の多くをカバーしています。

あなたがグーグルするなら

Generalization Specialization Object Modeling

まったく新しい一連の記事が表示されますが、そのほとんどは継承について明示的に言及しています。

infoタグの下の次のタグに要約されている設計手法があります。これにより、「拡張」という単語の奇妙な使用を許可する場合に、サブクラステーブルを使用してクラステーブルを「拡張」することができます。いくつかの作業が必要ですが、それだけの価値があります。

于 2009-10-14T19:46:33.703 に答える
5

リレーショナルデータベースはオブジェクト(したがって、継承)を処理しません-それらは関係を処理します。あなたが本当に求めているのは、オブジェクト構造をデータベースにマッピングする方法です。その答えは、「ORMレイヤーによって異なります」です。

詳細については、オブジェクトのリレーショナルデータベースへのマッピング:O/Rマッピングの詳細の記事を参照してください。使用しているソフトウェアスタックを教えていただければ、より的確な回答が得られる可能性があります。

于 2009-10-14T17:57:41.870 に答える
1

「データベース管理の実際的な問題」の第6章は、おそらく興味深い読み物です。

他のすべての章と同じように、おそらく、それらはあなたの質問に直接関係していません。

于 2009-10-14T22:37:05.797 に答える