Siamo abituati a vivere in un mondo in cui informazionil'oggetto è quasi più importante dell'oggetto materiale stesso. Quando una nuova persona nasce, ottiene immediatamente un nome, eredita un cognome e patronimico (proprio secondo le leggi della programmazione orientata agli oggetti, sia che sia sbagliato), il primo documento viene sollevato su di lui - un certificato di nascita, tutti i suoi dettagli sono inseriti in vari registri. Man mano che cresce e si sviluppa, gli archivi di informazioni su di lui si moltiplicheranno e cresceranno: cartelle cliniche, documenti all'asilo, e poi a scuola, poco dopo l'ufficio di registrazione e arruolamento militare sarà interessato a lui, e così via per tutta la sua vita. Potresti pensare che tutta la vita umana sia dedicata solo a garantire che vari sistemi di gestione di database (DBMS) possano riempire le loro insaziabili viscere di informazioni. In qualche modo incomprensibile, continuiamo a considerarci - umani - la corona della natura, sebbene gli animali sembrino spesso più saggi di noi.
La maggior parte delle persone parla di tutte queste saggezzele informazioni non sono particolarmente ponderate. Vivono semplicemente in pace, di tanto in tanto compilano una serie di questionari, danno il consenso alla raccolta di informazioni aggiuntive su se stessi (o non ne sono nemmeno a conoscenza). Qualcuno elabora tutte queste informazioni, le sue funzioni includono la gestione dei database, che includono una varietà di informazioni. Questi possono essere dipendenti di banche, servizi per il personale, impiegati di archivi e molti altri. Ancora meno persone (programmatori e amministratori di sistema) devono personalizzare e mantenere i sistemi di gestione dei database, e talvolta crearli, con le proprie mani. La professione obbliga i programmatori a capire più chiaramente cosa sono le informazioni, come elaborarle e quali programmi sono adatti a questo.
Nell'insegnamento della professione di programmatore, traanche il sistema di gestione del database Access è in fase di studio. A rigor di termini, questo DBMS è il più stupido, poiché non fornisce la vera potenza dei server a pieno titolo: quando più persone lavorano contemporaneamente con un database, vengono bloccati frammenti di informazioni o persino intere tabelle, con grandi quantità di dati, appaiono malfunzionamenti e così via. Resta un mistero il motivo per cui l'accesso è generalmente incluso nel sistema educativo, perché i programmatori professionisti non lavoreranno con esso e tutti gli altri non vogliono sapere in che modo alcuni sistemi di gestione del database differiscono da altri. Sarebbe meglio, invece di Access, che gli studenti ricevessero le competenze per lavorare con PostgreSQL e MySQL, spiegando le differenze tra loro. È vero, entrambi questi DBMS funzionano solo come server, ovvero per creare un database completo, dovrai anche sviluppare un'applicazione client - qualcosa con cui gli utenti finali lavoreranno già. Ma tutta la programmazione professionale segue questo percorso e non dovresti reinventare la tua ruota.
E cosa comprende il concetto in generalesistema di gestione di database professionale? In primo luogo - la capacità di lavorare con grandi quantità di informazioni (il catalogo elettronico di una grande libreria può contenere milioni di descrizioni, per ognuna delle quali è possibile scoprire il prezzo, il numero di copie disponibili e in quali magazzini si trovano); in secondo luogo, lavorare contemporaneamente con molti utenti, ognuno dei quali riceve informazioni pertinenti (in altre parole, due venditori non saranno in grado di vendere una singola copia di un libro raro a clienti diversi). Terzo parametro: le informazioni sono protette da danni accidentali nei casi in cui la modifica è iniziata, ma non sono state completate correttamente. Ipoteticamente, puoi immaginare la seguente situazione: il negozio riceve il pagamento tramite bonifico bancario, i fondi vengono addebitati sul conto dell'acquirente e quindi devono essere accreditati sul conto del negozio, ma a causa di un errore, la seconda parte dell'operazione non è stata eseguita. Un DBMS competente esegue entrambe le parti dell'operazione all'interno di una transazione, che è completamente confermata (nel caso in cui tutto sia andato per il verso giusto) o completamente annullata (in caso di errore). A livello dell'acquirente, questo dà fiducia che se i fondi vengono addebitati sul suo conto, allora sono garantiti per essere accreditati sul conto del negozio.