Microsoft Access против собственного SQL - PullRequest
1 голос
/ 11 января 2011

Гипотетический: допустим, вы пишете сложные запросы к базе данных, и очень важно, чтобы извлеченные данные были правильным набором результатов (например, чтобы вы не испортили JOIN, не используя все правильные ключи, и все другие вещи, которые могут пойти не так, и так далее).

Что бы вы предпочли использовать для этого? Вы бы написали запрос, используя Microsoft Access и его представление конструктора, или вы написали бы его на нативном SQL, используя SQL IDE? Какой лучший профессиональный выбор?

Редактировать: Другими словами, какую клиентскую среду вы используете для создания SQL-запросов? Среда, поддерживающая собственное программирование на SQL, или среда, поддерживающая представление графического дизайна, такое как Microsoft Access или Crystal Reports?

Заранее спасибо за отзыв!

Ответы [ 6 ]

5 голосов
/ 11 января 2011

Я лично начал использовать редактор запросов Access для выполнения своих запросов, но самое главное, я начал смотреть на SQL, который он генерировал.Когда пришло время сделать несколько новых запросов, я написал их в сыром SQL и проверил свои результаты по тому же запросу, сделанному с помощью редактора запросов.Сейчас я много пишу в IDE SSMS, выполняя все кодирование SQL «вручную».

Это нормальная кривая обучения,

  • начинайте с поддержки
  • Попробуй без поддержки, но проверь против нее
  • Пиши без поддержки

Слишком много людей просто придерживаются шага 1, что нормально, но как бы останавливает твой рост и как только защитное одеяловизуального дизайнера уходит, это может быть культурный шок!

3 голосов
/ 11 января 2011

Access Query Builder Thing будет писать SQL только в своем собственном синтаксисе (из которых, кстати, у него два: синтаксис ANSI-89 Query Mode и синтаксис ANSI-92 Query Mode), а не в целевом источнике данных.Например, если SQL Server является вашим «бэкэндом», а Access - вашим «клиентом», то Access не может написать синтаксис SQL Server TSQL.

Даже при нацеливании на собственный движок данных Access, я считаю Access Query Builder Thing бесполезным,Даже если вы игнорируете «Представление проекта» (которое может обрабатывать только самый основной синтаксис) и вводите SQL непосредственно в своем окне «Представление SQL», система часто меняет его, внося синтаксические ошибки в процесс.Если вам действительно нужно использовать Access Database Engine (ACE, Jet и т. Д.), Тогда я рекомендую создавать VIEW s и PROCEDURE s (а также таблицы и их ограничения) с использованием SQL DDL.

1 голос
/ 12 января 2011

Для меня ответ на вопрос зависит от того, где вы собираетесь выполнять SQL. Если вы выполняете это в Access, то напишите это в Access. Если вы выполняете его в SQL Server, запишите его в любом удобном для вас инструменте (и создайте SQL на диалекте SQL Server).

Я не согласен с критикой дизайнера запросов Access. Я думаю, что безумно писать свой SQL от руки и рисковать ошибками, а потом, в любом случае, «убирать» его в Access. Существуют веские причины, по которым Access обрабатывает ваш литеральный SQL-код - чтобы убедиться, что он находится в форме, которую оптимизатор запросов Jet / ACE может правильно оценить, чтобы создать наиболее эффективный план выполнения. Почему кто-то хотел бы пропустить выгоды, которые приходят от этого, совершенно сбивает меня с толку.

Я все еще использую конструктор запросов и занимаюсь этим более 16 лет. Конечно, я часто использую его только для запуска своего SQL, а затем манипулирую результатами в коде, но это гораздо проще сделать, чем пытаться писать сложные соединения или правильно квалифицировать все, набрав все это.

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

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

1 голос
/ 11 января 2011

Если рассматриваемая СУБД - Microsoft SQL Server, используйте Management Studio. Он имеет много, гораздо больше функций производительности, которые вы не найдете в Access.

0 голосов
/ 16 января 2011

Я думаю, что вы не понимаете - SQL Server Management Studio имеет ЛУЧШЕ проектных возможностей, чем MS Access.

Вы просто хотите Query-By-Design?

Вы можете выделить ANY SQL Statement и щелкнуть правой кнопкой мыши «Design Query in Editor»

0 голосов
/ 11 января 2011

Проектирование / Написание запросов может быть сделано любым из инструментов. Главное - это хранение данных. MS Access не настоящий движок базы данных. Попробуйте покончить с Access в качестве базы данных.

Как профессионал, я всегда буду выбирать SQL Server вместо Access. Если у меня нет полноценного SQL Server, я постараюсь использовать «SQL Server 2008 Express с расширенными службами».

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