我正在制作一个包含游戏音乐会列表的网站。它将是英文和日文的。
音乐会在场地举行。我想用英语和日语存储有关场地名称和地址的数据。我还希望允许为它们存储替代名称,例如“Konserthuset”和“Stockholm Concert Hall”。前者是瑞典语的名字。语言是瑞典语这一事实对于存储在数据库中并不重要。但如果是日本人,我想把它储存起来。
所以一个场地可以有多个地址和名称。城市和国家只需要两个字段(和 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 等。
我知道还有很多其他方法可以构建数据库。这些都是好的数据库设计吗?你有什么更好的解决方案?