Zależy, do czego służy baza danych.
W wielu aplikacjach (aplikacjach internetowych lub nie) baza danych jest ściśle związana z tą aplikacją, ponieważ służy jako trwały magazyn dla niej. Następnie baza danych jest koncepcyjnie częścią aplikacji, więc została zaprojektowana razem (i zakładasz, że żaden inny program nie uzyskałby istotnego dostępu do tej bazy danych ani jej nie aktualizował). BTW, trwałość można osiągnąć za pomocą innych środków niż baza danych, np. Zwykłe pliki tekstowe, pliki binarne (w szczególności pliki indeksowane à GDBM ), repozytoria git (lub inne VCS), katalogi lub drzewa plików, surowe partycje dysku, dedykowany sprzęt (np. flash), zdalne systemy plików, punkty kontrolnetechniki. W przypadku baz danych zaprojektowanych dla jednej aplikacji i z jedną aplikacją powinieneś zadbać o typowe wzorce pobierania i aktualizacji oraz projektować schemat bazy danych (i indeksowanie!) Z myślą o nich.
W niektórych sytuacjach baza danych jest sama w sobie ważnym i niezależnym zasobem i jest z góry zaprojektowana do użytku przez kilka różnych aplikacji (a nawet przyszłych). Następnie powinien być zaprojektowany niezależnie (i znacznie ostrożniej).
W szczególności niektóre aplikacje internetowe to tylko interfejsy internetowe do istniejących baz danych.
W wielu przypadkach (pomyśl o niektórych wiki jako przykład) dane są ważniejsze i cenniejsze niż aplikacje, które ich używają. Możesz zadbać o to, jak sprawić, by był przyszłościowy i móc go łatwo ewoluować (np. Używając lub definiując tekstowe i wszechstronne - najlepiej standaryzowane i udokumentowane formaty do tworzenia kopii zapasowych i przywracania).
Zdałem sobie sprawę, że projekt (PROPER) bazy danych nie jest małym zadaniem ...
Czytaj także o NoSQL , baz danych zorientowanych dokumentów , baz danych klucz-wartość , zarządzanie wiedzą , reprezentacji wiedzy i rozumowania , ontologie , systemy eksperckie , reguły biznesowe podejście , ERP , CMS . Być może rozważ użycie REDIS , MongoDB itp.