DBに2つのテーブルがあります
- FuelStation(fuel_station_id:int(PK)、fuel_station_name:varchar、fuel_brand_id:int(FK))
- FuelBrand(fuel_brand_id:int(PK)、fuel_brand_name:varchar)
ご覧のとおり、両方のテーブルはを介してリンクされています。外部キー(fuel_brand_id)
ここで、上記のデータモデルに対応するオブジェクトモデルを設計したいのですが、次の2つのアプローチからどちらのアプローチを使用するか混乱しています。
- クラスを1つだけ作成し、クラスのように
FuelStation
燃料ブランドを保管するかどうか。String
FuelStation
また
- 2つのクラスを作成します:
FuelStation
とFuelBrand
。そして、 1つの燃料ステーションには1つの燃料ブランドしかありませんが、1つの燃料ブランドには多くの燃料ステーションを含めることができるため、それらを多対1の関係に関連付けます。
Q1。どちらのアプローチが良いですか?
Q2。各アプローチの長所と短所は何ですか?
私の知識まで:
アプローチ2の長所
これにより、オブジェクトモデルがよりきめ細かくなりました。
Acc。優れた設計原則に従えば、オブジェクトモデルは少なくともリレーショナルモデルと同じくらいきめ細かくなければなりません。そしてapproach2はその原則に従います
アプローチ1の長所
- FuelStationごとにFuelBrand用に個別のオブジェクトを作成する必要はありません