【发布时间】:2010-01-20 11:57:37
【问题描述】:
首先,我要感谢所有帮助我了解规范化以及我应该如何构建数据库的人。
现在,我还有一些最后的问题......
表的链接实际上是如何工作的?
假设你有三个表:
CATEGORY TABLE:
cat_id (PK) -> 1
cat_name -> cars
CATEGORY_OPTIONS TABLE:
cat_opt_id (FK) -> 1
cat_id (FK) -> 1
option_name -> year
CATEGORY_OPTIONS_VALUES TABLE:
cat_opt_val_id (PK) -> 1
cat_opt_id (FK) -> 1
value -> 1999
基本上,这些值应如下所示:
CATEGORY
(1, cars)
(2, MC)
CATEGORY_OPTIONS
(1, 1, year)
(2, 1, fuel)
(3, 2, type)
CATEGORY_OPTIONS_VALUES
(1, 1, 2010)
(2, 1, Petrol)
(3, 2, Cross)
这是否正确,因为我已经在上面设置了它?
我该如何搜索这些,逻辑是如何构成的?
我想我需要来自 PHP(SELECT 等)的查询示例
假设你要搜索一辆汽车 -> year=2010,fuel=PETROL 那么查询是怎样的呢? 并且说你想搜索汽车 ->fuel=PETROL,year=anything
最后,我应该对这些字段中的任何一个使用 AutoIncrement 吗?什么时候使用人工智能?
谢谢
PS:欲了解更多信息,请查看此问题: Can this MySQL db be improved or is it good as it is?
【问题讨论】:
标签: php sql mysql database search