Database 地址表中的城市和邮政编码是否违反BCNF

Database 地址表中的城市和邮政编码是否违反BCNF,database,database-design,relational-database,database-normalization,bcnf,Database,Database Design,Relational Database,Database Normalization,Bcnf,让我们假设你有一个 --------------------------- attribute constraints | -------- ----------- | id (PK) | location_name ** | street | zipcode | city ** realistically Unique, but not going to use for fut

让我们假设你有一个

 ---------------------------
  attribute      constraints
| --------       -----------   
| id             (PK)
| location_name  **
| street         
| zipcode        
| city           

** realistically Unique, but not going to use for future proofing? 

这是否会违反BCNF,因为zipcode可用于查找城市?虽然城市可以共享zipcode,反之亦然,但一个城市不能位于两个单独的zipcode中,而另一个城市是zipcode的一部分? (zipcode1-->城市1)和(zipcode2-->城市1和城市2)

(请注意,zipcode和city不是复合超键,因为多个位置可以与同一zipcode和city关联)。BCNF是否建议您只为配对城市和Zipcode创建一个完全独立的表

省略状态,因为此数据库用于单个状态。尽管在这种情况下,您必须有3个表,因为zipcode不能处于多个状态(编辑:显然有,但假设没有)。对我来说,这似乎太愚蠢了,真的,而且需要太多的工会


老实说,我不太理解关于关键术语的任何内容,只是被弄糊涂了(如果你能用外行的术语和/或技术上的术语回答,我将不胜感激)。我试图寻找答案,因为我认为这很常见,但什么也找不到。考虑到我无法组织和处理数学逻辑,我开始怀疑我是否选择了错误的字段来输入..

一个五位数的zipcode实际上决定了什么?据我所知,它决定了一个邮局。这足以将每一封邮件从任何地方发送到目的地邮局。那家邮局然后在当地投递

搞清楚邮政编码和州、邮政编码和城市、邮政编码和街道加上号码或公寓号码之间的依赖关系是魔鬼自己的事

邮局服务的区域通常是邮局所在社区的一部分,如城镇。但也有一些怪癖。 马萨诸塞州马加洛韦市的居民由附近的新罕布什尔州埃罗尔的邮局提供服务。因此,他们使用zipcode 03579,与埃罗尔市中心的居民相同。信件被转发到埃罗尔邮局,然后在缅因州投递给他们。这可能看起来很奇怪,但就行驶里程而言效果很好


您的1个具体问题是什么?关于邮政编码,唯一的限制是街道地址&城市&州有1个邮政编码。但是,如果这是一个家庭作业,我们可以期待你被告知约束是什么,或者你应该选择或研究合理的约束,并给出理由——你到底被告知了什么?无论是否有家庭作业,当你的问题清楚时,展示相关的研究。关于你的名字,你不说那是什么,所以我们还不能帮你。回复FDs和BCNF,引用定义并询问第一个卡在哪里。像“习惯于寻找”这样的措辞是没有帮助的@不,邮政编码可以跨州。首先,你的第一个问题是什么?请通过编辑而不是评论来澄清。但这一评论尚不清楚。你为什么在前面加上“如果”?这与之后的“做”无关。此外,“目的”也不清楚,BCNF是一个条件,要么满足要么不满足。这并不是说一个行列式必须是CK。“相互依赖”并不清楚。你还没有对我的第一条评论采取行动。获取FD的定义,研究或定义邮政编码,并在第一次无法确定FD是否有效时询问。Ie遵循你的教科书并询问你的第一个问题,不要要求我们用定制教程重写。请参阅以学习使用@x通知非唯一非海报评论者x re评论。