MySQL数据库组织和PHP选择

时间:2010-01-09 19:10:16

标签: php mysql database-design select

我正在建立一个MySQL数据库,并将使用PHP查询它。最好将信息分解为多个表,并在每个表上选择查询;或者将所有项目放在一个表中并进行单个选择查询是否更好?

例如:

它将保存最多7辆汽车的信息;这意味着他们将大约50列左右。

Table_design 1
----------------------
table_all
    username
    car1_make
    car1_model
    car1_year
    car1_condition
    car1_tires
    car1_color
    car2_make
    car2_model
    car2_year
    car2_condition
    car2_tires
    car2_color
----------------------

Table_design 2
----------------------
table_1
    username
    car1_make
    car1_model
    car1_year
    car1_condition
    car1_tires
    car1_color

table_2
    username
    car2_make
    car2_model
    car2_year
    car2_condition
    car2_tires
    car2_color
----------------------

2 个答案:

答案 0 :(得分:3)

三张桌子。这样,您不仅限于可以添加到汽车的信息量。而且您不仅限于用户可以访问的汽车数量。

如果您需要用户电子表格,请查询users表格。如果您需要汽车清单,请查询cars表。如果您需要知道每个用户与哪些车辆相关联,请查询userscars

请参阅Database Normalization

  • 用户
    • 用户ID
    • 用户名
    • 用户姓氏
  • 汽车
    • 车识号
    • 汽车制作
    • 汽车模型
  • usercars
    • 用户ID
    • 车识号

答案 1 :(得分:1)

Jonathan说,虽然他的桌子结构是多对多的,但除非有多人拥有同一辆车,否则这不是必要的。

* users
      o User ID
      o User First Name
      o User Last Name
* cars
      o Car ID
      o User ID
      o Car Make
      o Car Model

更有意义,更容易查询。