SQL là gì? Tất cả những gì bạn cần biết về ngôn ngữ SQL đều nằm trong bài viết này

Những tố chất nên có khi làm SQL là gì?

SQL là gì? SQL là viết tắt của từ Structured Query Language, nghĩa là ngôn ngữ truy vấn dữ liệu. Có thể coi SQL là ngôn ngữ chung mà bất kì hệ thống DataBase quan hệ (RDBMS) nào cũng cần phải thỏa mãn.

Đọc bài phỏng vấn của ITviec với anh Hồng Minh Trí – người có hơn 7 năm làm việc với SQL để biết đầy đủ về SQL là gì & Những ebook học SQL đọc qua cho người mới khởi đầu khám phá về ngôn ngữ SQL.

Tham khảo thêm việc làm SQL Developer trên ITviec

SQL là gì?

SQL là gì? SQL là viết tắt của Structured Query Language, nghĩa là ngôn ngữ truy vấn dữ liệu. Có thể coi ngôn ngữ SQL là ngôn ngữ chung mà bất kì hệ thống DataBase quan hệ (RDBMS) nào cũng cần phải thỏa mãn, điển dường như: Oracle Database, SQL Server, MySQL…

Bất kể trung tâm tư vấn du học nào lớn cũng cần xây dựng một hệ thống để lưu trữ DataBase. Mọi thứ trong DataBase này sẽ được quy ra thành nhiều bảng, có mối quan hệ với nhau. SQL giúp làm chủ hiệu quả & truy vấn thông tin mau hơn, giúp bảo dưỡng thông tin đơn giản hơn.

Khi công ty lưu trữ thông tin dạng truyền thống như giấy hay file Excel thì sẽ có nhiều nguy cơ như bị mất, sửa, xóa… cũng như phải mất rất là nhiều thời gian để lục lại hồ sơ. Chưa kể, một số trường hợp sau khoảng thời gian thêm hoặc sửa thông tin, hồ sơ sẽ không còn hợp lệ.

Trong lúc, nếu lưu trữ thông tin vào một hệ thống DataBase, bạn chỉ cần gõ một câu lệnh SQL ngắn là đã có thể trích xuất được thông tin em cần. Việc thêm/xóa/sửa cũng được thực hiện một cách đơn giản, mau lẹ.

Để truy vấn & lấy dữ liệu từ các bảng này (nhằm đo đạc thành thông tin hữu dụng nào đó), người ta dùng đến SQL thông qua các câu query.

Tìm hiểu thêm: Tri thức cần biết về SQL Server

PL/SQL là gì?

PL/SQL là viết tắt của Procedural Language/Structured Query Language – một loại ngôn ngữ thủ tục dùng cho Oracle. PL/SQL là một extension (mở rộng) của riêng Oracle.

PL/SQL chào đời để suport thêm cho website service. Nếu như SQL có trách nhiệm truy vấn đến các bảng để trả về dữ liệu thì PL/SQL sẽ thực hiện những giai đoạn kế tiếp như: đóng gói kết quả, giải quyết cách hiển thị trên giao diện…

Công việc của SQL Developer

Công việc của một SQL Developer tùy theo vào yêu cầu của mỗi trung tâm tư vấn du học. Anh Trí chia sẻ,

Về căn bản, SQL giống như một tuyệt kỹ. Hầu hết developer nào cũng sẽ làm việc với SQL dù ít hay nhiều.

Chỉ có bank hoặc những trung tâm tư vấn du học có hệ thống dữ liệu cực lớn như thì họ mới tuyển developer chuyên làm việc với SQL & chỉ duy nhất SQL mà thôi.

Công việc của một SQL Devloper sẽ:

  • Thường xuyên trích xuất dữ liệu, đo đạc các giải trình
  • Nghiên cứu & phán đoán về tình hình tài chính công ty
  • Đề ra sách lược hoặc định hướng để cải tổ tình hình tài chính công ty
Xem Thêm  Cách làm cho href mở trong đoạn mã html liên kết tab mới - a href mở tab mới

Sót lại, công việc của một SQL cũng sẽ giống như những lập trình viên khác. Anh Trí chia sẻ thêm về công việc hiện giờ của anh khi học theo mô hình Scrum, chia ra làm nhiều Sprint khác nhau:

Mỗi sáng, anh thường họp với văn phòng bên Úc để giải trình tình hình công việc: Ngày hôm qua đã làm những gì, từ bây giờ sẽ làm gì kế tiếp, có khốn khó nào cần suport không… rồi mới khởi đầu vào công việc chính.

Công việc của anh là khắc phục từng story rõ ràng trong từng Sprint mà Scrum Master đã phân bổ cho mọi người. Những story này thường sẽ được chia điểm tùy thuộc mức độ cầu kỳ của requirement.

Phía KH cũng có ràng buộc là trong một Sprint, mỗi một developer phải làm tối thiểu bao nhiêu point đó, chứ không thấp hơn được.

