0

2 つのテーブルが必要です。

[Table1]         [Table2]
id1              id2
createdon        createdon
createdby        createdby
column1a         column2
column1b                 

両方のテーブルに「createdon」列と「createdby」列があることがわかります。同様のことが私の他のテーブルにもあります。列の継承を使用してデータベーステーブル構造をモデル化および実装する方法はありますか (OOP のクラスプロパティで行うように)。概念的には、1 つのスーパー テーブルを作成したいと思います。

[Supertable]
createdon
createdby

そして、Table10 と Table20 が Supertable を拡張するようにします。そうすれば、スーパーテーブルから継承されるため、特定のテーブルごとに「createdon」および「createdby」列を作成する必要がなくなります。

[Table10]  extends  [Supertable]   results in wanted   [Table1]
id1                 createdon                          id1
column1a            createdby                          createdon
column1b                                               createdby
                                                       column1a
                                                       column1b

[Table20]  extends  [Supertable]   results in wanted   [Table2]
id2                 createdon                          id2
column2             createdby                          createdon
                                                       createdby
                                                       column2

したがって、Table10、Table20、および Supertabe は RDBMS 内の単なる構造であり、Table1 および Table2 は、データベース ユーザーがデータベースにアクセスするときに最終的なテーブルとして表示されるものです。MySQL (または他の RDBMS) でこのようなことは可能ですか?

4

2 に答える 2

0

関連付けキーを使用してテーブルをリンクすることもできます。

[supertable]
id
createdon
createdby

[Table1]  
id1  
supertable_id      
column1a    
column1b    

これはまさにあなたが探しているものではありませんが、役に立つ可能性があります。

于 2013-01-18T08:43:54.897 に答える
0

純粋なモデリングの観点から...なぜそれが可能ではないのでしょうか?

テーブル構造は次のようになります (構文を調整しました)。

[Table1]       [Table2]
id1            id2
column1a       column2
column1b

...と...

[Table0]
table   <- either Table1 or Table2
id      <- either the value id1 or id2
createdon
createdby

しかし、大きな問題は...あなたのアプリケーションでそれによって利益が得られるでしょうか? あなたがやろうとしていることをもっと深く見ない限り、私はその質問に答えることができません.

于 2013-01-17T18:44:13.587 に答える