Я не знаю, какова ваша сфера ответственности, но вы обязаны дать совет своему клиенту. Я думаю, что мы все знаем, что он просит, это быть бедствием, если масштаб приложения велик, склонен к росту или если проект плохо определен (т.е. гибкая среда).
В любом случае, клиент не ожидает, что вы будете генерировать HTML прямо из базы данных, не так ли?
При этом я работал над гигантским приложением, которое много откладывало (слишком много я бы сказал) на базу данных (не PL / SQL, а Oracle и MSSQL - что означало два набора хранимых процедур - и иногда конкретные таблицы, представления, триггеры и ограничения - поддерживать). Что бы я сказал с общей точки зрения:
- Читать, читать, читать
- Сначала проработайте схему до мелочей (не стесняйтесь разбивать элементы на множество разных таблиц и использовать представления для их объединения и получения более простого интерфейса с вашей базой данных),
- Если пользовательские типы PL / SQL хороши, то скрывайте таблицы / представления верхнего уровня за пользовательскими типами (всегда),
- Подумайте о модульности и «обслуживании» для организации ваших процессов,
- Не пытайтесь быть умным / быстрым с самого начала.
Я имею в виду такую структуру:
- BUSINESS: хранимые процедуры и пользовательские типы
- APPLICATIVE: представления, таблицы, внутренние процедуры, внутренние типы
- ХРАНЕНИЕ: базовая схема (базовые таблицы), триггеры и ограничения (манипулировать с осторожностью)
О, да, и рефакторинг рано. Чем больше приложение, тем сложнее его перемещать, особенно в такую среду.
Конечно, мне не нужно просить вас тестировать рано;)