2009-03-29 6 views
9

프로그래머로서 필자는 쿼리 작성에 대한 관심을 높이고 싶습니다. 대학 시절에 몇 권의 SQL 서적을 읽었고 나머지는 지난 몇 년 동안 프로그래머로 일하는 것을 배웠습니다. 그러나 이러한 쿼리는 업무와 관련이 있기 때문에 '어렵거나 복잡한 것이 아닙니다.SQL 쿼리를 잘 수행하는 가장 좋은 방법

무엇을 제안 하시겠습니까? 몇 가지 질문을함으로써 지식을 가르치고 테스트 할 수있는 우수한 고급 SQL 서적이 있습니까?

감사합니다.

+0

사용 LINQ를 질문하기, 그리고 뒤로 SQL 문자열 값 ;-) –

답변

17

IMHO SQL 기술은 다른 프로그래밍 기술보다 멘토링이 필요합니다.

세 가지 주된 이유가 있습니다.

  1. 올바른 답을 줄 수있는 SQL 문을 쓰는 것이 가능합니다. 따라서 개발자들은 종종 "어이, 작동한다. (그리고 한 문장으로 모두 끝난다.) 나는 끝났어."라고 스스로를 끝내기도합니다. 일반적으로 그렇지 않으므로 다음 단계를 수행하는 유일한 효율적인 방법은 작업 내용을 검토하고 제안 (및 제안 이유)을 얻는 것입니다.

  2. 예상대로 스킬이 "일반"프로그래밍과 거의 같지 않습니다. 분해, 서브 루틴 등과 같은 원리는 일반적으로 맹목적인 골목길입니다.

  3. 실제 SQL 기술은 많은 테스트 기술이 필요합니다. SQL 쿼리 분석 도구를 안다면 거의 모든 쿼리에서 실패없이 SQL 실행을 평가할 수 있습니다.

그래서 귀하의 질문에 대한 답변은 가능한 한 많은 도움을 받으시기 바랍니다. 그리고 왜 "왜"물어 마지 않습니다.

+0

그래, 좋은 대답을 설계. 그러나 코드 검토, 테스트, 분석 도구는 기존 응용 프로그램 언어에서도 중요하고 간과되는 것이라고 주장 할 것입니다. –

+0

동의 함, 질문 없음. 휠을 떨어 뜨리는 데 시간이 오래 걸리므로 SQL을 사용하면 문제를 더 빨리 피할 수 있습니다. – dkretz

+2

좋은 답변 - 당신을 멘토 할 사람이 없다면 어떻게합니까? –

1

Ask Tom 사이트를 읽으면 고급 SQL을 사용하여 수행 할 수있는 작업을 이해할 수있었습니다. 그것은 오라클에 특화된 것이지만, 비꼬고 끔찍한 것입니다!

Ask Tom

또한, (어떤 경우) 그들은 당신이 사용할 수있다 충분한 경험을 가지고 데이터베이스 관리자에게 문의하십시오.

0

보다 편리하고 쉬운 방법을 찾고 (예 : MySQL 웹 사이트) 또는 (SO와 같이) 질문하는 것이 가장 쉽다는 것을 알고 있습니다. 이 두 가지 방법은 대부분의 SQL을 어떻게 배웠는지입니다. 그러나 이것은 기본 지식을 얻은 후에야있었습니다. 또한 시행 착오를 거쳤더라도 데이터베이스가 복잡해질수록 배우는 것이 더 많다는 것을 알았습니다.

3

나는 항상 SQL은 당신이 배우는 것으로 생각했다. 상당히 큰 데이터베이스의 모든 측면을 분석하기 위해 몇 주가 지나지 않아도 SQL을 작성해야하는 프로젝트에 자신을 발견했습니다. 많은 isntances에서 나는 모두 동일한 결과를 가져 왔지만 그것들을 다른 방법으로 가져 오는 많은 SQL을 작성했다. Sql Server Management Studio의 실행 경로 도구를 사용하여 쿼리 옵션을 검토하고 각각을 개선하고 마지막으로 상황에 맞는 "최적"을 선택할 수있었습니다. 여러 가지 SQL을 작성하는 이유나 목적을 찾을 수 있다면 DB에서 데이터를 짜내는 기술을 배우는 데 가장 좋은 촉매가 될 것입니다.

3
  1. 집합 이론
  2. 데이터베이스 이론, esp는.정규화의 규칙은
  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

관련 문제