Pemrogram basis data melakukan banyak hal. Pertama mereka merancang struktur basis data sehingga akan berfungsi dengan baik dengan jumlah catatan yang diharapkan. Struktur desain yang berfungsi baik untuk beberapa ribu catatan dapat membuat database tidak dapat digunakan pada beberapa juta catatan. Mereka juga perlu memastikan data akan menjaga integritasnya dari waktu ke waktu dan bahwa data tersebut aman dari perubahan atau pencurian yang tidak sah. Mereka harus benar-benar memahami normalisasi dan kapan harus melumpuhkan dan mengapa. Mereka harus memahami kinerja dan cara memastikan integritas data. Mereka harus memahami keamanan dan bagaimana mencegah data dicuri atau diubah dengan jahat.
Mereka menampilkan permintaan. Saya telah mengubah kueri yang memerlukan waktu beberapa menit untuk berjalan ke millseconds. Saya telah mengubah proses yang membutuhkan waktu lebih dari 24 jam untuk berjalan menjadi kurang dari 30 menit. Mereka mendesain dan mempertahankan struktur pengindeksan yang akan menyeimbangkan kecepatan menyisipkan melawan kecepatan pemilihan.
Mereka menulis kueri kompleks terutama kueri pelaporan. Saya pribadi memiliki pertanyaan yang panjangnya lebih dari 1000 baris karena rumitnya persyaratan. Mereka masih harus dan memang berlari cepat.
Mereka membuat gudang data dan proses ETL yang menyertainya untuk mendukung mereka. Seringkali mereka perlu menulis proses untuk membawa data dari sumber lain dan harus mencari tahu cara memetakan bidang dari beberapa basis data klien ke sumber mereka dan ini tidak pernah cocok dalam jenis data, ukuran data, bidang yang diperlukan, nilai pencarian, dll.
Mereka harus menentukan cara memperbaiki karena persyaratan basis data berubah tanpa merusak 100.000.000 catatan yang sudah mereka miliki dan tanpa menghentikan penggunaan basis data. Database besar dapat melibatkan ribuan tabel dan procs tersimpan dan fungsi yang ditentukan pengguna. Memahami struktur seperti itu membutuhkan waktu dan keterampilan seperti halnya memahami apa yang akan dipengaruhi oleh perubahan dan bagaimana.
Mereka merancang cara untuk mengaudit data untuk alasan pengaturan dan pemulihan. Mereka kemudian merancang cara untuk memulihkan data dari tabel audit tersebut. Mereka meneliti masalah dengan data untuk menemukan apakah masalahnya berasal dari bug dalam proses impor, file buruk yang disediakan oleh orang lain atau insert / pembaruan buruk dari aplikasi, atau dari akses yang tidak sah. Mereka menemukan cara untuk memperbaiki data yang buruk ketika programmer aplikasi membuka lubang bagi peretas untuk menyerang.
Seringkali mereka terlibat dalam konversi data dari satu sistem ke sistem baru. Terkadang ini melibatkan pemindahan data dari satu produk COTS ke yang baru yang baru saja dibeli perusahaan. Seperti impor yang dijelaskan sebelumnya, ini adalah proses kompleks yang dapat memakan waktu berbulan-bulan untuk merencanakan dan melaksanakan dan yang memerlukan pengujian ekstensif. Tidak seperti impor, pemrogram database mungkin tidak memiliki kontrol atas struktur data yang berbeda.