Basi di dati. Vantaggi degli archivi digitali Risparmio di spazio: sono facilmente trasferibili e...
-
Upload
maurizio-donato -
Category
Documents
-
view
213 -
download
0
Transcript of Basi di dati. Vantaggi degli archivi digitali Risparmio di spazio: sono facilmente trasferibili e...
Basi di datiBasi di dati
Basi di datiBasi di dati
Vantaggi degli archivi digitali
• Risparmio di spazio: sono facilmente trasferibili e duplicabili
• Risparmio di tempo: si può accedere ai dati più rapidamente, per consultarli o modificarli
• Non si è vincolati ad un supporto fisico: questo permette di gestire diversi tipi di dati
Basi di datiBasi di dati
Dall’utente alle informazioni
Utente
Bibliotecario
DBMS
Base di dati digitale
Base di dati fisica
SQL
Linguaggio
naturale
Basi di datiBasi di dati
Perché usare un DBMS?
•l'accesso ai dati è indipendente dalla loro rappresentazione e memorizzazione;
•le tecniche di accesso ai dati sono ottimizzate, in maniera da migliorare la performance delle interrogazioni ai database;
•sono possibili controlli di integrità dei dati;
•sono possibili controlli di accesso ai dati;
•è possibile un accesso multiutente.
Basi di datiBasi di dati
Modelli di datiUna base di dati, per essere di qualche utilità, deve necessariamente avere una struttura, un modello di organizzazione.
Tra quelli esistenti, ricordiamo:
• il modello gerarchico;
• il modello a oggetti (object-oriented);
• il modello relazionale;
• il modello relazionale a oggetti (object-relational).
Basi di datiBasi di dati
DBMS relazionali
Nel modello relazionale, un database è un insieme di relazioni. Ciascuna di esse consiste di una tabella (righe e colonne).
Le colonne di una tabella sonoanche dette campi, o attributidella tabella.
Ogni riga costituisce inveceun record.
Basi di datiBasi di dati
Vincoli di integrità
E’ fondamentale che i dati archiviati siano coerenti rispetto a diversi tipi di criteri.
E’ compito del DBMS verificare la correttezza dei dati, impedendo, tra l’altro, l’inserimento di dati che violino i criteri del database.
Un primo criterio è dato dal tipo di dati di un campo.
Basi di datiBasi di dati
Chiavi primarie (primary keys)
Un altro criterio fondamentale è la necessità che in una tabella non vi siano due righe identiche.
A questo scopo, è necessario che uno (o più d’uno) dei campi di una tabella possa identificare un certo record in maniera univoca.
Il campo (o i campi) che rispondono a questi requisiti sono detti chiavi.
Uno di essi va scelto come chiave primaria.
Basi di datiBasi di dati
Chiavi esterne (foreign keys)
Le informazioni contenute in tabelle diverse dello stesso database sono spesso correlate.
Le chiavi esterne sono campi in una tabella correlata che fanno riferimento alla tabella principale.Chiave Chiave
primariprimariaa Chiave Chiave
esternesternaa
Basi di datiBasi di dati
Structured Query Language
SQL è un linguaggio pensato per la creazione e gestione di database relazionali.
Permette di creare tabelle, modificarle, cercare dati, e può essere utilizzato anche da programmi esterni al DBMS.
Esistono anche diversi “dialetti” SQL, ovvero versioni leggermente modificate dai maggiori produttori di DBMS – e tipicamente supportate solo dai rispettivi prodotti.
Basi di datiBasi di dati
Driver nativi, ODBC, JDBC
Basi di datiBasi di dati
Microsoft Access
Si tratta di un DBMS pensato per un uso personale.
Come conseguenza del target scelto, contiene sia gli strumenti per progettare, gestire il database, e interrogarlo, che quelli per costruire delle interfacce di accesso ai dati, formattarli per la presentazione, ed altri ancora.
Basi di datiBasi di dati
Microsoft Access: strumenti
Basi di datiBasi di dati
Tabelle
Le tabelle, in un database relazionale,contengono i dati.
L’interfaccia di gestione delle tabelle fornita da Access consente di specificare facilmente il tipo di dati dei singoli campi, eventuali valori predefiniti, la chiave primaria, criteri di validazione aggiuntivi, e altro ancora.
Basi di datiBasi di dati
Tipi di query
Per “query” non si intende soltanto una generica interrogazione a un database, ma un’istruzione SQL che può avere diversi effetti:
• recuperare informazioni dal database;
• modificare record esistenti;
• aggiungere record a una tabella esistente;
• creare tabelle nuove o modificarne di esistenti.
Basi di datiBasi di dati
Le maschere
Le maschere sono tra le funzionalità più potenti di Microsoft Access: consentono di costruire un’interfaccia di accesso ai dati, con grafica, pulsanti, menu a discesa, e altri oggetti tipici dei sistemi a finestre, e di personalizzarlapersonalizzarla in vari modi.
Una maschera può includere al suo interno altre maschere, in maniera nidificata.
Basi di datiBasi di dati
I report
I report sono pensati per consentire la creazione di un documento per la stampa.
Il documento contiene, evidentemente, informazioni archiviate nel database.
1. Il titolo del report e le intestazioni di colonna sono memorizzati nella struttura del report
2. La data proviene da un'espressione memorizzata nella struttura del report
3. I dati provengono dai campi della tabella, della query o dell'istruzione SQL sottostante
4. I totali provengono da espressioni memorizzate nella struttura del report
Basi di datiBasi di dati
Progettazione
Progettare un database è un’attività che richiede diverse fasi. Innanzitutto bisogna:
• stabilire quali sono i dati da archiviare;
• decidere come andranno recuperati, ovvero le modalità di accesso più frequenti.
Basi di datiBasi di dati
Conceptual design
Si passa poi a descrivere i dati e le relazioni che intercorrono tra loro. Per far questo, spesso si usa un modello di rappresentazione noto comeEntità-Relazione (ER, Entity-relationship).
Numero matricola
Cognome
possiede un
Nome
RecapitiStudenti
Numero matricola
Numero tel.E-mail
Basi di datiBasi di dati
Tipi di relazione
I modi in cui le entità possono entrare in relazione sono tre:
Studenti ---Studenti --- Recapiti Recapiti
Studenti Studenti -- Esami Esami
Studenti --- Studenti lavoratoriStudenti --- Studenti lavoratori
Rispettivamente:
uno-a-molti, molti-a-molti, uno-a-uno.
Basi di datiBasi di dati
Database di esempio
Esercizio: progettare un database che permetta di archiviare la propria biblioteca (libri, libri divisi in più volumi, racconti in antologie, articoli degli atti di un convegno…)