Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
vuoi
o PayPal
tutte le volte che vuoi
Approfondiremo 4 argomenti:
- Algebra relazionale
- Linguaggio SQL
- Modello ER
- Normalizzazione
Prima di affrontare questi 4 argomenti, facciamo un'introduzione di alcuni concetti che ci permetteranno di capire bene i 4 argomenti di cui siamo interessati. Partiamo dall'inizio:
Che cos'è l'informatica?
L'informatica è una scienza basata sul calcolatore cioè rappresenta l'informazione a livello del calcolatore. Nell'Accademia di Forlì viene data la seguente definizione:
"Scienza del trattamento razionale, per mezzo di macchine automatiche dell'informazione, considerata come supporto alla conoscenza umana e della comunicazione".
Analizziamo questa frase:
- "trattamento razionale dell'informazione per mezzo di macchine automatiche" vuol dire semplicemente che l'informazione viene gestita ed organizzata per mezzo di computer (calcolatori, macchine automatiche)
- "supporto alla conoscenza umana" perchè oggi, quando ho molte informazioni da gestire, per un umano c'è il rischio di dimenticare qualcosa mentre per il calcolatore tale problema non si pone perchè il calcolatore è stato progettato proprio per questo.
Nello svolgimento di queste attività sia a livello individuale sia in organizzazioni è importante che tutte le informazioni vengano gestite in modo efficace e siano sempre disponibili: per questo si parla di:
- Sistema informativo: riguarda tutte le informazioni necessarie a realizzare la richiesta del cliente che sia un database, un software, un sito web, applicazioni
Ad esempio, volendo realizzare un database per un'azienda, devo analizzare i requisiti cioè devo parlare con le aziende per capire cosa realizzare il database
SISTEMA INFORMATICO
Informazioni di interesse per un’azienda potrebbero essere: Materiali, prodotti, fornitori… La tecnologia Hardware/Software di un sistema informatico viene chiamata SISTEMA INFORMATICO, e quindi garantisce che i dati del sistema informativo vengano conservati in modo permanente sui dispositivi su cui vengono memorizzati, aggiornati e così sempre accessibili.
Nei sistemi informatici le informazioni vengono rappresentate per mezzo di DATI che hanno bisogno di essere interpretati per fornire informazioni. Ad esempio, la stringa Ferrari e il numero 8, scritti su un foglio di carta sono due dati e da soli non significano niente. Se il foglio di carta è relativo alle ordinazioni presso un ristorante, allora si può dedurre che è stato prenotato il tavolo n.8 con il nome "Ferrari". Ovviamente, un foglietto con gli stessi dati sul cruscotto di un radiocronista sportivo avrebbe un significato molto diverso. Ciò che identifica le caratteristiche del dato, viene chiamato METADATO. Nel momento in cui i dati devono essere archiviati, entra in gioco il DATABASE.
DATABASE
Un database è un archivio di dati che viene gestito tramite software DBMS (Database Management System).
DATABASE + DBMS = DATABASE SYSTEM
Quindi il Database system è costituito:
- Da un insieme di memorie di massa (Hard disk) su cui vengono salvati i dati;
- Da un software (DBMS) che è un server e quindi gestisce completamente il sistema (tramite questo server gli utenti (client) si collegano agli archivi).
Ogni database viene progettato per uno specifico ente (università banca ASL). Così la progettazione di un database prevede uno schema generale che sarà poi adattato all’ente che lo utilizza. È ovvio che lo stesso ente può avere più database al suo interno che vengono gestiti dallo stesso DBMS.
DATI GESTITI DAI DBMS:
Il DBMS è in grado di gestire collezioni di dati (database) che siano:
GRANDI:
Le basi di dati sono grandi, nel senso che possono avere anche dimensioni elevatissime e che, in generale, molto maggiori della memoria centrale disponibile nei dispositivi utilizzati. Quindi sono archivi che non possono essere gestiti in RAM, che è un livello di memoria rapido e volatile. Ciò implica che il database gestisce i dati in tempo reale, e che pone le RAM solo da sostituibilmente la velocità del dispositivo che sto utilizzando, ha bisogno di una velocità "estrema" che le RAM di oggi non mi permettono di avere. Ad esempio, se ho bisogno delle mie informazioni universitarie, il DBMS deve fornirmele subito (in tempo reale), non posso aspettare anche solo pochi minuti. A seconda della grandezza, i database si distinguono in:
- Transazionali: (500 Byte) ➔ Tratteremo questi
- Decisionali (10 TeraByte) ➔ Utilizzati per banche, aeroporti
- Scientifici: (500 TeraByte) ➔ Utilizzati per banche, aeroporti.
Ovviamente, possono esistere anche database "piccoli", ma i sistemi devono poter gestire i dati senza porre limiti alle dimensioni, a parte quelli fisiche dei dispositivi.
CONDIVISE:
Le basi di dati sono condivise, nel senso che più applicazioni e più utenti possono accedere agli stessi dati contemporaneamente. Ad esempio:
- Se accedo io al GOTO, anche tutti gli altri studenti possono accedervi e, nel caso limite di prenotiamo tutti alla stessa appello, leggiamo lo stesso dato. In questo modo si riduce la ridondanza dei dati, poiché si evitano ripetizioni e conseguentemente si riduce anche la possibilità di inconsistenze. Per garantire l'accesso condiviso ai dati da parte di molti utenti che operano contemporaneamente il DBMS dispone di apposite meccanismi come
- il controllore della concorrenza
UTENTI FINALI:
Sono coloro che utilizzano il database tramite interfacce grafche perchè ignorano completamente la struttura del database e le DBMS.Si distinguono 3 categorie:
-
Casuali: sono coloro che accedono al database occasionalamente, cioè quando c’è bisogno di effettuare aggiornamenti o formulare nuove interrogazioni per garantire una maggiore efficienza del database. Essi sono esperti anche rispetto al linguaggio che utilizzano e le tecniche casuale i sta ad indicare il fatto che le interrogazioni specificate da utenti cosidetti non sono predefinite.
-
Parametrici: riguarda la maggior parte degli utenti finali che utilizzano funzioni predefinite cioè programmate in precedenza e testate per:
- Accedere al database in maniera ripetuta;
- Effettuare aggiornamenti, inserimenti ed interrogazioni. Ad esempio: se devo prenotarmi ad un’esame faccio click su prenota o fare funzioni di inserimento (inserimento il mio nome nell elenco dei prenotati a quell’esame) (aggiornamento).
-
Sofisticati: sono esperti e analisti che lavorano direttamente con il DBMS e analizzano i dati estraendo diverse informazioni dall’analisi dello stesso dato. Ad esempio:
- Vedere gli studenti iscritti all’università mi consente di fare statistiche riguardo;
- Alla percentuale di studenti in corso e fuori corso;
- A come variano il numero di iscritti alla facoltà negli anni;
- Del numero di laureati in tempo o fuori tempo.
Progettazione di una base di dati
Esistono 3 livelli di progettazione legati direttamente al DBMS che stiamo utilizzando:
- Progettazione Concettuale
È una modellazione ad alto livello che consente di esaminare i concetti, le associazioni tra gli stesi ed i vincoli che si desiderano dalla realtà. A questa progettazione è associato un modello concettuale che rappresenta ed esprime i dati e le caratteristiche del GORP (creazione, modifica, eliminazione, recupero). Con il modello concettuale si crea una struttura molto alta che tiene conto dei dati che si andranno ad usare, cioè contiene le caratteristiche generali del problema in esame.
- Progettazione Logica
Quando il modello concettuale è funzionante, vengono inseriti i dati e tale modello viene tradotto in un modello logico, direttamente direzionato sui DBMS, che rappresenti gli stessi dati in maniera corretta ed efficiente. Oggi questa traduzione viene fatto automaticamente tramite software.
- Progettazione Fisica
Viene fatta dai progettisti dei DBMS perché devono vedere come memorizzare le tabelle in memoria. A livello di memoria lavorano sempre con i puntatori xkè cpu non posse gestire aree di memoria con i valori (numeri). Però come avviene questo passaggio da numeri a puntatori non mi interessa perché lo fa automaticamente il DBRS. In realtà, esistono strutture precise per questo passaggio per cui ogni DBNS lo fa come vuole.
Perché questi 3 fasi sono ben definite. Il passaggio da una progettazione all'altra avviene automaticamente, cioè la traduzione avviene passo-passo seguendo regole ben precise. Posso decidere anche di saltare la progettazione concettuale e fare direttamente quella logica e fisica, ma quando i dati sono complessi di consigliare di fare tutte e tre del progettazione di una base di dati, cioè quella concettuale, logica e fisica.