Ответ 1
Основные различия между InnoDB и MyISAM ( "в отношении проектирования таблицы или базы данных", о которых вы просили) являются поддержкой "ссылочной целостности" и "транзакций".
Если вам нужна база данных для обеспечения ограничений внешнего ключа или вам нужна база данных для поддержки транзакций (т.е. изменения, сделанные двумя или более операциями DML, обрабатываемыми как единое целое, со всеми внесенными изменениями или всеми изменения вернулись), тогда вы выберете движок InnoDB, так как эти функции отсутствуют в двигателе MyISAM.
Это два самых больших различия. Другое большое различие - concurrency. С помощью MyISAM оператор DML получит исключительную блокировку в таблице, и если эта блокировка сохранена, ни один другой сеанс не может выполнять операцию SELECT или DML в таблице.
Те два конкретных двигателя, о которых вы просили (InnoDB и MyISAM), имеют разные цели дизайна. У MySQL также есть другие механизмы хранения, с их собственными целями проектирования.
Таким образом, при выборе между InnoDB и MyISAM первым шагом является определение того, нужны ли вам функции, предоставляемые InnoDB. Если нет, тогда MyISAM будет рассмотрен.
Более подробное обсуждение различий довольно непрактично (на этом форуме) отсутствует более подробное обсуждение проблемного пространства... как приложение будет использовать базу данных, сколько таблиц, размер таблиц, загруженность транзакций, томов выбора, вставки, обновлений, требований concurrency, функций репликации и т.д.
Логический дизайн базы данных должен быть сосредоточен вокруг анализа данных и требований пользователей; выбор для использования реляционной базы данных придет позже, и даже позже будет выбор MySQL как системы управления реляционными базами данных, а затем выбор механизма хранения для каждой таблицы.