Nguyên tắc thiết kế CSDL
Trước khi bước vào việc thiết kế Database bạn cần nắm một số nguyên tắc quan trọng sau:
Thiết kế database, hay cũng như thiết kế 1 phần mềm, một trang web, đều bắt đầu có quy trình gồm những bước cơ bản:
Đây chắc hẳn là bước mà một lập trình viên chưa có nhiều kinh nghiệm (như mình chẳng hạn) ít chú tâm nhất. Không cần phải nói thêm về tầm quan trọng của giai đoạn này, khi đi làm được một thời gian bạn sẽ thấy code thực sự không khó, maintain và thay đổi theo những nhu cầu của khách hàng còn khó hơn gấp vạn lần. Bạn sẽ phải dần dần thay đổi tư duy. Lập trình viên không phải là đâm đầu vào code mà không cần biết chuyện gì đang xảy ra, hãy suy nghĩ như những product manager, hãy suy nghĩ như mình là người tạo ra sản phẩm đó.
Rồi, mở đầu với database, ở đây là MySQL, rất phổ biến, hầu như ai cũng xài, hầu như ai cũng nghĩ nó dễ, mà hầu như ai cũng không nắm hết về nó. Ở đây, mình không quan tâm bạn dùng giao diện hay command line, vì đằng nào cũng ra kết quả như nhau.
Xác định yêu cầu một cách đầy đủ, cụ thể sẽ giúp cho việc thiết kế CSDL trở lên dễ dàng hơn. Luôn đặt ra câu hỏi:
Trước khi bước vào việc thiết kế Database bạn cần nắm một số nguyên tắc quan trọng sau:
- Chính xác
- Tránh trùng lặp
- Dễ hiểu
- Chọn đúng thuộc tính và kiểu thuộc tính
- Chọn đúng mối quan hệ
Thiết kế database, hay cũng như thiết kế 1 phần mềm, một trang web, đều bắt đầu có quy trình gồm những bước cơ bản:
- Phân tích yêu cầu.
- Phác thảo ý tưởng ra giấy, làm bản mẫu.
- Thực hiện.
Đây chắc hẳn là bước mà một lập trình viên chưa có nhiều kinh nghiệm (như mình chẳng hạn) ít chú tâm nhất. Không cần phải nói thêm về tầm quan trọng của giai đoạn này, khi đi làm được một thời gian bạn sẽ thấy code thực sự không khó, maintain và thay đổi theo những nhu cầu của khách hàng còn khó hơn gấp vạn lần. Bạn sẽ phải dần dần thay đổi tư duy. Lập trình viên không phải là đâm đầu vào code mà không cần biết chuyện gì đang xảy ra, hãy suy nghĩ như những product manager, hãy suy nghĩ như mình là người tạo ra sản phẩm đó.
Rồi, mở đầu với database, ở đây là MySQL, rất phổ biến, hầu như ai cũng xài, hầu như ai cũng nghĩ nó dễ, mà hầu như ai cũng không nắm hết về nó. Ở đây, mình không quan tâm bạn dùng giao diện hay command line, vì đằng nào cũng ra kết quả như nhau.
Xác định yêu cầu một cách đầy đủ, cụ thể sẽ giúp cho việc thiết kế CSDL trở lên dễ dàng hơn. Luôn đặt ra câu hỏi:
- CSDL sẽ được sử dụng như thế nào?
- Những thông tin gì cần được lưu vào CSDL?