Ta przedwczesna optymalizacja oznacza, że nie powinieneś w ogóle optymalizować. Widziałem więcej strasznie złych baz danych, ponieważ nikt nie chciał brać pod uwagę wydajności (krytycznej dla dowolnego systemu baz danych) w projekcie, ponieważ była to przedwczesna optymalizacja niż jakikolwiek inny problem z projektowaniem bazy danych. Śmieci, są znani zabójcy wydajności, przestań ich używać jako pierwszego wyboru.
Kolejny mit, że zbyt trudno jest refaktoryzować bazę danych. Nie, ale musisz zastanowić się, jak przeprowadzić refaktoryzację na etapie projektowania, aby zrobić to skutecznie. A tak przy okazji, im dłużej będziesz czekać na rozwiązanie tego irytującego problemu związanego z wydajnością, tym trudniej będzie to naprawić.
Kolejny zły mit, projektowanie baz danych powinno odzwierciedlać zasady OOP. Nie, bazy danych są zaprojektowane do pracy z zestawami, a nie zasadami OOP. Niektóre rzeczy związane z OOP powodują okropne problemy z wydajnością, a inne są po prostu niemądre z punktu widzenia bazy danych.
Wreszcie należy wymusić integralność danych w aplikacji. Bazy danych będą trwać dłużej niż aplikacja i utraciłyby reguły, gdy aplikacja zostanie zastąpiona, wiele aplikacji będzie miało do nich dostęp i często będzie konieczne uruchamianie bezpośrednich zapytań w celu naprawy rzeczy, które nie przechodzą przez aplikację. Nigdy nie widziałem bazy danych, która odmawia wymuszania integralności danych w bazie danych, która ma dobre dane.