28
Le Basi Dati

Le Basi Dati. Occorre capire come si possono organizzare le informazioni su un computer e come possono essere ritrovate in momenti successivi

Embed Size (px)

Citation preview

Page 1: Le Basi Dati. Occorre capire come si possono organizzare le informazioni su un computer e come possono essere ritrovate in momenti successivi

Le Basi Dati

Page 2: Le Basi Dati. Occorre capire come si possono organizzare le informazioni su un computer e come possono essere ritrovate in momenti successivi

Le Basi Dati

Occorre capire come si possono organizzare le informazioni su un computer e come possono essere ritrovate in momenti successivi.

Page 3: Le Basi Dati. Occorre capire come si possono organizzare le informazioni su un computer e come possono essere ritrovate in momenti successivi

Le Basi Dati

- La memorizzazione dei dati- Il file system e la sua organizzazione- File sequenziali- Basi di dati gerarchiche e relazionali- Ipertesti e ipermedia

Page 4: Le Basi Dati. Occorre capire come si possono organizzare le informazioni su un computer e come possono essere ritrovate in momenti successivi

Il file system

Il File System è la prima forma di archiviazione dei dati strutturata con cui abbiamo a che fare. E’ tipicamente gerarchico e la sua organizzazione serve a dare una divisione logica ai contenuti di un disco, siano essi dati o programmi.In Unix esistono anche convenzioni sui nomi.

Page 5: Le Basi Dati. Occorre capire come si possono organizzare le informazioni su un computer e come possono essere ritrovate in momenti successivi

File sequenziali

L’elemento di archiviazione atomico di un file system è il file. Per sua natura è una sequenza di codici da 0 a 255, memorizzati in forma di byte.

Page 6: Le Basi Dati. Occorre capire come si possono organizzare le informazioni su un computer e come possono essere ritrovate in momenti successivi

Gli archivi

I programmi che vengono utilizzati per la creazione degli archivi sono normalmente chiamati programmi di DataBase e per utilizzare una figura sufficientemente esplicativa potremmo dire che questi programmi consentono il passaggio dalla scheda d'archivio cartacea alla scheda elettronica.

Page 7: Le Basi Dati. Occorre capire come si possono organizzare le informazioni su un computer e come possono essere ritrovate in momenti successivi

Gli archivi Un gestore di database permette di organizzare archivi secondo le strutture che preferiamo e riempirli di informazioni.Il successivo reperimento di tali informazioni diviene un'operazione assai semplice, sempre che si sia adottata una struttura giusta.

I topolini hanno, come sempre, perso qualche informazione al gruviera.

Page 8: Le Basi Dati. Occorre capire come si possono organizzare le informazioni su un computer e come possono essere ritrovate in momenti successivi

Gli archivi

Semplificando (e parecchio) potremmo cominciare col dire che il concetto alla base dei databasedatabase è quello di organizzare le informazioni più o meno come si fa in un dizionario.

Page 9: Le Basi Dati. Occorre capire come si possono organizzare le informazioni su un computer e come possono essere ritrovate in momenti successivi

Gli archivi Supponiamo, come esempio, di volere realizzare proprio un dizionario utilizzando il nostro computer, magari un dizionario bilingue. Se lo scrivessimo in forma di testo lineare, le nostre ricerche sarebbero disastrose. Infatti, cercando la congiunzione “e”, il programma di ricerca standard si fermerebbe ad ogni “e” che trovasse nel testo!!L'esigenza è quindi quella di strutturare correttamente le informazioni. Nel nostro caso potremmo tentare con:

lemma descrizione traduzione

Page 10: Le Basi Dati. Occorre capire come si possono organizzare le informazioni su un computer e come possono essere ritrovate in momenti successivi

