Concetto di dati: definizione, esempi

Sommario:

Concetto di dati: definizione, esempi
Concetto di dati: definizione, esempi
Anonim

I dati sono solitamente associati alla programmazione e nel moderno mondo dell'informazione sono presentati in tre versioni logicamente equivalenti: dati descritti e utilizzati in un programma in un linguaggio di programmazione; dati in sistemi di banche dati; dati nei sistemi informativi distribuiti. La programmazione moderna ha concesso una relativa libertà solo alla prima variante della formalizzazione dell'informazione. Le seconde due opzioni sono forme più o meno affidabili di fornire informazioni e relazioni tra i suoi componenti.

Dati passati e presenti

La posizione fondamentale dei linguaggi di programmazione è la descrizione esatta di dati e algoritmi. I computer non "presentano" alcuna possibilità di incertezza: c'è qualcosa su cui agire e c'è un comando che esegue quell'azione.

Il concetto moderno si basa su una base molto più alta: c'è un dato, e cosa sarà esattamente è determinato nel luogo del suo utilizzo. In ogni caso, al momento dell'utilizzo, i dati vengono automaticamente controllati e convertiti nella corretta tipologia. Un moderno programmatore non è obbligato a occuparsi della loro descrizione preliminare e del rispetto della compatibilità dei tipi nell'algoritmo.

Dati passati e presenti
Dati passati e presenti

Processo di transizione:

  • dai dati digitati e la relativa descrizione obbligatoria prima dell'uso;
  • ai dati non digitati e libertà da qualsiasi obbligo di descriverli e utilizzarli.

In effetti, possiamo riconoscere il relativo rilassamento dei requisiti di formalizzazione: è disponibile solo nell'ambiente dei moderni strumenti di programmazione. In fase di esecuzione, il tipo di ogni dato è fisso e la sequenza dei comandi è ben definita.

Tipi e modelli

Matematica e fisica, commercio e produzione, economia e altre aree in cui si usano i numeri, hanno sempre operato con i dati e non hanno dato importanza al concetto di tipo. Il fatto che i numeri potessero essere interi o frazionari non aveva molta importanza.

Ogni formula specifica o azione specifica potrebbe fornire un numero intero, una frazione infinita, un numero reale o complesso. Finora, ci sono meraviglie della mente come infinitamente piccole e infinitamente grandi. Inoltre, questi miracoli hanno anche proprietà.

Non c'è ancora libertà nella programmazione. Tutto deve essere rigorosamente formalizzato. Il concetto di dati è, prima di tutto, un tipo:

  • intero;
  • booleano;
  • carro;
  • stringa e così via.

I nomi dei tipi possono differire nei diversi linguaggi di programmazione, ma c'è sempre un numero intero o reale, un valore booleano, un simbolo,linea. Ci sono ancora reliquie e idee specifiche rimaste: intero senza segno, codice, byte, parola, doppia parola, stringa di lunghezza fissa.

Reliquie e idee
Reliquie e idee

