Oft besteht eine starke Beziehung zwischen Progammen und Daten. Programme greifen auf sogenannte Datenbanken zu, um Daten auzulesen, abzuspeichern oder zu verändern. Die Sprache, mit welcher Datenbanken bedient werden, nennt man SQL.
Eine Software besteht aus einem Konglomerat aus Quellcode, Prozedur, Schnittstellen zu Datenbanken, aber auch diversen Modellen und Dokumentationen. Anders ausgedrückt, besteht die Software aus Prozeduren, Algorithmen und Dokumentationen.