Gli archivi La struttura centrale di questi programmi è il record (che può essere paragonato alla vecchia scheda) e i field (campi, che contengono ben distinti tra loro, gli elementi che sono contenuti nei vari record). Così una base di dati bibliografica sarà costituita di record che contengono informazioni sui vari volumi e ogni record sarà (per esempio) composto di un campo-autore, di un campo-titolo, di un campo-data, di un campo-editore, di un campo-luogo-di-edizione.

Page 11: Le Basi Dati. Occorre capire come si possono organizzare le informazioni su un computer e come possono essere ritrovate in momenti successivi

Gli archivi

Definita questa struttura fondamentale il programma per la gestione di una base di dati deve fornire una serie di funzioni elementari. Chi usa un DBase deve, ovviamente, essere in grado di: 1) creare un archivio; 2) definire la struttura di un record; 3) inserire dati nell'archivio; 4) ritrovare ed elaborare questi dati; 5) eliminare i dati indesiderati; 6) distruggere l'archivio.

Record NumberAutoreTitoloEditoreLuogo Edizione

Data

Praga magicaGiulio Einaudi Editore

Torino1973

Ripellino, Angelo Maria1

Page 12: Le Basi Dati. Occorre capire come si possono organizzare le informazioni su un computer e come possono essere ritrovate in momenti successivi

Gli archivi Definendo la struttura appena vista abbiamo descritto l'elemento minimo del nostro database/vocabolario/catalogo: il RECORD. In sostanza si tratta di una scheda elettronica con i campi predefiniti.Manca ancora di dare l'indicazione di quali siano le parti del record su cui intendiamo effettuare le nostre ricerche. Nel caso del nostro dizionario saranno lemma e traduzione, nel caso della base di dati bibliografica, per es., autore, titolo, editore…Queste saranno cioè le chiavi possibili del nostro database.

Page 13: Le Basi Dati. Occorre capire come si possono organizzare le informazioni su un computer e come possono essere ritrovate in momenti successivi

Gli archivi A questo punto potremo inserire tutte le schede che vogliamo, ma ogni volta che ne cercassimo una dovremmo:

dichiarare che chiavechiave usaredire quale valore della chiavechiave cerchiamo

In questo modo se cercassimo la congiunzione “e”, il sistema ci restituirebbe solo la scheda che avesse come valore della chiave il valore “e”.

Page 14: Le Basi Dati. Occorre capire come si possono organizzare le informazioni su un computer e come possono essere ritrovate in momenti successivi

Gli archivi 9In gergo computerese, interessandoci di database, incontreremo un certo numero di termini che è opportuno chiarire subito:indice: contiene l'elenco di tutte le chiavi;sortare: orrendo neologismo per dire ordinare. Ci si riferisce all'opportunità di ordinare alfabeticamente (o in altro modo) le schede di un database;cancellazione logica: indica che una certa scheda è segnata come cancellata, ma ancora, fisicamente, esiste;report: significa semplicemente stampa, organizzata, del database.Su molti di questi termini e concetti torneremo più avanti.

Page 15: Le Basi Dati. Occorre capire come si possono organizzare le informazioni su un computer e come possono essere ritrovate in momenti successivi

Due metodi di ricerca Poniamo di voler trovare un nome in un file. Le operazioni da compiere sono: aprire il file, leggere il file fino a che non si trova il nome cercato, fare ciò che vogliamo fare del nome ritrovato.Dopo di che immaginiamo di cercare con questo metodo un nome sull'elenco del telefono…

Se il cognome e il nome dell'abbonato ricercato cominciano per A faremo certo presto, altrimenti impiegheremo un tempo impossibile e rinunceremo.

Page 16: Le Basi Dati. Occorre capire come si possono organizzare le informazioni su un computer e come possono essere ritrovate in momenti successivi

Due metodi di ricerca Non ci vuole, però, molto a capire che mai e poi mai ci sogneremmo di scorrere l'elenco del telefono dall'inizio alla fine. Stiamo cercando un nome che inizia con la lettera G?Bene, apriremo l'elenco più o meno dove ci sembra che debba stare la G, controlleremo se abbiamo aperto il volume prima o dopo il punto desiderato e per approssimazioni successive arriveremo al punto giusto.

