有这样一个关系,user与post,多对多的关系,设计数据库的时候,我用一张中间表来表示,那么我在user表里面还应不应该在建立post的外键关系,或者建立与那张中间表的外键关系。看到项目的PDM上,中间表只是关联了post,但是却没有关联user,而user却是去关联中间表,在user里面有个中间表的外键,怎么看怎么不爽,这样的设计是不是有问题
如:
[code="java"]
create table user(
id,(主键)
username,
user_2_post_id (foreign key)-----关联中间表
)
[/code]
[code="java"]
create table post(
id,(主键)
name
)
[/code]
[code="java"]
create table user_2_post(
id,(主键)
user_id,(不是外键)
post_id(外键--关联post)
)
[/code]
请问这是个神马情况,还没见过这样设计的
[url]http://dreamzhong.iteye.com/blog/1202133[/url]
看看这篇博文,希望能对你有所帮助。我在处理这类关系时,一般不会在数据库层面去给表与表之间加上外键关联,而是在代码层面去做的关联,因为数据库层面的外键关联也就是约束而已,只要表中存在的数据是合理的就行了,就是说能表征关联关系就行。
再看看你的持久化实体的定义吧
[quote]按照这种关系下去,我就是不知道怎么去建实体类了[/quote]
可否修改?