数据库优化问题

时间:2012-03-21 11:38:14

标签: sql sql-server sql-server-2008 optimization

我有一个表Students,其中包含以下列:  Id,FirstName,LastName,Adress。 colum Adress将只包含街道地址。

问题是:数据库优化是否会更好地将列Adress隔离在另一个表中?

3 个答案:

答案 0 :(得分:1)

是。如果将其分隔到另一个表中,则每个人可以拥有多个地址。如果将它分隔到两个不同的表,一个Address表和一个StudentAddress表来将两者映射在一起,您可以确保在一个人之间共享一个地址,甚至可以跟踪一个人的地址历史记录。此外,在单独的表格中,您可以将地址分成列,以便您可以按城市或省或国家/地区轻松搜索。

您不能将地址放入带有Student表的单个列中。

答案 1 :(得分:1)

这取决于您将如何处理该地址。如果您需要将其视为不同的实体,即将单个地址链接到几个学生,反之亦然e.t.c.,那么您应该进行规范化。 如果地址只是实体学生的属性,则按原样保留。

答案 2 :(得分:0)

对于管理地址的完整正确的数据结构:数据模型资源BOok,第1卷。比你想象的要好得多。