Лучший дизайн этого пользовательского интерфейса конструктора SQL-запросов - PullRequest
1 голос
/ 24 февраля 2010

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

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

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

Это текущий пользовательский интерфейс SQL: альтернативный текст http://img190.imageshack.us/img190/9492/sqlq.jpg

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

Ответы [ 4 ]

3 голосов
/ 24 февраля 2010

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

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

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

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

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

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

0 голосов
/ 18 июля 2012

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

0 голосов
/ 24 февраля 2010

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

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

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

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

0 голосов
/ 24 февраля 2010

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

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

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

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