Datenbankprogrammierer machen viele Dinge. Zuerst entwerfen sie die Datenbankstruktur so, dass sie mit der Anzahl der erwarteten Datensätze ordnungsgemäß funktioniert. Konstruktionsstrukturen, die für einige tausend Datensätze einwandfrei funktionieren, können eine Datenbank bei einigen Millionen Datensätzen unbrauchbar machen. Sie müssen auch sicherstellen, dass die Daten im Laufe der Zeit intakt bleiben und vor unbefugten Änderungen oder Diebstahl geschützt sind. Sie müssen die Normalisierung genau verstehen und wissen, wann sie zu denormalisieren ist und warum. Sie müssen die Leistung verstehen und wissen, wie die Datenintegrität sichergestellt werden kann. Sie müssen die Sicherheit verstehen und wissen, wie sie verhindern können, dass Daten gestohlen oder böswillig verändert werden.
Sie optimieren Abfragen zur Leistung. Ich habe Abfragen geändert, die Minuten dauern, um zu Millseconds zu laufen. Ich habe einen Prozess geändert, der mehr als 24 Stunden in weniger als 30 Minuten ausgeführt hat. Sie entwerfen und verwalten Indexstrukturen, die die Geschwindigkeit der Einfügungen gegen die Geschwindigkeit der Auswahl abwägen.
Sie schreiben komplexe Abfragen, insbesondere Berichtsabfragen. Ich persönlich habe Anfragen geschrieben, die aufgrund der Komplexität der Anforderung mehr als 1000 Zeilen lang sind. Sie mussten und rannten immer noch schnell.
Sie erstellen Data Warehouses und die zugehörigen ETL-Prozesse, um sie zu unterstützen. Oft müssen sie Prozesse schreiben, um Daten aus anderen Quellen einzuspeisen, und müssen herausfinden, wie die Felder aus der Datenbank einiger Clients ihrer Datenbank zugeordnet werden können, und diese stimmen in Bezug auf Datentyp, Datengröße, erforderliche Felder und Nachschlagewerte nie genau überein. etc.
Sie müssen festlegen, wie eine Umgestaltung vorgenommen werden soll, wenn sich die Datenbankanforderungen ändern, ohne die bereits vorhandenen 100.000.000 Datensätze zu beschädigen und ohne die Nutzung der Datenbank vollständig zum Erliegen zu bringen. Große Datenbanken können Tausende von Tabellen und gespeicherten Prozessen sowie benutzerdefinierte Funktionen enthalten. Das Verstehen einer solchen Struktur erfordert Zeit und Können, ebenso wie das Verstehen, was und wie von Änderungen betroffen sein wird.
Sie entwerfen Möglichkeiten zur Prüfung der Daten aus regulatorischen und Wiederherstellungsgründen. Anschließend entwerfen sie Möglichkeiten, um die Daten aus diesen Prüftabellen wiederherzustellen. Sie recherchieren Probleme mit den Daten, um festzustellen, ob das Problem durch einen Fehler beim Importvorgang, eine fehlerhafte Datei, die von anderen bereitgestellt wurde, ein fehlerhaftes Einfügen / Aktualisieren aus der Anwendung oder durch nicht autorisierten Zugriff verursacht wurde. Sie finden Wege, die schlechten Daten zu beheben, als die Anwendungsprogrammierer eine Lücke für Hacker offen ließen, um anzugreifen.
Oft sind sie an Datenkonvertierungen von einem System auf ein neues System beteiligt. Manchmal müssen dabei Daten von einem COTS-Produkt auf ein neues Produkt verschoben werden, das das Unternehmen gerade gekauft hat. Wie bei den zuvor beschriebenen Importen handelt es sich um komplexe Prozesse, deren Planung und Ausführung Monate in Anspruch nehmen kann und die umfangreiche Tests erfordern. Im Gegensatz zu den Importen hat der Datenbankprogrammierer möglicherweise keine Kontrolle über die unterschiedlichen Datenstrukturen.