Нас в
ККЭП учили так:
- Предметная область. Описываем (лучше не в уме) простым русским языком — что мы моделируем. База данных всегда является моделью чего-то в реальности. Укрупненно основные объекты и связи между ними, без деталей. Инструмент — MS Word, notepad, Бумагаручкамозг.
- Создаем концептуальную модель. Уже можно порисовать рисунки в ворде.
- Далее идет логическая модель данных — в ней уже есть эмбрионы будущих таблиц, с именами полей и связями между ними. Тут уже указываем тип связей — 1:1, 1:n, m:n. Тут уже можно порисовать в простом графическом редакторе или на доске.
- Далее предпоследний этап — физическая модель данных, когда указываем типы полей. На этом этапе наименее мучительно использовать UML-схемы, например с помощью StarUML.
- И последний, но циклический этап — нормализация данных. Выясням, какие данные избыточны и повторяются, и выносим их в отдельную таблицу. На этом этапе уже можно подключать PHPMyAdmin или схожую утилиту и создавать непосредственно таблицы на сервере.
- Если перестарались — система может работать медленно, и можно кое-где сделать денормализацию. Тут уже помогут нагрузочное тестирование и опыт.
- ???????
- PROFIT
Если предметная область (ваша задача) простые, некоторые шаги можно делать в уме.
Такой подход был применён не раз вживую оказался полезным.