ゲーム音楽コンサートの一覧サイトを作っています。英語と日本語の両方になります。
コンサートは会場で行われます。会場の名前と住所のデータを英語と日本語で保存したい。また、「Konserthuset」や「Stockholm Concert Hall」などの代替名を保存できるようにしたいと考えています。前者はスウェーデン語での名前です。言語がスウェーデン語であるという事実は、データベースに保存するのに重要ではありません。でも日本人なら保存してほしい。
したがって、1 つの会場に複数の住所と名前を含めることができます。都市と国には、英語名と日本語名の 2 つのフィールド (および id) しか必要ありません。
オプション1:
table Venue
id (pk)
cityId
description
table VenueName
venueID (fk)
name
IsJapanese (boolean)
table VenueAddress
venueID (fk)
address
IsJapanese (boolean)
table City
id (pk)
name
japaneseName
countryId (fk)
table Country
id (pk)
name
JapaneseName
オプション 2:
Venue
id (pk)
Information
venueID (fk)
infoTypeID (fk)
text
InfoType
id (pk)
name
これがメタ テーブルの意味です (正しい用語ですか?)。非常に柔軟ですが、クエリはどのようになるのでしょうか。InfoType の例としては、EngName、JpnName、EngAddress、JpnAddress、EngCity、JpnCity などがあります。
データベースを構築する方法は他にもたくさんあります。これらのいずれかが優れたデータベース設計になっていますか? より良い解決策はありますか?