Để khắc phục story, thời gian của anh vẫn xoay quanh việc coding & unit check (check lại các tính năng căn bản sau khoảng thời gian develop một tính năng nào đó), sau đó bàn trả lại cho Tester kiểm thử requirement.

Đôi lúc, đàn anh cũng sẽ review code chéo cho nhau khi được yêu cầu để bảo đảm mọi người đều có thể cải tổ tuyệt kỹ coding.

Ngoài giờ làm, anh Trí có sở thích chụp hình & đi du lịch đây đó

Những tố chất nên có khi làm SQL là gì?

Theo anh Trí, một người mong muốn làm về SQL thì nên sở hữu 3 tố chất sau đây:

  • Đầu tiên, nên có suy nghĩ lập trình căn bản:

Khi có suy nghĩ lập trình, có nền móng học về IT tại trường đại học rồi thì bạn sẽ làm quen với SQL rất nhanh chóng. Về căn bản, các ngôn ngữ lập trình chỉ khác nhau về cú pháp còn bản chất hay logic thì khá tương đồng.

Không những thế, anh Trí cũng chia sẻ thêm rằng điều này cũng không phải yếu tố bắt buộc vì anh thấy có nhiều bạn học kinh tế nhưng chuyển qua học & làm SQL cũng “ổn áp”.

  • Thứ hai, cần có khả năng tiếng Anh:

Theo anh Trí, việc học tiếng Anh có nhiều lợi nhuận:

  1. Đa số các ebook học SQL hay đều được viết bằng tiếng Anh. Có nhiều bài được dịch sang tiếng Việt nhưng vẫn chưa thật sự “chuẩn” & dễ hiểu.
  2. Khi làm việc trong môi trường trung tâm tư vấn du học nước ngoài, việc phải giao tiếp, tham gia các buổi họp với người nước ngoài là chuyện hiển nhiên nên khả năng tiếng Anh tốt sẽ là một lợi thế khi làm việc.

Nói về kinh nghiệm học tiếng Anh của mình thì anh chia sẻ rằng anh chính yếu học qua trọng điểm. Anh thực hành chuyện trò với thầy cô người bản xứ, làm bài tập về nhà, coi phim không phụ đề trên Youtube, cứ nghe đi nghe lại nhiều lần.

  • Thứ ba, cần có tính cảnh giác & tỉ mỉ:

Làm việc với dữ liệu mà sai một ly là đi một dặm.

Anh Trí khích lệ người mới làm về SQL nên thường xuyên đọc lại log server để biết được lý do sâu xa gây phát sinh lỗi. Hiểu rằng lý do thì lần sau mới tránh lặp lại lỗi tương đương.

Tham khảo thêm việc làm SQL Developer trên ITviec

Lộ trình sự nghiệp khi theo SQL là gì?

Cá nhân anh Trí thấy SQL Developer nói riêng, & Database Developer nói chung, có thể tiến triển theo 2 hướng tiến triển:

  • Với những ai có xu hướng kỹ thuật:
Xem Thêm  Phân tích cú pháp Javascript json: Cách phân tích cú pháp JSON trong Javascript - javascript cách phân tích cú pháp json

Bước kế tiếp thì bạn có thể cố gắng để trở thành Data Architect – người kiến trúc ra DataBase cho công ty. Mong muốn làm Data Architect thì yêu cầu bắt buộc là phải nắm vững được hệ thống trước đã nhé.

không dừng lại ở đó, Data Scientist cũng là địa điểm đáng suy xét. Ngoài học thức về SQL, em còn phải biết về xác suất đo đạc & ngôn ngữ lập trình khác, thường là Python.

Anh nhận định Data Scientist là hướng đi khá hay & tiềm năng, chẳng những với mảng database mà còn với nghề IT nói chung.

  • Với những ai có xu hướng về làm chủ:

Những SQL Developer tiến triển theo hướng làm chủ thì có thể làm Business Analyst hoặc Project Manager.

Ebook học SQL đọc qua

Sách về SQL thì anh Trí đề xuất những ebook học SQL sau đây sẽ phù phù hợp với người mới khởi đầu:

  • SQL For Dummies: Chỉ dẫn cách dùng SQL để xây dựng hệ thống làm chủ DataBase, kiến trúc database, truy xuất thông tin khi cần…

Còn nếu mong muốn khám phá riêng về Oracle SQL (rõ ràng là PL/SQL), anh đề xuất như sau:

  • Oracle PL/SQL For Dummies: lời giải tất tần tật các thắc mắc của những người mới khởi đầu về PL/SQL, kèm chỉ dẫn thực hành rõ ràng.
  • Oracle PL/SQL Programming: đọc giả sẽ hiểu hơn về lập trình PL/SQL & có những học thức khẳng định về cách làm việc hiệu quả với PL/SQL thông qua các chẳng hạn minh họa.
  • Learn About Oracle Database: chẳng thể bỏ qua trang chính của Oracle với rất là nhiều các học thức liên quan đến SQL, PL/SQL & Oracle Database.

