Я вполне счастлив кодировать таблицы вручную при создании базы данных, но это не самый простой способ передать информацию о базе данных кому-то другому, особенно тому, кому не так комфортно кодировать таблицы с помощью скрипта и вместо этого будет использовать что-то подобное в phpMyAdmin .
Таким образом, есть ли бесплатная программа (для меня, чтобы использовать ее, она должна работать на Mac, но не стесняйтесь предлагать приложения для ПК для других с тем же Q) или скрипт (желательно на PHP или Python), который позволяет вам создавать базу данных структура и затем будет выводить либо базовую диаграмму, либо код, выбранный пользователем?

Вы можете попробовать MySQL Workbench, который исходит из dbdesigner с открытым исходным кодом. Доступна бесплатная версия для сообщества. Вы можете спроектировать базу данных с помощью er-диаграмм или реконструировать существующую базу данных.
На ПК вы можете использовать MS Visio для создания Схема сущности БД.
Он даже перепроектирует один из существующей базы данных.
Утомительно настраивать при первом использовании, но после этого будет очень удобно.
Какая версия Visio вам нужна в наши дни?
Я большой поклонник ARGO UML с сайта Tigris.org. Рисует красивые картинки, используя стандартную нотацию UML. Он выполняет некоторую генерацию кода, но в основном классы Java, которые не являются SQL DDL, поэтому это может быть недостаточно близко к тому, что вы хотите сделать.
Вы можете посмотреть список Инструменты моделирования данных и посмотреть, есть ли что-нибудь лучше, чем Argo UML. Многие из предметов в этом списке бесплатны или дешевы.
Кроме того, если вы используете Затмение или NetBeans, существует множество плагинов дизайна, некоторые из которых могут иметь функции, которые вы ищете.
ArgoUML имеет удобную возможность веб-запуска, расположенную по адресу argouml-downloads.tigris.org/jws/argouml-latest-stable.jnlp. Поскольку он основан на Java, он будет работать почти на всех платформах.
Мне всегда нравился Eclipse. Для этого есть несколько плагинов, которые выглядят так, как будто они будут делать то, что вы хотите.
Я использую метко названный Инструмент проектирования баз данных. Это очень просто и, к сожалению, больше не дорабатывается. Это лучший бесплатный инструмент, который я когда-либо встречал, и в конце проектирования таблиц он генерирует для вас T-SQL. Это также не зависит от языка.

Архитектор открытых систем имеет некоторый потенциал. Это очень похоже на Visio.
SchemaBank (веб-поставщик SaaS) может превратить ваш дизайн электронной отчетности в операторы SQL для MySQL и PG. Но пока не могу экспортировать графику. Приятно то, что вам не нужно ничего устанавливать (потому что он основан на браузере), и это практически ничего не стоит. Вы также должны иметь возможность поделиться своим дизайном с другими людьми.
MySQL Workbench - лучший инструмент для проектирования БД, который я пробовал
Я никогда не пробовал использовать другие БД, но думаю, что это хорошо работает, потому что вы можете экспортировать дизайн в файл SQL. Вы можете использовать его для импорта в другие БД.
SQLDeveloper от Oracle может работать с базами данных Oracle и MySQL.
В настоящее время я проверяю SQL Power Architect (как с PostgreSQL, так и с Mysql, но он также поддерживает других поставщиков), и это определенно кажется многообещающим. Выполняет как прямую, так и обратную разработку SQL. Community Edition - это кроссплатформенная версия с открытым исходным кодом (Java). Можете проверить сами: http://code.google.com/p/power-architect/
До сих пор, строго работая с MySQL, я использовал MySQL Workbench, http://wb.mysql.com/, который работал надежно.
К сожалению, это доступно только для Windows.