2010-05-26 97 views
1

我正在编码分类广告的网络应用程序。数据库拆分;多表

为此构建数据库的最佳方式是什么? 由于高重复性,它会更快(在搜索/索引方面)在每个城市的数据库中有单独的表格吗?

或者对于每个城市只有一张桌子(它会有很多行),这样可以吗?

分类表具有id,user_id,city_name,category,[description and detail fields]。

回答

0

您应该将表格中的元素分解为4个表格。

城市表的第一个表格将包含city_id和city_name。此表格需要city_name,city_id上的唯一索引以及city_id上的主索引。

第二张表,一个类别表,应该有category_id和category。此表需要类别category_id上的唯一索引以及category_id上的主索引。

第三张表,一个用户表,将有user_id,用户标识。

第四个表格是ad_id,title,description和date_inserted。 City_id,category_id和user_id将是您广告表的外键,

0

而不是为每个城市创建一个单独的表,我将创建下列表格:

Advert 
Category 
City 
User 

广告将有外键类别,城市和用户。它还将包含有关该项目的详细信息。

城市将有一个ID和所有必要的城市。该ID将是广告表的外键。

类别将与具有类别详细信息的城市相同。

用户将拥有该用户的ID和详细信息。该ID将是广告表的外键。