2009-03-29 29 views
9

Là một lập trình viên, tôi muốn nắm giữ mạnh mẽ các truy vấn viết. Trong những năm đại học của tôi, tôi đã đọc một vài cuốn sách sql và nghỉ ngơi tôi vừa mới học làm lập trình viên trong vài năm qua. Nhưng vì những truy vấn đó có liên quan đến công việc ... chúng không phải là 'cứng' hay phức tạp.cách tốt nhất để có kết quả tốt với các truy vấn sql

các bạn sẽ đề xuất điều gì? Có một cuốn sách sql tiên tiến tốt mà sẽ dạy và sau đó kiểm tra kiến ​​thức bằng cách đưa ra một số câu hỏi?

Cảm ơn!

+0

Sử dụng LINQ để tạo truy vấn của bạn, và ngược kỹ sư chuỗi giá trị SQL ;-) –

Trả lời

17

Kỹ năng SQL IMHO, nhiều hơn bất kỳ kỹ năng lập trình nào khác, yêu cầu tư vấn.

Có ba lý do chính.

  1. Rất có thể (thường dễ) để viết câu lệnh SQL cung cấp cho bạn câu trả lời đúng. Vì vậy, các nhà phát triển thường kết thúc tự nhủ "Hey, nó hoạt động, (và tất cả trong một tuyên bố,) tôi đã làm xong." Thông thường không phải như vậy và cách hiệu quả duy nhất để thực hiện bước tiếp theo là yêu cầu công việc của bạn được xem xét và nhận được đề xuất (và lý do đề xuất).

  2. Kỹ năng gần như không thể chuyển từ chương trình "thông thường" như bạn mong đợi. Các nguyên tắc như phân hủy, chương trình con, v.v. thường là ngõ hẻm.

  3. Kỹ năng SQL thực đòi hỏi nhiều kỹ năng kiểm tra. Bạn chỉ có thể thực sự đánh giá việc thực hiện SQL bằng cách biết các công cụ phân tích truy vấn SQL của bạn bên trong ra ngoài và sử dụng chúng mà không bị thất bại trên hầu hết mọi truy vấn.

Vì vậy, câu trả lời cho câu hỏi của bạn là: nhận được nhiều trợ giúp nhất có thể, sớm và thường xuyên. Và đừng ngần ngại hỏi "Tại sao".

+0

Yup, thoải mái câu trả lời. Nhưng tôi cho rằng việc xem xét mã, kiểm thử, các công cụ phân tích rất quan trọng (và bị bỏ qua) đối với các ngôn ngữ ứng dụng thông thường. –

+0

Đồng ý, không có câu hỏi. Tôi nghĩ rằng việc tránh chúng sẽ giúp bạn gặp rắc rối sâu hơn nhanh hơn với SQL, bởi vì phải mất nhiều thời gian để nhận thấy rằng các bánh xe đang rơi xuống. – dkretz

+2

câu trả lời hay, ngoại trừ - bạn sẽ làm gì nếu không có ai cố vấn cho bạn? –

1

Tôi đã tìm thấy trang web Ask Tom đã giúp tôi hiểu những gì bạn có thể làm với SQL nâng cao. Đó là Oracle cụ thể, nhưng bitingly mỉa mai và khủng khiếp!

Ask Tom

Ngoài ra, nói chuyện với người quản trị cơ sở dữ liệu của bạn (nếu bạn có bất kỳ), họ có rất nhiều kinh nghiệm mà bạn có thể tận dụng.

0

Tôi thấy dễ nhất là tự hỏi liệu bạn có thể tìm cách tốt hơn hoặc dễ dàng hơn và tìm kiếm theo cách đó (như trên trang web MySQL) hoặc đặt câu hỏi (như trên SO). Hai cách này là cách tôi đã học phần lớn SQL. Nhưng đây chỉ là sau khi có kiến ​​thức cơ sở. Tôi cũng thấy rằng càng có nhiều cơ sở dữ liệu được tuân thủ, càng có nhiều bạn học, ngay cả khi nó là do thử và sai.

3

Tôi luôn cảm thấy rằng SQL là thứ bạn phải học bằng cách thực hiện. Tôi thấy bản thân mình trong một dự án buộc tôi viết SQL không dừng lại trong vài tuần để phân tích mọi khía cạnh của một cơ sở dữ liệu khá lớn. Trong nhiều isntances tôi đã viết nhiều câu lệnh SQL mà tất cả kết quả trong cùng một kết quả nhưng đã đi về nhận chúng theo những cách khác nhau. Sử dụng công cụ đường dẫn thực thi của Sql Server Management Studio, tôi đã có thể xem xét các tùy chọn truy vấn và cải thiện từng tùy chọn và cuối cùng chọn "tốt nhất" cho tình huống. Nếu bạn có thể tìm thấy một lý do hoặc mục đích để viết một loạt các SQL tôi tin rằng đó sẽ là chất xúc tác tốt nhất bạn có thể có để thực sự học nghệ thuật vắt sữa dữ liệu từ DB.

3
  1. đặt lý thuyết
  2. lý thuyết cơ sở dữ liệu, đặc biệt.các quy tắc của bình thường
  3. học cách đọc một kế hoạch thực hiện truy vấn
0

Thật ngạc nhiên là phương pháp khoa học mang sang nhiều lĩnh vực khác nhau. Khi nghi ngờ, hãy sử dụng phương pháp khoa học.
hỏi Đặt câu hỏi (Làm thế nào để giỏi 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

vâng đúng ..... nhận xét gần đúng là tôi nghi ngờ – Caribou

Các vấn đề liên quan