Page 17: Le Basi Dati. Occorre capire come si possono organizzare le informazioni su un computer e come possono essere ritrovate in momenti successivi

Due metodi di ricerca Ritroviamo questi due metodi di ricerca nel campo della gestione delle basi di dati e anche qui con prestazioni diverse. Possiamo certo cercare un'informazione dopo l'altra in modo sequenziale nel file (e alcune volte, per esempio utilizzando dati non ordinati, non si avrà altra strada), ma in questo caso dovremo rassegnarci ad aspettare tutto il tempo necessario alla laboriosa operazione e, soprattutto, abituarci all'idea di un tempo che cresce in maniera esponenziale col crescere della quantità delle informazioni contenute nell'archivio.

Page 18: Le Basi Dati. Occorre capire come si possono organizzare le informazioni su un computer e come possono essere ritrovate in momenti successivi

I file indiceMolto meglio se ci preoccupiamo di ordinare i dati (per esempio in ordine alfabetico) oppure se ci curiamo di costruire un file che contenga un elemento del record ordinato e che sia collegato al file di dati per mezzo di un puntatore (nel nostro caso potremmo utilizzare il numero di record). Il file di servizio potrebbe essere così organizzato:

Il record numero 1 del nostro file di servizio, ordinato alfabeticamente, verrebbe quindi posto dopo il record (magari numero 1000) che contiene il nome: CALVINO, Italo. Questo file si chiama file indice o (più all'antica) inverted file.

Record NumberAutore Ripellino, Angelo Maria

1

Page 19: Le Basi Dati. Occorre capire come si possono organizzare le informazioni su un computer e come possono essere ritrovate in momenti successivi

La ricerca binaria Dopo esserci costruiti una simile struttura di supporto sarà possibile viaggiare molto più spediti nella ricerca. Se, per ipotesi, il nostro file contenesse 10 record sarà sufficiente saltare la prima volta al record 5 o 6 (la metà), se non abbiamo centrato l'argomento della ricerca allora dobbiamo: controllare se l'elemento cercato si trova prima o dopo il punto in cui ci siamo posizionati, buttare la metà che non ci serve e saltare a metà della metà rimasta (poniamo 3). Di nuovo se non abbiamo beccato l'argomento della ricerca dobbiamo fare di nuovo il controllo: prima o dopo? e saltare a metà della metà della metà (poniamo 2). A questo punto delle due l'una o siamo sull'elemento cercato oppure l'elemento cercato si trova nel record numero 1.

Page 20: Le Basi Dati. Occorre capire come si possono organizzare le informazioni su un computer e come possono essere ritrovate in momenti successivi

La ricerca binaria Questo metodo di ricerca è detto metodo di ricerca binaria e ha il gran vantaggio di non vedere sensibilmente aumentare il tempo di ricerca col crescere dei dati. Basti riflettere sul fatto che nel nostro esempio abbiamo scartato al primo colpo 5 record che rappresentavano il 50% dell'intera base di dati, se il nostro archivio fosse stato composto di 1000 record avremmo potuto ugualmente scartare al primo colpo il 50% dell'intero archivio solo che questa volta avremmo eliminato 500 record. Al secondo colpo saremmo potuti saltare alla metà di 500 ed escludere così 250 record e così via.

Page 21: Le Basi Dati. Occorre capire come si possono organizzare le informazioni su un computer e come possono essere ritrovate in momenti successivi

Gli operatori logiciLe funzioni di ricerca, fondamentali in ogni query language, vengono enormemente potenziate con l'utilizzazione degli operatori logici and, or, xor, not che consentono di incrociare le informazioni contenute nell'archivio e di sottoporre a condizioni più complesse la ricerca. Così se nel nostro archivio composto, per ora, di un solo record cercassimo RIPELLINO and Mario la ricerca fallirebbe e non troveremmo nulla.

Page 22: Le Basi Dati. Occorre capire come si possono organizzare le informazioni su un computer e come possono essere ritrovate in momenti successivi

Un nuovo record

Record NumberAutoreTitoloEditoreLuogo EdizioneData

Notizie dal diluvio

Torino1969

Ripellino, Angelo Maria2

Giulio Einaudi Editore

Un'ultima riflessione ci viene suggerita dallo sdoppiamento subito dal nostro archivio (file di dati e file indice) nel momento in cui abbiamo cercato di migliorare le prestazioni della nostra base di dati. Poniamo di voler aggiungere un nuovo record al nostro archivio:

Page 23: Le Basi Dati. Occorre capire come si possono organizzare le informazioni su un computer e come possono essere ritrovate in momenti successivi

Un nuovo file indiceAppare evidente che una serie di informazioni contenute in questo record sono ridondanti: per esempio il nome dell'autore (ma anche editore e luogo edizione). Potremmo quindi immaginare una struttura in cui vari file vengano posti in relazione tra loro consentendo una più razionale gestione delle informazioni. Il nostro file indice potrebbe allora forse trasformarsi così

Record NumberAutore Ripellino, Angelo Maria

1 - 2

Page 24: Le Basi Dati. Occorre capire come si possono organizzare le informazioni su un computer e come possono essere ritrovate in momenti successivi

Un nuovo file datiMentre il file con i titoli conterrebbe semplicemente:

Record NumberTitoloEditoreLuogo EdizioneData

Notizie dal diluvio

Torino1969

2

Giulio Einaudi Editore

Record NumberTitoloEditoreLuogo EdizioneData

Praga Magica

Torino1973

1

Giulio Einaudi Editore

Page 25: Le Basi Dati. Occorre capire come si possono organizzare le informazioni su un computer e come possono essere ritrovate in momenti successivi

La basi di dati relazionali Il file autori, in questo caso, sarebbe messo in relazione con un file titoli per mezzo del campo record number.

L'operazione potrebbe poi essere ripetuta per i campi editore, luogo edizione e data per ottenere una base di dati relazionale più efficiente e meglio strutturata della base di dati gerarchica dalla quale eravamo partiti.

Page 26: Le Basi Dati. Occorre capire come si possono organizzare le informazioni su un computer e come possono essere ritrovate in momenti successivi

Le basi di dati relazionali Per costruire una base di dati relazionale è quindi necessario identificare gli elementi che costituiscono il nostro archivio (nell'esempio il campo autore) e gli attributi di questi elementi (titolo, editore, data, luogo). Sarà necessario, inoltre, identificare la relazione che collega elementi e attributi (nel nostro caso responsabilità intellettuale - authorship).

Page 27: Le Basi Dati. Occorre capire come si possono organizzare le informazioni su un computer e come possono essere ritrovate in momenti successivi

Le basi di dati relazionali Nella maggior parte dei DBMS non è richiesta la denominazione delle relazioni, ma l'esercizio che si fa nella loro individuazione ci garantirà sulla ragionevolezza delle relazioni immaginate e tornerà utile se affronteremo due settori dell'informatica con cui la teoria delle basi di dati confina tendendo a confonderisi: il problema dell'intelligenza artificiale e della rappresentazione della conoscenza.

Page 28: Le Basi Dati. Occorre capire come si possono organizzare le informazioni su un computer e come possono essere ritrovate in momenti successivi

Ipertesti e ipermedia

In realtà considerando ipetesti e ipermedia passiamo già ad una applicazione dei database, applicazione che può anche essere realizzata in modi diversi. Il concetto importante, in questo caso, è la possibilità di organizzare secondo relazioni implicite o esplicite, dati di natura eterogenea: testi, immagini, suoni e video. Al limite organizzandoli secondo lo schema concettuale che li accomuna nella nostra mente.