Почему бы не построить пользовательский интерфейс на основе схемы БД? - PullRequest
5 голосов
/ 20 сентября 2009

Люди, кажется, избегают создания пользовательских интерфейсов, которые извлекают их информацию (имена, типы полей и т. Д., А также отношения) из базы данных; вместо этого они имеют жесткие формы кода (и таблицы и т. д.), которые имеют почти одинаковые имена данных, типы и вещи.

Имею ли я смысл?

Например, представьте эмулируемое поле в MySQL: почему бы просто не создать пользовательский интерфейс в раскрывающемся списке, когда он встречает ENUM? Зачем помещать одинаковые значения в базу данных и код?

Возможно, я просто что-то упустил; возможно, есть проекты, которые делают это - своего рода супер-грубые интерфейсы, которые могут быть нацелены на любую базу данных и на ее основе создают полнофункциональный реляционно-ориентированный пользовательский интерфейс. Есть ли?

Возможно, я не совсем согласен с нормами стекового потока с этим вопросом; Подведу итог:

  1. Не могли бы вы рассказать мне о проекте, который строит свой пользовательский интерфейс (исключительно) из анализа схемы базы данных?
  2. Почему это не распространенный способ сделать это - конечно, хорошо определять структуру данных только в одном месте (то есть в базе данных)?

Спасибо, и пусть радостный код-любовь обрушится на вашу IDE.

Ответы [ 11 ]

0 голосов
/ 20 сентября 2009

Существует множество систем, которые создают интерфейс для редактирования материалов непосредственно из табличной информации. Интерфейсы конечного пользователя, однако, должны быть немного подправлены. Возможно, вы не захотите раскрывать пользователю все поля в вашей таблице.

Каркасы, которые хорошо используют шаблон проектирования MVC, могут позволить вам делать все с вашими моделями , которые являются предпочтительным способом построения новых систем (а не создания таблиц базы данных напрямую).

Чтобы ответить на ваши вопросы конкретно:

  1. django позволяет создавать формы (и полную CMS администратора) из моделей.

  2. Это - это обычное дело.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...