我正在编写分类广告网络应用。
为此构建数据库的最佳方法是什么? 由于具有高重复性,在数据库中为每个城市设置一个单独的表会更快(在搜索/索引方面)吗?
或者可以为每个城市设置一个表(它会有很多行......)。
分类广告表包含id,user_id,city_name,category,[description和detail fields]。
答案 0 :(得分:0)
我不是为每个城市创建一个单独的表,而是创建以下表格:
Advert
Category
City
User
广告将具有类别,城市和用户的外键。它还将包含有关该项目的详细信息。
城市将拥有一个ID和所有必要的城市。该ID将是广告表的外键。
类别与具有类别详细信息的城市相同。
用户将拥有该用户的ID和详细信息。该ID将是广告表的外键。
答案 1 :(得分: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将是广告表的外键,