2009-03-29 3 views
9

Как программист, я хотел бы получить сильное преимущество при написании запросов. В годы учебы в колледже я прочитал несколько книг и остальное, что я только что узнал, работая программистом последние пару лет. Но поскольку эти запросы были связаны с работой ... они не были «сложными» или сложными.лучший способ добиться успеха с sql-запросами

что бы вы предложили? Есть ли хорошая передовая книга sql, которая будет преподавать, а затем проверять знания, задавая некоторые вопросы?

Спасибо!

+0

Использование LINQ для создания запроса, и назад инженер SQL строковое значение ;-) –

ответ

17

ИМХО SQL умение, больше, чем любые другие навыки программирования, требует наставничества.

Существует три основные причины.

  1. Вполне возможно (часто легко) написать инструкцию SQL, которая дает правильный ответ. Поэтому разработчики часто заканчивают тем, что говорят себе: «Эй, это работает (и все в одном заявлении), я закончил». Обычно это не так, и единственный эффективный способ сделать следующий шаг - пересмотреть свою работу и получить предложения (и причины для предложений).

  2. Навыки не так передаются из «обычного» программирования, как вы могли бы ожидать. Принципы, такие как разложение, подпрограммы и т. Д., Как правило, являются тупиками.

  3. Настоящий навык SQL требует такого же навыка тестирования. Вы действительно можете действительно оценить выполнение SQL, зная свои инструменты анализа SQL-запросов наизнанку и используя их в обязательном порядке почти для каждого запроса.

Так что ответ на ваш вопрос: получите как можно больше помощи, как можно раньше и часто. И не стоит отказываться спрашивать «Почему».

+0

Да, хороший ответ. Но я бы сказал, что инструменты анализа кода, тестирования, анализа важны (и игнорируются) для обычных языков приложений. –

+0

Согласен, без вопросов. Я думаю, что отказ от них затрудняет вам работу с SQL быстрее, потому что требуется больше времени, чтобы заметить, что колеса падают. – dkretz

+2

хороший ответ, кроме - что вы делаете, если вам некому наставлять вас? –

1

Я нашел, что чтение сайта Ask Tom помогло мне понять, что вы можете делать с расширенным SQL. Это Oracle специфический, но скучно саркастический и ужасающий!

Ask Tom

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

0

Я считаю, что проще всего задаться вопросом, можете ли вы найти лучший или простой способ и искать этот способ (например, на сайте MySQL) или задавать вопросы (например, на SO). Этими двумя способами я познакомился с большинством SQL. Но это было только после получения базовых знаний. Я также обнаружил, что чем более усложняется база данных, тем больше вы учитесь, даже если это пробная версия и ошибка.

3

Я всегда чувствовал, что SQL - это то, чему вы должны были учиться. Я нашел себя в проекте, который заставил меня писать SQL не останавливаться в течение нескольких недель, чтобы анализировать каждый аспект довольно большой базы данных. Во многих isntances я написал много SQL, которые все привели к тем же результатам, но пошло о получении их по-разному. Используя инструмент пути выполнения Sql Server Management Studio, я смог просмотреть варианты запросов и улучшить каждый и, наконец, выбрать «лучший» для ситуации. Если вы можете найти причину или цель написать кучу SQL, я верю, что это будет лучший катализатор, который вы можете получить для истинного изучения искусства доения данных из БД.

3
  1. теории множеств
  2. теории баз данных, особы.правила нормализации
  3. научиться читать план выполнения запроса
0

Удивительно, как научный метод переносится на многие различные области. В случае сомнений используйте научный метод.
Задать вопрос (Как получить хорошо SQL?)

Do Background Research (Research the topic) 

Construct a Hypothesis  (If I research and practice a lot of different methods, test them, and ask for advice from peers, then I will be good at sql!) 

Test Your Hypothesis by Doing an Experiment (Do it and see if it works!) 

Analyze Your Data and Draw a Conclusion 
    (Did it work, and what happened) 

Communicate Your Results 
    (Tell us how you got good so we can get good too) 
+0

да ладно ..... комментариев достаточно, я подозреваю – Caribou

Смежные вопросы