Предоставление возможности создания таблицы через графический интерфейс - PullRequest
0 голосов
/ 09 марта 2012

Я занимаюсь разработкой веб-приложения, в котором пользователь может создать таблицу в базе данных. Я думаю о том, чтобы взять имена атрибутов и описание таблицы у пользователя, поместить их в SQL-запрос и выполнить его. Но недостатком является то, что если это приложение установлено где-то еще, все параметры соединения с БД должны быть изменены во-вторых, это будет жестко задано. Или это подход в индустрии программного обеспечения?

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

Я использую веб-сервис SPRING - MVC, Hibernate, MySQL, REST

Пожалуйста, поправьте меня, если я думаю не в том направлении. Честно говоря, мне не ясно, как я собираюсь это сделать. Спасибо

1 Ответ

0 голосов
/ 14 марта 2012

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

Вы создаете интерфейс для управления произвольными базами данных? Возможно, phpmyadmin даст вашим пользователям все, что им нужно.

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

Если вы более конкретны со своими целями, мы могли бы быть более полезными.

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