Ngày trước mình học thì có 3 cuốn này:
- Beginning database design from novice to professional: Cuốn này khá mỏng, nên bắt đầu từ đây.
- Database Design for Mere Mortals (hình như có bản 4th rồi đó): Cuốn này mình thấy khá đầy đủ về cả khái niệm lẫn example. Không quá khó hiểu.
- Relational Database Design and Implementation: Cuốn này thì example khó hiểu hơn chút.
Theo mình thì bạn nên bắt đầu với relational database trước. Mấy cuốn này mình thấy khá cơ bản và là nền tảng. Còn việc design model cho từng DBMS (SQL Server, Oracle, Postgres ...) thì nên học sau.
N(ot)o(nly)SQL nên để sau cùng, khi bạn đã thành thạo và quen thuộc với các hệ thống RDBMS.
Việc design database model thường xuất phát từ business logic nên ngoài việc hiểu các kiến thức, khái niệm technical bạn cũng phải hiểu business logic. Có hiểu được business logic thì mới design tốt được.
Ví dụ design một data mart cho Sale, Order ... có thể sẽ khác nhau giữa các business khác nhau.
Edit 2: Chỗ này bạn nên học cách sử dụng các report tool, học cách tạo các biểu đồ, report. Khi đó sẽ hiểu sâu hơn về dữ liệu của bạn, biết được cái gì có, cái gì thiếu, cái gì quan trọng, cái gì không quan trọng. Từ đó mới biết được nên chỉnh sửa data model của mình thế nào cho phù hợp.
Edit 1: Sau 1, 2 năm; để lên trình nữa thì cố gặm hết hai cuốn kinh điển này về Data Warehouse nữa nhé
- Building the Data warehouse - Bill Immon
- The Data Warehouse Toolkit - Ralph Kimball