10 000-футовый обзорный вопрос по составлению запросов SQL Server - PullRequest
1 голос
/ 20 августа 2010

Я только что мигрировал из Access, где я бы постоянно и быстро «писал» SQL, используя их макет GUI.Я очень плохо знаком с SQL Server и озадачен, почему в SQL Server нет графического интерфейса для запросов.Является ли это намного более мощным, что графический интерфейс не сможет удовлетворить большинство запросов?Или это похоже на пуристскую вещь, когда человек больше не в разбавленных базах данных, таких как Access, что он или она должен просто достаточно хорошо знать SQL, чтобы писать его на лету.Или я вообще не прав, и существует ли графический способ, которым большинство программистов сочиняют SQL?

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

Ответы [ 5 ]

3 голосов
/ 20 августа 2010

Я думаю, что Query Designer является частью Sql Server Management Studio: см. Например SQL Server 2005 Management Studio Query Designer .

2 голосов
/ 20 августа 2010

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

Основное различие между Access и SQL Server или любой другой базой данных состоит в том, что MS Access - это приложение, которое хранит данные в файле, когда вы закрываете «Access», все может произойти внутри самой базы данных,Пока вы используете SQL Server, он всегда подключен.Вот почему доступ был построен хороший запрос, дизайнеры форм отчетов.SQL Server выполняет совершенно другую работу и не нуждается в этом.С SQL Server у нас есть Sql Server Management Studio, которая служит для глобального управления не только для создания таблиц и разработки запросов, но и для этого требуется много вспомогательного персонала, например, для управления пользователями, работы с правами.

Так что SQL Server не имеет конструктора запросов, вы просто не используете для этого подходящее программное обеспечение.Полнофункциональное приложение - это SSMS, представленная ChrisW.

2 голосов
/ 20 августа 2010

На самом деле существует GUI-конструктор для представлений и запросов. Просто используйте SQL Server Management Studio.

Например, в «Представлениях» щелкните правой кнопкой мыши и выберите «Добавить представление ...». Графический интерфейс вида выглядит очень похожим на тот, который есть у доступа.

1 голос
/ 20 августа 2010

AFAIK о MySQL.Ранее был набор инструментов MySQL, а теперь есть MySQL Workbench.

Скажите, что вы можете, но это определенно сэкономит время.

0 голосов
/ 01 июня 2011

Прежде всего, я считаю, что конструктор запросов в SQL Server Management Studio, вероятно, эквивалентен тому, что вы использовали в Access.Я не очень хорошо разбираюсь в использовании Access, кроме как через код, но я думаю, что вы можете делать там, что хотите (в конструкторе запросов).Я никогда не находил его очень гибким, поэтому я всегда возвращаюсь к самому коду, но вы идете.

Мой другой ответ немного не по теме (и размещен на этом этапе в основном дляgooglers), но если вы разработчик (особенно с использованием SQL Server), это, вероятно, все еще применимо: Linq to SQL в Visual Studio.

Я работаю с базами данных SQL Server уже около 7 лет,и большая часть этого времени была потрачена на написание операторов SQL вручную.В прошлом году я сменил работу и, наконец, создал среду, в которой базы данных, которые использовали мои программы, были локальными и не меняли структуру.У меня наконец появилась хорошая возможность начать использовать Linq!

Linq - удивительно полезный инструмент !!!Теперь я использую его для почти (не совсем) всех моих взаимодействий с базой данных из кода.

Основная суть в том, что вы создаете графический макет базы данных в файле dbml.Этот макет включает в себя таблицы (или представления) в качестве объектов и ассоциации (отношения PK / FK) в качестве связей между объектами.То, как вы устанавливаете ассоциации, определяет, является ли это свойство отдельным объектом или набором сущностей этого объекта.Представьте, что у вас есть следующее:

TABLE (ORDERS)       TABLE (CUSTOMERS)
--------------       ----------------
PrimKey
CustomerID --(FK)--> PrimKey
OrderDate            CompanyName

Использование Linq to SQL, когда вы запускаете что-то вроде следующего:

Using db as new DataBaseContext
    Dim orders = (From iOrder In db.ORDERS Order By iOrder.Customer.CompanyName).ToList
End Using

В итоге вы получаете список объектов Order, каждый из которыхвладеть соответствующим объектом Customer.Вы можете настроить его так, чтобы он имел иерархию объектов, и это в значительной степени работает так, как вы ожидаете.

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

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