Sql server 2008 优化/设计表结构和关系

Sql server 2008 优化/设计表结构和关系,sql-server-2008,database-design,Sql Server 2008,Database Design,我有三张桌子: Campus Building Floor 表结构如下所示: CampusId CampusDesc BuildingId BuildingDesc FloorId FloorDesc 我需要帮助优化表关系。如果用户选择校园,则相关建筑应为参考和楼层: 校园=>大楼=>楼层 我需要另一张桌子来处理这段关系吗?我是否需要将这三者结合起来?您需要将CampusId添加到表构建中,并将BuildingID添加到表楼层中,这样才能建立链接 此外,我还为这些添加的字段创建了索引,以

我有三张桌子:

Campus
Building
Floor
表结构如下所示:

CampusId
CampusDesc

BuildingId
BuildingDesc

FloorId
FloorDesc
我需要帮助优化表关系。如果用户选择校园,则相关建筑应为参考和楼层:

校园=>大楼=>楼层


我需要另一张桌子来处理这段关系吗?我是否需要将这三者结合起来?

您需要将CampusId添加到表构建中,并将BuildingID添加到表楼层中,这样才能建立链接

此外,我还为这些添加的字段创建了索引,以加快未来的搜索速度。
我假设您在CampusID、BuildingID和FloorID上已经有了唯一的索引。

我也想过这样做,但如果这样做,您不认为Building表依赖于Campus表等吗?但不是这样吗?每栋建筑都只属于一个校园?@AbuHamzah:为什么不好?@Adam:我没有说不好,但我想让所有三张桌子(校园、bld、楼层)相互独立,并创建一个新的有关系的桌子。。。只是提出一些想法。。。。这就是促使我提出问题的原因,我想看看其他人的想法。@AbuHamzah:但你为什么希望他们独立?它们所代表的事物的性质创造了一种自然的依赖性。任何消除它的努力都是人为的,并且会给您留下一个不太理想的数据模型。