Review sách: SQL Antipatterns – Những sai lầm chết người khi làm việc với SQL

Giới thiệu

Mấy hôm trước, khi mình lên stackoverflow hỏi một số câu liên quan tới SQL thì nghe nhắc tới khái niệm SQL Antipattern. Khác với design pattern, anti pattern là những cách thiết kế để giải quyết vấn đề, nhưng sử dụng nó lại… gây ra nhiều vấn đề hơn. Một antipattern được nhiều người biết đó là hút thuốc lào thay cho thuốc lá, cách này cai được thuốc lá nhưng sẽ gây ra nhiều vấn đề vệ sinh và môi trường hơn.

Từ hồi dùng thứ này bố bỏ hẳn thuốc lá nhá
Từ hồi dùng thứ này bố bỏ hẳn thuốc lá nhá

Tìm hiểu sâu hơn, mình tìm thấy cuốn sách “SQL Antipattern” này. Cuốn này được đánh giá rất cao trên amazon, nói về những sai lầm dễ mắc phải khi thiết kế và sử dụng SQL Database. Nội dung rất hữu dụng với các bạn database administator hoặc back-end developer nhé.

Screen Shot 2016-08-14 at 12.54.58

Tóm tắt 

Nội dung sách bao gồm 4 phần nhỏ:

  • Phần 1: Antipattern trong thiết kế CSDL (Cấp Logical)
  • Phần 2: Antipattern trong thiết kế CSDL (Cấp Physical)
  • Phần 3: Antipattern khi viết Query
  • Phần 4: Antipattern khi làm việc với code

Bố cục sách khá rõ ràng, mỗi phần được chia ra làm nhiều chương, mỗi chương đề cập tới một design pattern. Cấu trúc của mỗi chương rất dễ hiểu, gồm 5 phần:

  • Vấn đề ta cần giải quyết
  • Sai lầm hay gặp, sử dụng Antipattern để giải quyết
  • Làm sao nhận ra Antipattern
  • Ưu nhược điểm của antipattern đó
  • Cách giải quyết đúng
Screen Shot 2016-08-14 at 13.26.34
Mục lục

Tác giả giải thích rất ngắn gọn và dễ hiểu những ưu/khuyết điểm mà các anti-pattern này mang đến. Thay vì giải thích dông dài, tác giả còn chịu khó kèm theo diagram và câu lệnh SQL, giúp ta dễ dàng hình dung vấn đề và cách giải quyết.

Screen Shot 2016-08-14 at 13.30.46
Một đoạn code mẫu

Phần 1 tới phần 3 khá hay, kiến thức trong những phần này rất bổ ích và có thể áp dụng được ngay. Phần cuối thì hơi thiên về ngôn ngữ lập trình, những bạn nào dùng PHP chắc sẽ thấy có ích, bản thân mình thì thấy nó hơi dư thừa.

Nhận xét

Cảm giác của mình sau khi đọc xong cuốn sách này là “từ ấy trong tôi bừng nắng hạ”, cảm thấy mình ngộ ra được nhiều điều mà trước giờ còn vướng mắc. Giọng văn trong sách khá đơn giản dễ hiểu, lại kèm theo nhiều diagram và SQL nên rất dễ hấp thu. Tuy nhiên, để có thể đọc hiểu cuốn sách này, bạn nên có chút ít kiến thức cơ bản về SQL (Table, row, column, index, v…v), cũng nên có một chút kinh nghiệm về thiết kế CSDL.

Chắc một số bạn sẽ hỏi: Ơ, thiết kế DB là việc của bọn Database Admin, mình chỉ việc dùng thôi mà, vậy thì đọc có lời ích gì ko? Cứ dọcdid nhé, vì sách cũng nhắc tới kha khá sai lầm khi ta viết query v…v đấy. Ngoài ra, nắm rõ về DB và thiết kế DB là chuyện gần như bắt buộc nếu bạn muốn làm full-stack developer.

12

Một số bạn sẽ thắc mắc: Ơ, bây giờ toàn dùng Hibernate, Entity Framework, v…v thì còn cần biết SQL làm gì? Về bản chất, những framework này vẫn tạo ra SQL thuần nhé. Để code chạy nhanh, bạn phải tìm hiểu về bản chất, biết cách index bảng v…v, do đó kiến thức trong sách là không thừa đâu.

Như mình đã nhắc đến ở đầu bài, các bạn back-end developer và database admin rất nên đọc cuốn sách này, các bạn sinh viên cũng thế. Khuyến khích các bạn mới học xong môn CSDL Nâng Cao đọc sơ sách một lần, sau khi đi làm được một thời gian, tiếp xúc với CSDL thì đọc lại một lần nữa cho thấm.

Đánh giá: 8.5/10

Bonus: Có một bác nào đó tốt bụng đã làm slide tóm gọn những điểm chính yếu của sách tại đây, bạn nào ngại đọc có thể vào xem ;).

Advertisements

One thought on “Review sách: SQL Antipatterns – Những sai lầm chết người khi làm việc với SQL”

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s