Tìm hiểu thêm: 50 câu phỏng vấn SQL thường gặp

SQL Developer trong nghề nói gì?

  • “SQL sẽ không bao giờ chết”

Anh Trí chia sẻ rằng,

Anh thấy SQL chào đời rất lâu đời rồi & anh nhận định là SQL sẽ không khi nào chết.

Đa số các bank, trung tâm tư vấn du học tài chính lớn đều đang sử dụng SQL để phục vụ cho hệ thống quản trị DataBase Oracle. Mà em biết rồi đó, cái gì họ đã đầu tư nhiều tiền thì rất hiếm khi họ mong muốn biến đổi.

Không những thế, Thực tiễn thì mình học cái gì cũng như vậy, nên nhìn ra thị trường & tiên đoán xem nghề mình đang làm có còn chỗ đứng trong 5-10 năm nữa hay không, có còn tiến triển được nữa hay không.

Nên mình có thể linh động giải quyết được trào lưu của thị trường vì thị trường chẳng thể đứng im mãi một chỗ được. Nên anh cũng cam kết rằng các ngôn ngữ truy vấn khác rất cần thiết cho developer.

Tìm hiểu thêm bài viết: “Tôi không muốn học ngôn ngữ truy vấn rác nào khác, ngoài SQL” – Erik Bernhardsson

  • Câu query có chạy tốt hay không lệ thuộc vào dữ liệu ở mỗi môi trường
Xem Thêm  Tạo một nút sao chép vào khay nhớ tạm bằng Bootstrap - sao chép bootstrap vào khay nhớ tạm

Anh Trí kể về một trong những lỗi lầm mà anh đã từng mắc phải trong tiến trình làm việc,

Anh nhớ trước đó có một câu query anh viết chưa thực sự tối ưu nên anh quyết định thêm Oracle hint (diễn đạt dùng để chỉ dẫn Oracle đuổi theo ý mình) thì thấy code chạy mau hơn hẳn.

Ỷ y là code của mình ngon rồi, cool rồi, anh mang lên môi trường UAT (User Acceptance Testing). Đây là môi trường để mình check trước khi dùng thử cho KH.

Lúc này, những nhân sự ở các bộ phận khác cùng truy xuất vào câu query của anh để check thử thì bị treo, bị đơ toàn tập.

Sau thời điểm khám phá, anh phát hiện lý do bị lỗi nằm ở chính cái hint mà anh đã thêm vào. Nó chỉ chạy tốt trong môi trường development – nơi chỉ có 1 user là anh đang làm việc. Còn ở môi trường như UAT – nơi có nhiều user hoạt động song song thì nó lại chạy rất chậm.

Chính về thế, SQL Developer nên nhớ là câu query có chạy tốt hay không còn lệ thuộc vào dữ liệu ở mỗi môi trường. Không nên dựa hoàn toàn vào môi trường development. Dữ liệu ở môi trường này thấp hơn hẳn đối với môi trường production.

Kinh nghiệm của anh là nên chủ động check tất cả các trường hợp có thể xảy ra trên nhiều môi trường nhất có thể. Không nên bị động, không chờ Tester la làng thì mới bắt tay vào sửa.

  • Đi làm & đi học sẽ rất khác nhau

Có một sự thật ai cũng biết nhưng cũng cần phải nói lại đó là đi học & đi làm là hai môi trường hoàn toàn khác nhau.

Anh Trí kể về mẩu chuyện của chính mình khi đi đến với “phát hiện” này:

Khi học ở trường, anh phải tự kiến trúc ra nền tảng làm chủ dữ liệu riêng, phục vụ cho đề án chứ không có nền tảng làm chủ dữ liệu thực tiễn của công ty để thực hành. 

Anh không biết một hệ thống lớn sẽ hoạt động ra sao, chưa được tiếp xúc với performance issue, không biết câu query của mình sẽ chạy nhanh hay chậm khi mang vào môi trường có lượng dữ liệu lên đến hàng trăm GB…

Rồi đó, đi làm mới nhận thấy thực tiễn phũ phàng. Câu query của mình không hiệu quả, không trích xuất được đúng dữ liệu mình cần.

Cảm ơn anh Trí vì những chia sẻ rất chân thực & hữu dụng!

Tiểu sử:

Anh Hồng Minh Trí tốt nghiệp đại học Huflit nghề Phần mềm Engineering năm 2011. Anh đã từng làm việc cho rất là nhiều trung tâm tư vấn du học như FE Credit, Cosatech, BPC Banking Technologies, Amaris & hiện là PL/SQL Developer ở Hansen Technologies.

Tính đến nay, anh Trí đã có hơn 7 năm kinh nghiệm làm việc với SQL, PL/SQL cũng như hệ thống quản trị DataBase Oracle Database.

Nếu bạn nghĩ những chia sẻ này có thể giúp ích cho bạn bè hoặc cộng sự, đừng quên nhấn nút Share bên dưới nhé!

& đừng quên đọc qua việc làm SQL Developer tại ITviec!

Viết một bình luận