SQL中的多对多关系?

SQL中的多对多关系?,sql,sql-server,many-to-many,relationship,Sql,Sql Server,Many To Many,Relationship,我对SQL非常陌生,我正在尝试建立一些关系,并遇到以下问题 我有三张桌子 -人 -电话号码 -电话号码分类 个人和电话号码是不言自明的,我认为和电话号码类别我用来表示电话号码是否用于办公室、家庭、手机、传真等 现在我做了第四个表来建立这个多对多关系。此表有4列: 身份证件 类型属性 电话号码 PhoneNumberCategoryID 我在这里建立了三个关系。一个用于除ID列之外的所有列。这似乎有效,但它只是给我一种奇怪的感觉。有人能告诉我我是在莱特赛道上,还是在这件事上完全错了 我想这样做的原

我对SQL非常陌生,我正在尝试建立一些关系,并遇到以下问题

我有三张桌子 -人 -电话号码 -电话号码分类

个人和电话号码是不言自明的,我认为和电话号码类别我用来表示电话号码是否用于办公室、家庭、手机、传真等

现在我做了第四个表来建立这个多对多关系。此表有4列:

身份证件 类型属性 电话号码 PhoneNumberCategoryID 我在这里建立了三个关系。一个用于除ID列之外的所有列。这似乎有效,但它只是给我一种奇怪的感觉。有人能告诉我我是在莱特赛道上,还是在这件事上完全错了

我想这样做的原因如下。当然,我需要把一个人和一个电话号码联系起来。然而,我可能有一个电话号码,那就是综合办公室,这将是行“OfficeGeneral”号码,因此与我链接,因为我在那里工作。我也有一个直接办公室,这将是行“OfficeDirect”号码。这当然也与我有关。然而,总人数与办公室中的所有人联系在一起,称为“OfficeGeneral”。除接待员外,此处链接为“OfficeDirect”。这就是我提出多对多关系的原因。我在网上找不到太多关于它的信息。这足以让人怀疑这是否是正确的方法。无论如何,这只是一个例子。我想确保我是灵活的,能够捕捉尽可能多的异常。我确信,一旦数据库投入使用,人们会遇到我没有预料到的情况。人们都很擅长我多年来学到的东西

对以下评论的澄清:

一个人可以有多个电话号码。 电话号码可以有多人。 拥有电话号码的人可以拥有多个电话号码类别,即用于电话和传真的私人电话。 几个人可以通过不同的PhoneNumber类别链接到同一个PhoneNumber。i、 我的办公室主任是接待员的办公室主任。
期待您的来信。

您的型号看起来不错。你的描述也许不是

Person和PhoneNumber具有多对多关系。反过来,这种关系是PhoneNumberCategory的1-many关系,除非给定的电话号码可以位于多个类别中


我希望Person/PhoneNumber在此表中声明为唯一的,因此一个人只能使用一个特定的电话号码一次。但是,这可能不是您看待结构的方式。

感谢您的快速响应。我同意我不清楚。相应地更新帖子。