我有三个对象:城市,频道,流派。关系:城市有很多频道和类型,频道和类型可能在几个城市。频道有很多类型,但是类型可能有很多频道。
我设计了下一个数据库:
tblChannel:
id,
name
tblGenre:
id,
name
tblCity:
id,
name
// City and Channel MANY_MANY
tblCityChannel:
id,
cityId,
channelId
// City and Genre MANY_MANY
tblCityGenre:
id,
cityId,
genreId
// Channel and Genre MANY_MANY
tblChannelGenre:
id,
channelId,
genreId
我不确定这是否正确,谁可以指明我的错误?
RESOLVE:
我接下来重新设计了我的数据库:
tblChannel:
id,
name
tblGenre:
id,
name
tblCity:
id,
name
tblCityChannelGenre:
id,
cityId, // NOT NULL
channelId,
genreId
该布局解决了下一个问题:
答案 0 :(得分:0)
如果它是所有3个实体之间的真实m:m关系,那么你的模型是正确的。但在现实世界中,这是不可能的。很可能你有一个层次结构(如树),你只有2 m:m的关系,第三个是隐含的,或者你有3个表之间的关系所以你需要一个带有3个col键的表(不是3个表有2个col的表)键)。尝试更好地了解您的数据,并且您将看到正确的模型是什么。再次,它可能会很好......