Il concetto di dati in un sistema di dati non ha libertà. Il linguaggio SQL - "internazionale" (c'è un dialetto per ogni database moderno) - non tollera imprecisioni non solo nei dati, ma anche nelle query sql. Un errore nella richiesta è garanzia dell'assenza di risultato. Non è affatto necessario parlare di violazioni delle descrizioni.

Modellare i processi di informazione e le rappresentazioni dei dati è l'unico modo sicuro per costruire una struttura in grado di evolversi e adattarsi a condizioni mutevoli.

Dinamica dell'originale

Le informazioni naturali sono in continuo cambiamento. Dare una descrizione e un concetto formale di un modello di dati in una specifica area disciplinare significa risolvere tre problemi:

  • definisci quali dati sono qui;
  • formalizzare la relazione tra loro;
  • descrivere i processi per modificare i dati e le relazioni.

Un esempio di set di dati di un semplice algoritmo in JavaScript: una copia ridotta del modello anche del più solido sistema di gestione di database.

È solo che nel secondo caso, esperti e specialisti, quando progettano strutture dati, tabelle e relazioni, di solito non vedono (è davvero difficile coprire una grande quantità di informazioni naturali) l'essenza delle cose, e si ottiene un insieme di dati ingombrante e non sviluppato, mentre nell'area tematica le informazioni sulla fonte circolano liberamente e facilmente.

Staticopossibile

È pratica comune JavaScript includere il codice allegato a una pagina e le funzioni assegnate agli eventi nei tag di pagina. In entrambi i casi, i tag di pagina definiscono i dati che una determinata risorsa Web accetta, modifica o crea.

Se concentri il codice del gestore con molta attenzione sugli eventi degli elementi e non sul codice della pagina nel suo insieme, questa è la migliore via d'uscita. Idealmente, quando il codice non introduce nuovi dati o non corregge i dati disponibili, ma si concentra su ciò che ha esattamente in un determinato momento.

In effetti, se definisci il concetto di "dati" come una descrizione minimamente statica delle informazioni di origine e lo segui, significa che hai una possibilità di successo.

Per quanto riguarda i database, le cose sono molto più complicate. Qualsiasi codice JavaScript "fornisce" funzionalità alla pagina. Qualsiasi database è una raccolta di tabelle, relazioni tra di esse, stored procedure, query e funzionalità disponibili dall'esterno.

La statica è il problema di qualsiasi algoritmo. Il moderno concetto di dati è statico: un numero, una stringa, un carattere e così via. Durante l'elaborazione o durante la scrittura su una tabella del database, tutto risulta senza intoppi. Ma quando l'originale acquisisce una dimensione o un significato diverso? Opzione uno: cambia il segno, ma i collegamenti e le richieste potrebbero rientrare immediatamente.

Statistiche e oggetti

Definire il concetto di "dati" come oggetto cambia radicalmente la situazione. L'oggetto ha una sua struttura. Qui puoi utilizzare qualsiasi descrizione di qualsiasi variabile. Il ruolo non giocherà. Un oggetto ha metodi attraverso i quali i dati sono disponibili. Dal momento che tuttoutilizzato nel campo della programmazione, ovvero tre metodi base: leggere, scrivere, modificare. Puoi aggiungere altro per confrontare, cercare, clonare, ecc.

L'area tematica impone una serie di proprietà su ciascun dato. Si scopre così che il concetto di dato si trasforma in una sorta di descrizione che può essere modificata in modo dinamico. Statico all'interno di un oggetto fornisce dinamiche al di fuori di esso.

Modificando la combinazione di descrittori statici all'interno di un oggetto, non devi preoccuparti della dinamica delle sue relazioni con altri oggetti.

Programmazione e presentazione dei dati

Che cosa sono i dati? La coscienza pubblica è già abituata all'informatica, lavora nelle nuvole e dispone di contenitori negli spazi virtuali. Ora, non solo i programmatori e gli utenti professionisti, ma anche le persone comuni sono competenti in materia di informazioni e loro utilizzo.

Opinione pubblica
Opinione pubblica

Ma cos'è la programmazione? Ad oggi, l'opinione pubblica dà la seguente definizione a questo concetto e ai suoi concetti:

  • Informazioni e dati sono i concetti di base utilizzati nell'informatica.
  • I dati sono in un certo modo osservazioni ricevute e registrate relative alla re altà circostante.
  • Sono semplici e complesse (strutture), primarie e secondarie.
  • Un database è una raccolta di materiali indipendenti presentati in modo sistematico in modo che possano essere trovati, modificati e utilizzati.

Quanto è obiettivo? Autori autorevolipensa così. La pratica reale tende a garantire che ogni area disciplinare determini il proprio sistema di dati corretto e dia ogni opportunità per costruire un buon modello dinamico.

Non è raro che un cliente (consumatore) imponga la propria opinione a un programmatore (progettista di database) su come e cosa fare. Dal punto di vista della programmazione, qualsiasi desiderio del cliente può essere esaudito con la massima precisione.

Hai bisogno di Oracle per risolvere il problema del budget per il mantenimento dell'approvvigionamento idrico rurale (edificio 21 nel villaggio) - bene. MySQL è necessario per organizzare un sistema di tracciamento per gli invii postali per tutti gli uffici postali in Russia - anche tutto funzionerà.

Puoi sempre comporre qualsiasi algoritmo e fornire accesso a qualsiasi rappresentazione di informazioni all'interno della definizione del concetto di dati, che è stabilito dallo sviluppatore del sistema di gestione del database o del linguaggio di programmazione. La domanda è un' altra: come farlo con costi minimi nella massima dinamica?

Banche dati, esempi

Si crea una base semplice senza un modello. I concetti base di dati e comunicazione sono piccoli, la funzionalità è molto semplice. Ad esempio, per un istituto di istruzione superiore è necessario:

  • tabella degli insegnanti;
  • tabella di gruppo (chiave e numero di gruppo);
  • tabella generale degli studenti (vengono utilizzate le chiavi di gruppo).

Il preside vuole conoscere i progressi degli insegnanti. La tabella degli insegnanti ha i campi:

  • cognome;
  • nome;
  • patronimico;
  • numero gruppo supervisionato.

La tabella degli studenti ha i campi:

  • cognome;
  • nome;
  • patronimico;
  • data di nascita;
  • GPA (per tutte le materie);
  • numero di gruppo.

Ci possono essere almeno due opzioni per il campionamento: usando il nome dell'insegnante, puoi andare al numero del gruppo e vedere tutti gli studenti e i loro punteggi medi, oppure tramite il cognome dell'insegnante e il cognome nome dello studente, puoi vedere il punteggio medio dell'ultimo.

Banca dati semplice
Banca dati semplice

Anche in una versione così semplice, i problemi sono garantiti e qualcosa dovrà essere cambiato. Situazione: l'insegnante si ammala, un altro mese lo sostituisce, il che significa che supervisiona due gruppi. C'è solo un campo sotto un numero di gruppo nella tabella dell'insegnante.

Per risolvere il problema, devi aggiungere un campo duplicato. E se due si ammalano, aggiungi tre campi. Così il tavolo degli insegnanti inizia a crescere da zero.

C'è un' altra opzione: sostituire il campo numerico della chiave di gruppo con uno simbolico. Quindi, ogni volta che selezioni, dovrai convertire la stringa in una sequenza di chiavi e una query sql si trasformerà in più.

Un esempio più promettente non è creare tabelle, ma oggetti. Quindi l'insegnante è un oggetto e può avere diversi gruppi supervisionati. Ma è sempre un oggetto. L'oggetto insegnante ha una chiave univoca, ma può avere più gruppi supervisionati. Il gruppo ha anche una chiave univoca. Anche uno studente.

Tutte e tre le posizioni non solo sono disponibili all'interno dell'attività, ma possono essere ulteriormente sviluppate.

Basi orientate agli oggetti

Leader del settore dell'informazioneoffrire database relazionali classici. Sono testati a vita, funzionano, sono sicuri, affidabili e, in caso di problemi, consentono di ripristinare le informazioni.

I database orientati agli oggetti (OODB) hanno iniziato a essere sviluppati a metà degli anni '80 e, secondo autori autorevoli, sono promettenti fino ad oggi. Ma finora, a parte le teorie fondamentali e le disposizioni concettuali, non esiste OODB che abbia ottenuto la stessa classificazione e distribuzione di MySQL, MS SQL Server o Oracle in tutte le sue diverse incarnazioni.

banca dati OO
banca dati OO

E se la definizione, il concetto di dati, tipi, attributi, classi, gerarchie fosse proposta da uno sviluppatore il cui rating è insufficiente per creare una community di programmatori che professano la mentalità di questo OODB? Dovremo fare affidamento sulle nostre forze.

Più di trenta varianti di OODB sono state create in ambiente Linux. Ma dov'è la garanzia che il database creato non richiederà più funzionalità? L'ambiente Windows non offre molte garanzie in quest'area.

Soluzione orientata agli oggetti

Tuttavia, c'è una soluzione. Usando MySQL come esempio, puoi mostrare come le tabelle relazionali standard si trasformano in un modello orientato agli oggetti del problema da risolvere.

Un esempio del tuo OODB
Un esempio del tuo OODB

Non c'è un database qui, ma c'è un ambiente per formare il tuo sistema di oggetti. La potenza di MySQL viene utilizzata solo come memoria relazionale per le tabelle dalle righe di informazioni. La logica di utilizzo è determinata dallo stesso sviluppatore. In particolare, esiste una tabella is_cache. Ha tuttodiversi campi di base:

  • codice_proprietario;
  • codice_sessione;
  • codice_h;
  • a_sorpresa;
  • a_contents.

Il resto dei campi contiene funzioni di servizio. Questa tabella sta all'ingresso di qualsiasi richiesta e ne registra l'arrivo. Ciò che il modello di database funzionerà è determinato dal suo sviluppatore. Ciò che si adatta al campo del contenuto (a_contents) è determinato dagli oggetti del modello creato dallo sviluppatore.

Ci sono quattro cose in questa idea: hit, hit session, codice cronologia hit e contenuto specifico. Che cos'è una chiamata, quale sistema di oggetti dovrebbe essere costruito - è determinato dallo sviluppatore. Cosa si intende per sessione (processo di lavoro) è determinato dallo sviluppatore. Il codice della cronologia è la possibilità di eseguire il rollback delle richieste.

Le tabelle qui non hanno nulla a che fare con l'area tematica. C'è un controller delle chiamate (is_cache), c'è la registrazione (is_customs), c'è una cronologia delle chiamate (is_histories). Le tabelle rimanenti sono determinate dall'attività da risolvere.

In effetti, questa soluzione suggerisce di creare il tuo OODB basato sul modello di database di dominio costruito e sul problema da risolvere. C'è un enorme vantaggio qui: questo è il tuo concetto di dati, il tuo modello di presentazione e la relazione tra loro. C'è una base qui: un ottimo database relazionale. Non ci saranno problemi a cercare qualcosa ea fraintendere qualcosa.

Modello: sistema a oggetti + DBMS

È quasi impossibile cambiare qualcosa nella tecnologia dell'informazione. La vera rivoluzione informatica è ancora lontana. coscienza professionalegli sviluppatori di software non cambieranno le tradizioni classiche. Ma c'è ancora una via d'uscita dalla situazione.

Soluzione ideale
Soluzione ideale

Utilizzando moderni sistemi di gestione di database affidabili come base per creare un ambiente per l'esistenza del tuo modello, puoi ottenere un notevole successo.

In ogni caso, dovrai costruire una vista o un modello di dati per risolvere il compito, ma devi farlo correttamente: lascia che sia un sistema di oggetti e un buon DBMS sia il suo ambiente.

Consigliato: