Организация базы данных MySQL и выбор PHP - PullRequest
1 голос
/ 09 января 2010

Я настраиваю базу данных 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 ]

3 голосов
/ 09 января 2010

Три стола. Таким образом, вы не ограничены количеством информации, которую вы можете добавить в машину. И вы не ограничены количеством автомобилей, к которым может иметь доступ пользователь.

Если вам когда-нибудь понадобится электронная таблица пользователей, запросите таблицу users. Если вам когда-нибудь понадобится инвентаризация автомобилей, запросите таблицу cars. Если вам когда-либо понадобится узнать, с какими автомобилями связан каждый пользователь, запросите userscars.

См. Нормализация базы данных .

  • Пользователи
    • ID пользователя
    • Имя пользователя
    • Фамилия пользователя
  • автомобили
    • ID автомобиля
    • Марка автомобиля
    • Модель автомобиля
  • usercars
    • ID пользователя
    • ID автомобиля
1 голос
/ 10 января 2010

То, что сказал Джонатан, хотя структура его таблицы «многие ко многим», это необязательно, если только несколько человек не будут иметь одну и ту же машину.

* 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

имеет больше смысла, и его проще запрашивать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...