ma sto ancora cercando di capire a che servono davvero i puntatori
i puntatori sono tipi di dati che rappresentano la posizione di elementi del programma come variabili, oggetti, strutture dati.
Per farti un esempio semplicistico è come un link. Ti indirizza all'oggetto ma non è l'oggetto stesso.
Nei linguaggi evoluti li usi continuamente, tutti i dati che non sono di tipo base (int,float,chat,byte, ecc...) in genere sono puntatori.
La variabile puntatore quindi non contiene il dato che hai salvato ma l'indirizzo o posizione dove si trova.
Punto debole: i database. Quale usare, come, quando e perché.
Usi quello più adatto allo scopo e quello che ti costa meno in termini economici.
Che vuol dire "più allo scopo"?
Alcuni Db consentono l'interrogazione/scrittura dei dati contemporaneamente a più applicazioni (di tipo server, quindi supportano protocolli di rete come ad esempio come MySQL e MSSQL, Pervasive ecc..) altri non lo permettono.
Alcuni sono più veloci di altri ma potrebbero non gestire archivi troppo grandi.
Come ha già scritto UDG ci sono i Database che sono multipiattaforma, cioè che hai a disposizione driver per accedere ai dati per diversi sistemi operativi, altri no.
Altre caratteristiche dei database: Relazionali, supportano trigger ricorsivi, supportano i permessi di accesso, ecc...
Quindi in base al tipo di dati e di operazioni che vuoi fare scegli il DB più adatto cioè quello gratis