首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

请问一个表设计的有关问题

2012-08-07 
请教一个表设计的问题sql server 2005:一个很简单的表设计问题,请教各位。本人数据库设计方面很菜。有一个楼

请教一个表设计的问题
sql server 2005:
一个很简单的表设计问题,请教各位。本人数据库设计方面很菜。

有一个楼盘项目表,存储楼盘的各种信息,其中有个一个学区属性,该字段可能值是:幼儿园、小学、中学中的某1个,或是其中的某2个或是全部。

现在的问题就是如何设计这个楼盘项目表,使得搜索学区时,效率较高的查询出结果来,注意:学区搜索条件有可能是多种学区,如搜索同时有幼儿园和小学的楼盘项目。

[解决办法]
如果学区属性不太会变的话,建议建一张学区属性表。
Table 编号 学区属性
0 无
1 幼儿园
2 小学
3 中学
4 幼儿园、小学
5 幼儿园、中学
6 小学、中学
7 幼儿园、小学、中学

然后在楼盘项目表里放编号。
[解决办法]

楼盘ID 学区ID
1 1
12
21
23
24
31


楼盘ID 楼盘
11号楼
22号楼
33号楼


学区ID 学区
1幼儿园
2小学
3中学
4少年宫


做好索引,链接即可。
[解决办法]

探讨
sql server 2005:
一个很简单的表设计问题,请教各位。本人数据库设计方面很菜。

有一个楼盘项目表,存储楼盘的各种信息,其中有个一个学区属性,该字段可能值是:幼儿园、小学、中学中的某1个,或是其中的某2个或是全部。

现在的问题就是如何设计这个楼盘项目表,使得搜索学区时,效率较高的查询出结果来,注意:学区搜索条件有可能是多种学区,如搜索同时有幼儿园和小学的楼盘项目。

[解决办法]
探讨
sql server 2005:
一个很简单的表设计问题,请教各位。本人数据库设计方面很菜。

有一个楼盘项目表,存储楼盘的各种信息,其中有个一个学区属性,该字段可能值是:幼儿园、小学、中学中的某1个,或是其中的某2个或是全部。

现在的问题就是如何设计这个楼盘项目表,使得搜索学区时,效率较高的查询出结果来,注意:学区搜索条件有可能是多种学区,如搜索同时有幼儿园和小学的楼盘项目。

[解决办法]
探讨
sql server 2005:
一个很简单的表设计问题,请教各位。本人数据库设计方面很菜。

有一个楼盘项目表,存储楼盘的各种信息,其中有个一个学区属性,该字段可能值是:幼儿园、小学、中学中的某1个,或是其中的某2个或是全部。

现在的问题就是如何设计这个楼盘项目表,使得搜索学区时,效率较高的查询出结果来,注意:学区搜索条件有可能是多种学区,如搜索同时有幼儿园和小学的楼盘项目。

[解决办法]
传统的方法要设置三张表, 一张用于保存学区, 一张用于保存楼盘, 第三张用于保存学区和楼盘的多对多关系
[解决办法]
你可以把选择的学区的ID都放到临时表#t, 然后类似这样写, 能找到同时有幼儿园和小学的楼盘
SQL code
select @c = count(*) from #tselect * from 楼盘 t    join(         select t1.楼盘ID        from 楼盘 t1            join 楼盘学区关系 tx on tx.楼盘ID = t1.楼盘ID            join #t on #t.学区 = tx.学区        group by t1.楼盘ID        having count(*) = @c    ) a on a.楼盘ID = t.楼盘ID 

热点排行