首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >与的许多关系

与的许多关系
EN

Stack Overflow用户
提问于 2011-12-30 13:10:13
回答 2查看 4.4K关注 0票数 0

我有以下数据类型- House,Owner,分别具有主键houseID和ownerID。

房主可以有很多房子。一个房子可以有很多业主。因此,我创建了一个中间表HouseOwner,其中包含两个列,houseID和ownerID。

  1. 应该将houseID列和ownerID列作为HouseOwner表的联合主键吗?
  2. 如何在HouseOnwer表与House表和所有者表之间创建关系?我转到数据库关系图并添加所有三个表--现在应该从House表将houseID拖到HouseOwner表中的houseID中吗?或者应该在另一轮中完成,并将houseID从HouseOwner表拖到House表上的houseID中?我不知道该怎么做,因为弹出的对话框正在寻找主键表和外键表。
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-12-30 13:14:14

1)是的--具体来说,我会这么做,因为如果你使用一些ORM工具(特别是EF),那么当你的表是这样设计的时候,就会自动找出多到多的关系。

2)我建议用老式的方式来做,这样你就不用担心UI了:

代码语言:javascript
复制
alter table HouseOwner
add constraint FK_HouseOwner_House
foreign key (HouseId)
references House (HouseId)
go
alter table HouseOwner
add constraint FK_HouseOwner_Owner
foreign key (OwnerId)
references Owner (OwnerId)
go
票数 2
EN

Stack Overflow用户

发布于 2011-12-30 13:13:56

问题1:我会添加一个额外的代理主键(只是一个身份列),但是有很多关于这个的讨论。

问题2:外键在您的HouseOwner表中,它们与房屋的PK和所有者表的其他外键有关。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8679761

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档