Конференция "Прочее" » SQL людям :о)
 
  • ANB (05.12.08 18:40) [20]

    > clickmaker ©   (05.12.08 18:36) [19]

    Ну по одной табличке еще как то можно но IN уже не учтен.
    Но даже по одной не все так просто, например
    where
    (N1 = 5 or N2 = 6) and (N4 = 8 or (N5 = 6 and N7 = 8))

    Неискушенный юзер в таком запросе запутается. Даже мне понятнее со скобками.
  • clickmaker © (05.12.08 18:51) [21]
    > [20] ANB   (05.12.08 18:40)

    ну понятно, что там должны быть все возможные операторы, в т.ч. Less or equal, more or equal
    если нужны скобки, то по нажатию Add condition можно кроме and/or предлагать либо открыть скобку, либо закрыть последнюю открытую. Тогда набор условий внутри скобок более наглядно отображать с отступами.
    Для нескольких таблиц, выбираем что-то типа
    Join: [inner/outer/full] [Table name] on [MainFieldName] = [JoinedFieldName]

    Но в простейшем варианте пишется это примерно за день, может даже за несколько часов.
    Потом уже можно наворачивать
  • kaif © (05.12.08 19:01) [22]
    Вообще-то первоначально SQL так и задумывался.

    Для людей.

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

    Но люди оказались намного тупее, чем полагали создатели SQL.
    И оказались не в состоянии осилить даже самые простые внутренние объединения с агрегатами и группировками, которые в большинстве случаев с лихвой удовлетворили бы их потребности в таких вещах как "хочу знать суммарные доходы с разбивкой по годам".

    Может нет смысла заново проходить тот же путь?
    Хотя чем черт не шутит...
    Иногда юзеры проявляют удивительную изобретательность в Excel-е, например. Может действительно можно сделать что-то дружественное для юзера?
  • Johnmen © (05.12.08 19:03) [23]

    > ANTPro ©   (05.12.08 18:22) [18]
    > Я не считаю что все настолько сложно

    Ну так сделай, если не настолько сложно.
    Если не можешь, то, право, не стОит молоть языком зазря... Если  же в сказки ещё веришь, то пожалуйста, верь и дальше. У нас свобода совести...
    Но мы к твоей вере никакого отношения не имеем. Как и весь мир.
  • Petr V. Abramov © (05.12.08 19:06) [24]

    > kaif ©   (05.12.08 19:01) [22]


    > Предполагалось, что любой работник, я уже не говорю о топ-
    > менеджере с высшим образованием, сумеет заюзать SELECT,
    > если он не идиот, конечно.

    и, я предполагаю, в те времена простые юзеры простые запросы писали. Ты не забывай, что тогда в командной строке работали и скрипты простенькие писали.
  • kaif © (05.12.08 19:06) [25]
    Мне кажется, что юзер любит сразу видеть результат.
    Если сделать так, что по мере конструирования запроса, система будет выдавать какие-то частичные результаты: сама ограничивая наборы по объему, вводя дополнительные условия за кадром и следя за тем чтобы юзер не устроил декартово произведение сдуру на большом наборе, предвосхищала бы примерно время, которое он получит в "рабочем" варианте, то что-то подобное могло бы оказаться полезным. И не только юзерам, но и нашему брату SQL-щику.
  • blackman © (05.12.08 19:07) [26]
    Вообще-то первоначально SQL так и задумывался. Для людей
    Люди разные бывают.
    Может действительно можно сделать что-то дружественное для юзера?
    У ANTPro ©   (05.12.08 18:14) [16] Пока многое еще неизвестно, может и финансирование будет
    А вы ему значит помочь хотите с финансированием? :)
    Или на халяву ?
  • kaif © (05.12.08 19:08) [27]
    Petr V. Abramov ©   (05.12.08 19:06) [24]
    и, я предполагаю, в те времена простые юзеры простые запросы писали.


    Готов согласиться. А куда им еще было деться?
  • kaif © (05.12.08 19:10) [28]
    2 blackman ©   (05.12.08 19:07) [26

    Я лишь обсуждаю саму идею. Стоит ли за это вообще браться, независимо от финансирования. Я не считаю, что за деньги стоит писать все что угодно. Хотя если ты молодой и только учишься...
  • Anatoly Podgoretsky © (05.12.08 19:34) [29]
    > ANTPro  (05.12.2008 18:14:16)  [16]

    О да ты еще и спонсируешь предприятие.
  • Поросенок Винни-Пух © (05.12.08 19:34) [30]
    все уже украдено до нас. точнее до вас.
    и без дурацких (а все они дурацкие) построителей запросов.

    я встроил все эти пользовательские хотения в грид.
    сам грид унаследован от ехлиба (в котором уже почти все есть)
    мне не хватало только некторых фич, которые и были добавлены.
  • Anatoly Podgoretsky © (05.12.08 19:37) [31]
    > kaif  (05.12.2008 19:01:22)  [22]

    ИБМ много чего не учла, например Билл Гейтса.
    А продуктов запороло очень много.
  • Anatoly Podgoretsky © (05.12.08 19:39) [32]
    > Petr V. Abramov  (05.12.2008 19:06:24)  [24]

    И ввод был из телетайпа, оттуда и символ точка с запятой, и вывод был на телетайп.
  • Anatoly Podgoretsky © (05.12.08 19:42) [33]
    > blackman  (05.12.2008 19:07:26)  [26]

    Какое на халяву, только пилить Шура.
  • blackman © (05.12.08 19:54) [34]
    kaif ©   (05.12.08 19:10) [28]
    Идея как я понял, заключается в том, что бы на халяву получить построитель запросов для тех кто этого делать не умеет.
    Можно конечно и в Excel кидать или то, что Поросенок Винни-Пух предлагает. Наконец наплодить какую-то стандартную серию или даже построитель как в Access. Но все зависит от того кто будет пользователем.
    Подавляющее большинство НЕ будет ничего строить, а будет звать программиста и с его помощью...
    Я обычно прошу нарисовать все возможные отчеты которые юзер хотел бы получать. Это обязательное требование на начальном этапе.
    Обобщаю написанное, меняю так что бы это действительно были отчеты.
    Показываю и согласовываю. После того как все готово доделываем те, что были и дополняем новыми.
    Обычно этого хватает. Если нет, то делаем вторую очередь, за дополнительные бабки и доп. время.
    Расчитывать на умного юзера я уже давно перестал. Не бывает. А если и появляются, то лучше не заморачиваться с их сверхидеями.
  • Поросенок Винни-Пух © (05.12.08 19:59) [35]
    Я обычно прошу нарисовать все возможные отчеты которые юзер хотел бы получать. Это обязательное требование на начальном этапе.

    Во! Правильно!
    Сразу задать юзеру вопрос на который точно нет ответа
    :)))
  • blackman © (05.12.08 20:01) [36]
    kaif ©   (05.12.08 19:10) [28]
    Забыл добавить, что браться за бесплатные идеи можно только если ты хорошо обеспечен :)

    Anatoly Podgoretsky ©   (05.12.08 19:42) [33]
    Какая же там халява. Золото обещали. Обманули конечно. Но хотя бы обещали...
  • Anatoly Podgoretsky © (05.12.08 20:04) [37]
    > blackman  (05.12.2008 20:01:36)  [36]

    В данном случае не обманут, не гирю же пилить, а эквивалент золота.
  • blackman © (05.12.08 20:07) [38]
    Поросенок Винни-Пух ©   (05.12.08 19:59) [35]
    Сразу задать юзеру вопрос на который точно нет ответа
    Ты не прав. Если юзер не знает, чего он хочет от системы, то и начинать не стоит.
    Другой вопрос, что он часто как собака, все понимает, но сказать не может.
    Но тут уж ты сам должен ему помочь. Объяснить, что можно и в каком виде. Примерчики привести. Уверяю тебя, что он нарисует. Пусть и бред в первой редакции, но опять скорректировать можно и добиться взимной радости от общей работы.
    Надо также учесть, что в большинстве случаев все отчеты он уже делал раньше ручками. Можно покопаться в его бумажках. Посмотреть, что он делал и куда, кому...
    Абсолютно новых задач давно уже нет.
  • blackman © (05.12.08 20:27) [39]
    Anatoly Podgoretsky ©   (05.12.08 20:04) [37]
    Где же этот эквивалент? Может я самое важное пропустил? ;)
 
Конференция "Прочее" » SQL людям :о)
Есть новые Нет новых   [134447   +40][b:0][p:0.001]