Programiści baz danych robią wiele rzeczy. Najpierw projektują strukturę bazy danych, aby działała poprawnie z liczbą oczekiwanych rekordów. Projektowanie struktur, które działają poprawnie dla kilku tysięcy rekordów, może sprawić, że baza danych nie będzie nadawać się do użytku dla kilku milionów rekordów. Muszą także upewnić się, że dane zachowają integralność w czasie oraz że dane są zabezpieczone przed nieautoryzowanymi zmianami lub kradzieżą. Muszą dokładnie zrozumieć normalizację oraz czas denormalizacji i dlaczego. Muszą zrozumieć wydajność i sposób zapewnienia integralności danych. Muszą zrozumieć bezpieczeństwo i zapobiegać kradzieży lub złośliwej zmianie danych.
Wykonują zapytania dostrajające. Zmieniłem zapytania, których uruchomienie zajmuje kilka minut, na milisekundy. Zmieniłem proces, który trwał ponad 24 godziny, do mniej niż 30 minut. Projektują i utrzymują struktury indeksujące, które równoważą szybkość wstawek z szybkością selekcji.
Piszą złożone zapytania, w szczególności zapytania sprawozdawcze. Osobiście napisałem zapytania o długości ponad 1000 linii ze względu na złożoność tego wymagania. Wciąż musieli i biegli szybko.
Tworzą hurtownie danych i towarzyszące im procesy ETL, aby je wspierać. Często muszą pisać procesy, aby wprowadzić dane z innych źródeł, i muszą wymyślić, jak zamapować pola z bazy danych niektórych klientów na swoje, i nigdy nie są one ściśle dopasowane do typu danych, wielkości danych, wymaganych pól, wartości wyszukiwania, itp.
Muszą ustalić, jak dokonać refaktoryzacji, gdy zmieniają się wymagania bazy danych, bez szkody dla 100 000 000 rekordów, które już posiadają, i bez całkowitego zatrzymania korzystania z bazy danych. Duże bazy danych mogą obejmować tysiące tabel i przechowywanych procesów i funkcji zdefiniowanych przez użytkownika. Zrozumienie takiej struktury wymaga czasu i umiejętności, podobnie jak zrozumienie, na co wpłyną zmiany i jak.
Projektują sposoby audytu danych z powodów prawnych i odzyskiwania. Następnie projektują sposoby odzyskiwania danych z tych tabel kontroli. Badają problemy z danymi, aby ustalić, czy przyczyną problemu był błąd w procesie importowania, zły plik udostępniony przez innych lub złe wstawienie / aktualizacja aplikacji, czy też nieautoryzowany dostęp. Znajdują sposoby na naprawienie złych danych, gdy programiści aplikacji pozostawili otwartą dziurę dla hakerów do zaatakowania.
Często biorą udział w konwersji danych z jednego systemu do nowego. Czasami wymaga to przeniesienia danych z jednego produktu COTS do nowego, który firma właśnie kupiła. Podobnie jak w przypadku importu opisanego wcześniej, są to złożone procesy, których zaplanowanie i wykonanie może zająć miesiące i które wymagają obszernych testów. W przeciwieństwie do importu, programista bazy danych może nie mieć kontroli nad odmiennymi strukturami danych.