Tối ưu hóa sớm đó có nghĩa là bạn không nên tối ưu hóa tất cả. Tôi đã thấy các cơ sở dữ liệu tồi tệ hơn vì không ai muốn xem xét hiệu năng (quan trọng đối với bất kỳ hệ thống cơ sở dữ liệu nào) trong thiết kế vì đó là tối ưu hóa sớm hơn bất kỳ vấn đề thiết kế cơ sở dữ liệu nào khác. Rác, có những kẻ giết người hiệu suất được biết đến, ngừng sử dụng chúng như là lựa chọn đầu tiên của bạn.
Một huyền thoại khác, quá khó để cấu trúc lại cơ sở dữ liệu. Không nhưng bạn phải xem xét làm thế nào để tái cấu trúc trong giai đoạn thiết kế để thực hiện nó một cách hiệu quả. Và BTW, bạn càng chờ đợi lâu để khắc phục vấn đề hiệu năng dựa trên thiết kế gây phiền nhiễu đó, thì càng khó khắc phục.
Một huyền thoại xấu, thiết kế cơ sở dữ liệu nên phản ánh các nguyên tắc OOP. Không, cơ sở dữ liệu được thiết kế để hoạt động với các bộ không phải là nguyên tắc OOP. Một số điều OOP sẽ gây ra các vấn đề hiệu suất khủng khiếp và những thứ khác chỉ là nỗi đau ngớ ngẩn trong các điều khoản cơ sở dữ liệu.
Cuối cùng, bạn nên thực thi toàn vẹn dữ liệu trong ứng dụng. Cơ sở dữ liệu sẽ vượt qua ứng dụng và sẽ mất các quy tắc khi ứng dụng được thay thế, các ứng dụng mulitple sẽ truy cập chúng và thường sẽ cần phải chạy các truy vấn trực tiếp để sửa những thứ không đi qua ứng dụng. Tôi chưa bao giờ thấy một cơ sở dữ liệu từ chối thực thi tính toàn vẹn dữ liệu trong cơ sở dữ liệu có dữ liệu tốt.