|
Appunti informatica |
|
Visite: 1883 | Gradito: | [ Picolo appunti ] |
Leggi anche appunti:I Database RelazionaliI Database Relazionali allora cosa sono questi famigerati Database relazionali? Piccola storia dei database assolutamente incompletaPiccola storia dei database assolutamente incompleta Probabilmente il più glorioso |
Piccola storia dei database assolutamente incompleta
Probabilmente il più glorioso (ed a tutt' oggi utilizzato) antenato dei database relazionali odierni può essere identificato con la sana e vecchia agenda telefonica. in effetti penso che se guardiamo come è fatta la nostra agenda scopriremo una notevole affinità con i sui parenti più tecnologici attuali. Infatti è organizzata tramite un indice (la serie di linguette sul fianco che ci permette di accedere più rapidamente a tutti i nominativi che iniziano con una certa lettera) che gestisce una tabella composta da colonne che identificano il tipo di dato sotto riportato (nome, numero di telefono, a volte indirizzo) all' interno delle registrazioni (vogliamo chiamarle con il termine inglese 'record'?) che , pur differendo l' una dall' altra per i dati riportati al loro interno 'hanno tutti la stessa struttura', cioè riportano le stesse informazioni nella medesima maniera.
Il primo tentativo di cui io sono a conoscenza compiuto dagli informatici per riversare questo tipo di oggetti in un 'coso' trattabile dalle loro grosse calcolatrici corrisponde al nome di CSV (Comma Separated Value), cioè un banalissimo file di testo dove ogni informazione (numero di telefono di pino, nome di gino, indirizzo di tino) è separata dalle altre tramite un carattere particolare (normalmente una virgola) ed ogni record (vedi definizione spora riportata, cioè la riga della nostra agenda) è separato dagli altri tramite un' altro carattere (normalmente il carattere di 'a capo'). Ovviamente questo sistema era decisamente embrionale, in quanto comunque per trovare all' interno di un file del genere una informazione specifica era spesso necessario scorrerselo quasi tutto ed in modo poco pratico per trovare quanto si ricercava.
la logica evoluzione del CSV fu l'ISAM (Indexed Sequential Access Method), che differiva dal CSV solo per il fatto che i record non erano 'buttati dentro a casaccio' (cioè in ordine di inserimento), bensì veniva definito un ordinamento (tipicamente nel caso della nostra agenda l' ordine alfabetico sui cognomi) che veniva sfruttato sia in scrittura ('dove devo mettere il record del telefono di Anna?' 'sotto la lettera A tra Anita ed Antonio') sia in lettura ('dove hai infilato il numero di telefono di Pietro?' ' lettera P, tra Paolo e Pinocchio') permettendo in questo modo di abbreviare incredibilmente i tempi di ricerca di una data informazione. Per riuscire poi a gestire ancora meglio il tutto si crearono anche delle specie di 'archivi sussidiari', detti indici, in cui veniva registrato solo l' ordine dei vari record senza tutte le altre informazioni, il che permetteva di andare a svolgere le proprie ricerche in questo 'riassunto' in modo molto più veloce (meno roba da leggere=ci metto di meno a leggerla) e poi 'puntare diritti' sul database completo per leggere tutto il record una volta che si sapeva dov'era
A questo punto parecchi matematici di notevole ingegno si misero a cercare metodi per rendere ancora più veloce l' accesso alle informazioni che ci servivano sfornando sistemi di ricerca dai nomi fantasiosi come 'ricerca dicotomica' o ' a farfalla' (che non è nostro interesse qui approfondire) , sviluppando così tutti quei sistemi oggi definiti 'Database non relazionali' (in contrapposizione ai database relazionali che vedremo dopo) di cui forse i più famosi sono stati i database B-Trieve e DBIII-like (clipper, DBIII, DBIV ecc)
con l'evoluzione di questi ultimi i database ebbero una notevole diffusione e quindi iniziarono a nascere richieste di affidabilità e di prestazioni sempre maggiori, con uno sviluppo teorico notevole dietro ad essi, che permetteva a questo punto di affrontare diversi problemi, di cui di seguito elenco quelli più conosciuti (forse da me: sicuramente un teorico dei database potrà aggiungerne altri milioni). sia chiaro, alcuni di questi problemi venivano egregiamente affrontati dai database non relazionali, ma raramente tutti insieme ed in maniera affidabile
Per risolvere tutti questi problemi in maniera soddisfacente si è dovuto cambiare il modo di 'pensare' i database, portando così alla nascita dei database relazionali
Appunti su: |
|