Kto w kontekście tworzenia stron internetowych projektuje bazy danych? Pomimo całej masy informacji związanych z zapleczem web dev z przetwarzaniem po stronie serwera, modelowaniem danych itp., Aspekt równania projektowania bazy danych wydaje się być tajemniczo nieobecny.
Nie mówię o tym, kto konfiguruje fizyczną bazę danych, mam na myśli, kto projektuje logiczny model bazy danych, przeprowadza wywiady z użytkownikami, aby uzyskać informacje na temat potrzebnych pól, specyfikacji pól itp. .
Zdałem sobie sprawę, że projekt ( PROPER ) bazy danych nie jest małym zadaniem (czytam ten pager 672) i może z łatwością stanowić cały zawód. Jednak przeszukiwanie Internetu w górę i w dół doprowadziło do zaskakująco niewielkich wyników dla osób, które powinny poradzić sobie z tym zadaniem w kontekście web dev.
źródło
what those field specifications are
, jeśli twój projekt ma specyfikację, powinieneś być w stanie zidentyfikować swój model.Odpowiedzi:
Twoje pytanie dotyczy nie tylko aplikacji internetowych, ale wszystkich rodzajów aplikacji korzystających z zaplecza bazy danych.
Z mojego doświadczenia
Konkluzja:
AKTUALIZACJA:
Istnieją 3 rodzaje DBA:
Większość DBA to DBA produkcyjne, co jest dobre, ponieważ to oni odzyskują utracone bazy danych z uszkodzonych macierzy dyskowych w ciągu nocy. Ale nie uczestniczą aktywnie w procesie projektowania.
źródło
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).
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.
źródło