0

ローカル レストラン ディレクトリの Web 管理パネルを開発しています。彼らの古いシステムは非常に扱いにくく、大量のコードを変更しないと拡張できません。

現在の DB 構造は次のようになります。

table: Restaurants
cols: id, restname, preferred, image, phone, address, website, vip_special

このテーブルは、列に関する限り静的です。

table: Locations
cols: id, restname, downtown, bluffton, tybee, pooler, etc...

table: Cuisines
cols: id, restname, american, chinese, seafood, bar_tavern, etc...

table: Ambiances
cols: id, restname, outdoor_dining, fine_dining, waterfront, rooftop, romantic, etc...

後者の 3 つのテーブルでは、開発者が新しい場所、料理、または雰囲気ごとに新しい列を追加し、それらの新しい列を反映するようにコードを変更する必要があります。

私は DBA に関しては最高ではないので、この状況に最適な構造がどのようなものになるのか興味がありました。

関連付け: レストランには複数の場所、料理、雰囲気がある場合があります

助けてくれてありがとう。

4

1 に答える 1

0

ここから始めます

restaurant
restaurant_id | restaurant_nm | everything that a restaurant has exactly one of

tag_restaurant_rel
restaurant_id | tag_id

tag
tag_id | tag_type(_id) | tag_nm

tag_type
tag_type_id | tag_nm

変更されないタイプがいくつかある場合、タグタイプは列挙型である可能性があり、タイプテーブルを削除できます。
1 つのレストランに複数の場所を割り当てたいかどうかはわかりません。チェーンであっても、雰囲気が異なり、メニューが異なる料理を提供する可能性があるためです。

于 2011-04-10T03:04:59.400 に答える