Связь между таблицами В это схеме связей наглядно показано как таблицы связываются друг с другом и по каким значения они связываются. Связь таблиц играет очень важную роль в базе данных.
Например, можно запретить удалять категорию, если с ней связана хотя б одна заметка. Или удалить все заметки, если удалена категория. Или установить NULL в связующее поле. В любом случае, с помощью связей повышается отказоустойчивость и надежность приложения.
Для начала, движок таблиц должен быть InnoDB. Только он поддерживает внешние ключи (foreign key). Если у вас таблицы MyISAM, почитайте как их конвертировать в InnoDB.
Для того, чтобы связать таблицы по полям, необходимо сначала добавить в индекс связываемые поля:
В phpmyadmin выбираем таблицу, выбираем режим структуры, выделяем поле, для которого будем делать внешнюю связь и кликаем Индекс.
Связь между таблицами — суть реляционной базы данных. В идеале вне базы данных не держится никакая информация. Внутри базы разные по сути вещи разделяются на разные таблицы — например, сообщения и форумы, сообщения и их авторы (если есть регистрация участников), возможно даже в отдельную таблицу выносится разрешения доступ к форумам персонально для каждого участника. При этом данные лежат там, где надо, не смешиваются друг с другом, и не повторяются лишний раз. Это и есть основной смысл реляционных БД. За исключением сложных задач (например, построить дерево обсуждений форума), выборка данных производится одним запросом. Никакие массивы использовать не надо.