Табличные отношения MySQL или просто использовать одну таблицу ?! Нужна помощь php mysql - PullRequest
0 голосов
/ 14 октября 2010

Я пытаюсь создать опцию выпадающего выбора, используя PHP, MySQL и ajadx. У меня есть PHP и ajax, которые я в значительной степени разобрался, но я не знаю, как мне организовать свои таблицы, но я не мог определиться, поэтомусоздал его двумя способами:

Первый способ таблицы:

  • CourseTbl, содержащий (CourseID * и CourseName)
  • DateTbl, (DateID * и DatesOffered(введено как varchar, неуверенный в том, как сделать дату, чтобы показать двухдневный интервал)
  • LocationTbl (LocationID *, LocationName)

Я подумал, что мог бы попытаться подключить идентификаторы для каждогоно понял, что нет возможности соединить их, поскольку некоторые из них повторяют даты, а некоторые предлагаются в один и тот же день.

У меня также есть таблица, которая просто перечисляет все это вместе.

TableSelect (ID *, CourseName, DatesOffered, LocationName *)

Если бы я хотел сделать это в качестве выпадающего списка, мне нужно было бы создать subID, который был бы и INNER Join? Использовать XML с PHP?Я просто держуЧувствуя себя, как я могу ввести информацию и правильно запросить ее?

Как лучше всего атаковать это?любая помощь будет отличной и спасибо за ваше время!

1 Ответ

0 голосов
/ 14 октября 2010

Вероятно, было бы полезно сохранить все эти данные в одной таблице.Причина, по которой я говорю, что ваши запросы будут намного менее интенсивными (вы не объединяетесь в несколько таблиц), только делая выбор из одной таблицы, и если вы правильно структурируете свои данные, вы можете использовать выходные данные точно так же, как для заполнения вашего раскрывающегося списка.коробки.

Интересная методика, которой нужно следовать, - это та, в которой вы сначала пытаетесь думать о том, чего хотите достичь, и как будет выглядеть и работать конечный результат.Затем вы разрабатываете свою БД, чтобы приспособить вас к этой структуре.

Я обнаружил, что если ваша структура БД правильная, и вы предоставляете своему php-скрипту данные так, как они нужны, ваш сайт удивительно масштабируется.Я имею в виду, что имеет смысл использовать один выбор, а не внутреннее объединение для 3 таблиц, верно?

Вы также должны использовать один набор идентификаторов и никаких внешних ключей и т. Д., Чтобы сохранить целостность данных.Если я правильно читаю ваше объяснение, то вижу, что данные относятся точно друг к другу, и это всегда хорошо, чтобы сгруппировать одни и те же данные.

...