我有三个对象:城市,频道,流派。关系:城市有许多渠道和类型,渠道和类型可能在几个城市。渠道有很多类型,但类型可能有很多渠道。
我设计了下一个数据库:
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我不确定这是否正确,谁能具体说明我的错误呢?
解析:
接下来我重新设计了我的数据库:
tblChannel:
id,
name
tblGenre:
id,
name
tblCity:
id,
name
tblCityChannelGenre:
id,
cityId, // NOT NULL
channelId,
genreId这个布局解决了接下来的问题:
发布于 2014-05-07 03:43:03
您的模型是正确的,如果它是一个真实的m:m关系的所有三个实体。然而,在现实世界中,这是不可能的。最有可能的情况是,您有一个层次结构(如树),其中您只有2m:m关系,而第三个关系是隐含的,或者您在3个表之间有一个关系,所以您需要一个具有3个col键的表(而不是3个带有2个col的表)。试着更好地理解你的数据,你会看到正确的模型是什么。再说一次,可能会很好.
https://stackoverflow.com/questions/23508201
复制相似问题