我需要帮助为PHP / MySQL驱动的应用程序创建数据字典

时间:2011-08-21 12:45:07

标签: php mysql properties data-dictionary

我正在创建一个属性搜索/比较网站。我需要帮助创建容纳数据的mysql表。

我不确定我需要多少个表以及列标题应该用什么。

我希望网站尽可能精确和完整。

我有了创建这个网站的想法,因为我正在寻找一个住所,搜索标准非常简单,但是房产比较网站没有关于我正在搜索的属性的完整/准确数据

我不知道表格需要“规范化”,例如我可以:

表:属性,字段:id,address_id,卧室,浴室,车库,花园。 表:地址,字段:address_id,address_line_1,address_line_2,address_line_3,城镇,城市,邮政编码。

但是,我需要详细了解房屋内的每间卧室,并指明其尺寸等。

如果有人有任何建议,无论多小。我真的很感激。

2 个答案:

答案 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。

  1. 按照您描述的方式创建表格。
  2. 以xml格式为每个字段存储数据。例如,对于现场浴室,您可以创建类似

    的xml

    < rooms number =“3”>     < room length =“5”width =“10”>     < room length =“7”width =“9”> <房间>

  3. 通过mysql函数ExtractValue()访问某些字段中的特定值。请参阅http://dev.mysql.com/doc/refman/5.1/en/xml-functions.html