動物というクラスがある場合、犬と魚がサブクラスです。動物には「色」と呼ばれる属性があります。犬には「尾の長さ」という属性があり、魚にはこの属性がありません。魚には「体重」と呼ばれる属性がありますが、犬にはこの属性がありません。
そこで、この情報を保存するデータベースを設計したいと思います。私は何をすべきか?ここにいくつかのアイデアがあります:
アイデア1:動物のテーブルを作成し、テーブルにはタイプがあります。犬の場合、犬のテーブルから結果を取得するだけで、どのような動物を見つけることができます。
動物:色:文字列タイプ:int
タイプ:犬:0魚:1
犬:TailLength:int
魚:体重:int
アイデア2:犬のテーブルと魚のテーブルのみをデータベースに保存し、動物のテーブルを削除します。
犬:色:文字列TailLength:int
魚:色:文字列重量:int