我正在创建一个属性搜索/比较网站。我需要帮助创建容纳数据的mysql表。
我不确定我需要多少个表以及列标题应该用什么。
我希望网站尽可能精确和完整。
我有了创建这个网站的想法,因为我正在寻找一个住所,搜索标准非常简单,但是房产比较网站没有关于我正在搜索的属性的完整/准确数据
我不知道表格需要“规范化”,例如我可以:
表:属性,字段:id,address_id,卧室,浴室,车库,花园。 表:地址,字段:address_id,address_line_1,address_line_2,address_line_3,城镇,城市,邮政编码。
但是,我需要详细了解房屋内的每间卧室,并指明其尺寸等。
如果有人有任何建议,无论多小。我真的很感激。
答案 0 :(得分:1)
对于房子的任意属性,你可以拥有一张桌子。
CREATE TABLE `property_prop` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
`properties_id` INT UNSIGNED NOT NULL ,
`name` VARCHAR( 32 ) NOT NULL ,
`value` VARCHAR( 64 ) NOT NULL ,
PRIMARY KEY ( `id` ) ,
INDEX ( `property_id` )
) ENGINE = MYISAM
INSERT INTO property_prop (properties_id,name,value) VALUES (100,'Spacing','100');
INSERT INTO property_prop (properties_id,name,value) VALUES (100,'Rooms','4');
INSERT INTO property_prop (properties_id,name,value) VALUES (100,'Description','This is a nice house. ;)');
//Get a list of all properties for house with id 100.
SELECT name,value FROM property_prop WHERE properties_id=100;
答案 1 :(得分:0)
为了在网站上进行良好和快速的搜索,最好的方法是像SOLR或Sphinx这样的独立搜索服务器。关于你的问题:
Mysql Solution。
以xml格式为每个字段存储数据。例如,对于现场浴室,您可以创建类似
的xml< rooms number =“3”> < room length =“5”width =“10”> < room length =“7”width =“9”> <房间>