2014-01-14 39 views
2

我有这种方案在CaseStudio中,我有多个实例保持地址的东西。我有一个客户的地址,一个事件的地址,一个用户的地址。为了使它成为第三种常规形式,我有一张名为城市的表格,其中只有“城市”作为PK和邮政编码。但我不知道是否必须将它连接到所有其他包含城市名称的表格,或者它是否与任何关系无关。SQL中的所有表都必须连接吗?

+4

表不*必须*具有与其他表的外键关系。但是,如果数据结构要求它,那么肯定有它们应该*的情况。 – David

+7

没有规则/条件表必须与任何其他表相关;如果你打算在连接中使用它,我会建议做适当的外键关系和索引,但这不是必需的。 – newfurniturey

+0

我不相信你能理解[数据标准化](http://www.tutorialspoint.com/sql/sql-rdbms-concepts.htm)。您可能需要重新访问它。这似乎也没有问题:http://www.studytonight.com/dbms/database-normalization.php –

回答

0

这张表不可能与其他任何东西无关。你会希望地址以某种方式与城市相关。想一想你如何查询地址,你将不会返回人名(来自你的用户或pepel表),你的地址表中的strett地址,你城市表中的城市。但是你必须知道这些信息是如何相互关联的。个人而言,我发现拥有一个单独的城市和邮政编码表对于地址来说确实是矫枉过正,但如果这是一项学术活动,他们可能会希望您将其分解出来以达到正确的正常形式。通常在这种情况下,城市表中会有一个cityid作为列,然后地址表中将包含cityid字段,并且将会为city表建立一个foriegn密钥以维护数据的完整性。

相关问题