Informatica 3 Liceo Scientifico Scienze Applicate/Modelli di Database: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Nessun oggetto della modifica
Riga 56:
<br />
Il '''modello reticolare''' è un database che mantiene la velocita' di quello gerarchico e ne aumenta la flessibilità di ricerca al prezzo di una maggiore complessita' a livello di sviluppo (programmazione).
La struttura è a ''grafo non orientato'' : le tabelle sono collegate da ''percorsi bidirezionali'' (cioe' percorribili in entrambi i sensi, a differenza di un arco orientato che esprime un particolare verso di percorrenza). In questo modello non esiste una tabella principale, tutte le tabelle sono ugualmenti importanti , i collegamenti fra tabelle sono percorribili quando ricerco l'informazione in entrambi i sensi ( dalla tabella A a quella B e viceversa) senza dover seguire un ordine particolare di ricerca come nel precedente modello.
Il grafico è il seguente: <br /> [[File:Reticolare.png|Reticolare]]<br />
 
Un grafo e' spesso usato per descrivere delle mappe stradali per poi poterne ricavare i percorsi ottimali, questa mappa stradale a grafo assieme alla tecnologia GPS hanno dato vita ai navigatori GPS.I grafi sono usati anche per descrivere la struttura di una rete (Internet ad esempio) e assieme alle tecniche di instradamento permettono l'invio dei dati da un utente all'altro.
Questo modello è usato anche per soprattutto per programmare i percorsi delle mappe multimediali o nei [https://it.wikipedia.org/wiki/Sistema_di_Posizionamento_Globale GPS].
 
<br />
[[File:Chiavi primarie.png|Chiavi primarie]]<br />
 
Ogni collegamento bidirezionale e' realizzato internamente con una tabella, con due colonne una che rappresenta la chiave primaria della prima tabella e una che rappresenta la chiave primaria della seconda. Concretamente se la prima tabella rappresenta i clienti e la seconda le fatture , pensando che il cliente con ID 7 (chiave primaria della prima tabella) abbia le fatture n.56 n. 23 e n. 345 (pensiamo che queste siano chiavi primarie della 2 tabella) allora nella tabella che rappresenta il collegamento devo trovare:<br />
Line 77 ⟶ 78:
questa tabella permette di trovare dato l'IdCliente (7) le sue fatture ( 56,23,345) e poi di ricavare i dati delle corrispondenti fatture nella tabella fatture, oppure, data una particolare fattura (23) di risalire al cliente (7) per poi leggere i dati di quel cliente presenti nella tabella Clienti (record 7)
<br />
[[File:Chiavi primarie.png|Chiavi primarie]]
 
 
[[File:Tabella.png|thumb|left|<div style="text-align:center">Esempio di <u>record</u></div>]]
 
<br />
 
 
=== Modello relazionale ===
Il '''modello relazionale''' fu inventato da un ricercatore dell'IBM ([https://it.wikipedia.org/wiki/Edgar_F._Codd E. F. Codd]) nel 1970. Quando la velocita' di elaborazione dei sistemi informatici aumento (seconda parte anni '80) il modello relazionale (meno efficiente in termini di velocita' di ricerca dei database gerarchico e reticolare) si affermò per la sua maggiore flessibilita' nella ricerca dei dati.Chi utilizza un database di questo tipo (RDBMS) può interrogare (query) il database mediante il linguaggio SQL, il RDBMS isolera' l'informazione richiesta e la restituirà all'utente. Database relazionali sono ad esempio Mysql (molto diffuso su Internet), Oracle , DB2 (IBM), ACCESS, Base(OpenOffice) etc.
Il '''modello relazionale''' fu inventato da un ricercatore dell'[https://it.wikipedia.org/wiki/IBM IBM] ([https://it.wikipedia.org/wiki/Edgar_F._Codd E. F. Codd]) nel 1970.
I database trattati durante l'anno saranno solamente quelli relazionali.
Il modello relazionale è descritto matematicamente. Una relazione è un sottoinsieme di tutte le possibili n-uple che abbiamo formato tramite la considerazione degli elementi degli n-insiemi di partenza.<br />
 
Il modello relazionale è descritto con un linguaggio matematico .Ad esempio le buone vecchie tabelle diventano:<br />
* Si considerino n insiemi D1 , D2, ..., Dn
* consideriamo tutte le n-uple possibili che possiamo formare prendendo un elemento da ciascun insieme
* si definisce relazione un sottoinsieme di tutte le possibili n-uple
 
<br />
[[File:Relazionale.png|Relazionale]]
 
<br/> I moderni DBMS relazionali assicurano:<br />
<br/>
*indipendenza fisica (non bisogna modificare il programma se decido di cambiare/spostare i supporti di memorizzazione
Questo è il modello attualmente più usato perché (grazie all' indipendenza fisica e logica) è il più sicuro e non duplica le informazioni.
* indipendenza logica (non bisogna modificare il programma se decido di cambiare la struttura delle tabelle(colonne) o di aggiungere rimuovere delle tabelle)
* inoltre elimina la ridondanza dell'informazione(duplicazione stessa informazione) e quindi i dati sono coerenti e il database non diventa inconsistente.( prima poteva capitare di registrare il numero di telefono del cliente su ogni fattura anche se era sempre lo stesso, se per sbaglio su una fattura scrivevo un numero diverso avevo una incoerenza (errore) e non riuscivo piu' a capire quale fosse il numero corretto e quindi il database diventava incosistente)
* gestione sicurezza nei confronti utenti non autorizzati e gestione limitazione operazione di inserimento ricerca (viste)
 
<br />
=== Modello ad oggetti ===
Il '''modello ad oggetti''' è definito ilrappresenta databasela delfutura futuroevoluzione dei database. Questo modello fa uso della programmazione ad oggetti e da la possibilità all'utente di definire nuovi tipi di dato (ad esempio il dato ; film,canzone,strada,contatore etc.) e trova applicazione nell'abito multimediale e cartografico o dei servizi
Questo modello, è infatti usato in ambito multimediale.