Beépített adatok
A számítógépes programok elsősorban adatokon végeznek számítási feladatokat, és újabb adatokat állítanak elő.
Bizonyos adatokat a programok eleve beépített formában tartalmaznak. Ilyen forma a literál és a konstans. Nyilvánvalóan ezekből nem lehet egyetlen programban sem túl sok, hiszen az jelentősen megnövelné a kód méretét.
A másik ok a programok valamilyen algoritmusban kódolt alakja. Az algoritmus pedig valamilyen problémakör megoldására szolgáló, ezen problémakörön belül általánosan használható módszer. Ez azt jelenti, hogy a programoknak nem csak azokkal az adatokkal kell működniük, amelyeket tartalmaznak, hanem tetszőleges adatokkal.
Senkit sem érdekelne egy olyan program, amelyik egy konkrét konstans tömb elemeit rendezi sorba, de sokkal izgalmasabb egy olyan program, amelyik bármilyen vektor elemeit képes sorba rendezni.
Adatbevitel billentyűzetről
A programok a munkájuk során felmerülő, változó adatokat futás közben töltik be egy külső forrásból.
Ennek minősül az is, amikor az adatokat billentyűzetről kérik be. Ez elég gyakori, gondoljunk csak egy könyvelőprogramra.
Ennek is megvannak azonban a maga korlátai. Senki sem használna olyan programot, amelyik több száz adatot kérne be billentyűzetről, mielőtt elkezdené a tényleges számolási munkát. Tehát a billentyűzetről történő adatbevitelt a programok akkor használják, ha kis mennyiségű, könnyedén beírható adattal dolgoznak.
Adatbevitel egér segítségével
Az egérrel történő adatbevitel nagyon gyakori manapság, gondoljunk a grafikus felületű Windows-os programokra. Ugyanakkor vegyük észre, hogy egyrészt az egérrel történő adatbevitel sok esetben lassabb, mintha azt a billentyűzetről kellene bevinni, valamint rendkívül erőforrás-igényes (memória, processzor, videokártya). A felhasználói felület tervezése és kivitelezése sok idejét leköti a programozónak.
Tehát az egérrel történő adatbevitelt is akkor használjuk, ha kis mennyiségű adatbevitelt vár el a program ebből az irányból.
Adatok kiírása képernyőre
Az előállított adatokat a program jellemzően a képernyőn jeleníti meg valamilyen formában. Ennek is vannak korlátai. Egy több ezer soros számoszlop a képernyőn megjelenítve eléggé áttekinthetetlen. Valamint bármikor bekövetkezhet áramszünet, és ekkor a képernyőre kiírt adatok elvesznek, azokat valószínűleg újra kell számolni.
Adatok és a file
Nagyon gyakori - főleg nagyobb mennyiségű adatok esetén -, hogy a programba az adatokat nem billentyűzet vagy egér segítségével kell berögzíteni, hanem valamilyen háttértárolón (jellemzően a HDD-n) tárolt fájlból olvassa. Ennek az az előnye is megvan, hogy ebbe az adatokat valószínűleg egy másik program írta bele, így azok felépítése következetes.
Hasonlóan gyakori, hogy az előállított adatokat a program fájlba menti. Ennek előnye, hogy nagyon sok adat elfér egy mai HDD-n, valamint az megőrzi a tartalmát kikapcsolás után is. További előny, hogy könnyedén lehet róla másolatot készíteni, és hordozni, átvinni másik számítógépre.
Adatok és az XML
A fájlokban történő adattárolás és visszaolvasás állandó problémája, hogy a fájlok belső szerkezete, felépítése nagyon változatos, valamint hogy a fájlok ebből a szempontból nem önleíróak. Ez azt jelenti, hogy ha a kezünkbe kerül egy fájl, nincs rá eszköz, hogy kiderítsük a belső felépítését anélkül, hogy meglenne az őt előállító program részletes dokumentációja.
A közismert kiterjesztésű fájlok (.bmp, .zip, .wav) belső szerkezete ismert, a leírásuk sok helyen olvasható. Bár egy ilyen fájl nem önleíró, de a benne tárolt adatok kinyerhetőek.
Az XML fájltípus azért terjedt el robbanásszerűen, mert tetszőlegesen bonyolult adatszerkezetek is leírhatóak vele, ráadásul önleíró. Egy XML-ben rejlő adatok pusztán az XML fájl alapján általában könnyedén szétválaszthatóak, felismerhetőek.
Cserébe azzal kell fizetni, hogy az XML fájlok aránylag nagy méretűek, és lassú a feldolgozásuk.
Adatok és az SQL szerverek
Nagyon gyakori a mai programokban, hogy olyan mennyiségű adatokkal dolgoznak, amelyeket már célszerűtlen fájlokban is tárolni. Ráadásul ezen adatokat gyakran egy időben több program is kezeli (bővíti, lekérdezi, módosítja). Ez esetben adatbázis-kezelő szervereket (SQL szerver) kell bevonni.
Egy adatbázis-kezelő szerver felelős az általa kezelt adatokért. Azoknak, akik dolgozni szeretnének ezekkel az adatokkal, be kell jelentkezniük. Ezáltal jogot kapnak bizonyos műveletekre (pl. vihetnek fel új adatokat), de elképzelhető, hogy bizonyos műveletekhez nem lesz joguk (pl. törlés).
Mindehhez a műveletekhez szabványos felületen, az SQL nyelven keresztül kell az utasításokat kiadni. Ezeket az adatbázis-kezelő szerver fogadja, ellenőrzi, hogy van-e jogunk a műveletet elvégezni, majd végrehajtja az utasításainkat.