2010-02-24 1 views
1

Я занимаюсь переработкой пользовательского интерфейса построителя SQL-запросов для приложения, которое я использую, ну, это стороннее приложение, но у меня есть модель плагина, поэтому я пишу свой собственный, чтобы заменить стандартный. Одной областью, в которой я не очень хорошо разбираюсь в дизайне приложений, является пользовательский интерфейс.Улучшенный дизайн этого SQL-запроса builder UI

Мне было бы очень интересно видеть/слышать, как другие люди планируют этот диалог, чтобы сделать его немного лучше, или вы думаете, что это хорошо, как есть.

Я использую WPF для своего нового дизайна, поэтому я могу быть довольно гибким с пользовательским интерфейсом.

Это текущий SQL интерфейс: alt text http://img190.imageshack.us/img190/9492/sqlq.jpg

Просто для ясности при выборе опции из меню Таблицы, он добавляет имя таблицы в текстовом поле «из таблицы», то же самое с Столбцы вниз в поле «Выбор столбцов».

+0

Добавлен ярлык юзабилити, так что правые люди могли бы посмотреть. Что касается вопроса - я не понимаю пользовательский интерфейс. Бьюсь об заклад, должны быть лучшие пути. – Anvaka

ответ

3

Кто именно использовал бы такой интерфейс? Поскольку это в основном только предопределенный шаблон инструкции SELECT, я бы ожидал, что такой инструмент будет использоваться людьми, которые знают, как писать инструкции SQL с нуля (поскольку это в основном то, что они делают). Полагаю, добавление доступных столбцов и таблиц и тому подобное.

Если инструмент предназначен для использования опытными пользователями SQL, инструмент выглядит слишком строгим. Например, кажется, что нужно было бы написать свои собственные предложения JOIN как предложения WHERE, делая внешние объединения назойливыми. Это гораздо менее полезно, чем открытое текстовое поле.

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

Способы улучшения инструмента зависят от конечных пользователей. Если они имеют опыт работы с SQL, инструмент должен быть скорее открытым текстовым полем, где они могут писать все, что захотят, в том числе JOIN. Посмотрите, как Microsoft Server Management Studio позволяет пользователям создавать запросы: очень ненавязчивые, с возможностью просмотра таблиц и объединения их путем перетаскивания одного столбца в другой. Это очень естественный способ подойти к запросам видимым, организованным образом.

Если пользователи не имеют опыта работы с SQL, инструмент должен сделать для них намного больше. Например, если пользователь выбирает две таблицы, он должен автоматически присоединяться к ним, чтобы он не понимал, как работают соединения. Кроме того, выпадающие боксы должны работать в любом открытом текстовом поле, а не только в одном конкретном текстовом поле. Потому что вам нужны имена столбцов в части SELECT, а также в части WHERE.

Просто подумайте о своей пользовательской базе и приложите к ней инструмент.

0

Отличный смысл, если вы знаете, как писать SQL.

Я бы подумал, что, возможно, переместив вниз Таблицы-столбцы-etc dropdownlists ближе к тому месту, где будет отображаться их содержимое. Вы даже можете включить их с левыми заголовками для текстовых полей. Так, например, если в вашем тексте говорится «Выбрать столбцы», вы можете поместить раскрывающийся список «Столбцы» в этом месте. Тогда выбор по умолчанию там может быть.

Я думаю, что это хороший интерфейс.

0

А как насчет объединений?

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

Я думаю, что если вы попробуете формулировки shoehorn в формате, это не всегда будет работать, но может работать в большинстве случаев.

Это действительно зависит от бизнес-требований.

0

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

+0

Вы сделали это сообщение как сообщество wiki. Удостоверьтесь, что в следующий раз не отметьте галочкой в ​​сообществе wiki – hims056