INFORMATICA Corso Base Modulo G: I DataBase Access
Dal file al database Alcuni problemi relativi all’uso dei file del tipo tradizionale sono legati alla rigidità della loro struttura, definita dal programmatore al momento della creazione. Si è pensato di inserire tra il file e l’utente un software specifico per la gestione degli archivi, di facile uso anche per gli utenti inesperti, molto dinamico e flessibile. Questi tipi di programmi forniscono un’interfaccia tra l’utente finale e la struttura fisica dei file di dati, facendo in modo che l’utente utilizzi solo i dati necessari senza dover necessariamente conoscere come essi sono effettivamente organizzati sui dispositivi di memoria di massa. Modulo G: I Database
DataBase e DBMS Si chiama DataBase un insieme di informazioni (conservate su memoria di massa) correlate tra loro e alle quali più utenti contemporaneamente possono accedere, tramite programmi specifici, per compiere delle operazioni secondo una propria logica di lavoro. Definiamo DBMS (Data Base Management System) l’insieme dei programmi che consentono agli utenti (anche inesperti) la gestione di archivi, secondo un preciso linguaggio e modalità di lavoro semplici e intuitive. Modulo G: I Database
Struttura FISICA e LOGICA dei dati Il DBMS realizza una separazione tra la struttura fisica e la struttura logica dei dati, organizzandoli su tre livelli: Livello fisico: indica la struttura fisica dei file che costituiscono gli archivi, così come vengono memorizzati sul dispositivo di memoria di massa; Livello concettuale: indica la struttura logica dei dati, cioè il modo in cui le informazioni contenute negli archivi vengono aggregate, indipendentemente dagli archivi fisici in cui esse sono inserite; Livello logico: indica la porzione dei dati che in un certo istante è visibile a ogni utente. Modulo G: I Database
Modello di un DataBase Il modello di un DataBase è una mappa che riproduce in modo simbolico una realtà, contiene sia le entità che costituiscono i dati sia le reciproche relazioni che consentono di ottenere le informazioni di cui l’utente ha bisogno. A seconda della strategia di progettazione abbiamo: MODELLO GERARCHICO MODELLO RETICOLARE MODELLO RELAZIONALE MODELLO AD OGGETTI Modulo G: I Database
Modello Relazionale Un DataBase rappresentato mediante un modello relazionale, viene immaginato dall’utente come un insieme di tabelle bidimensionali correlate tra loro mediante dei valori in campi comuni. Nelle colonne delle tabelle avremo gli attributi (o campi) che indicano le caratteristiche del dato. Nelle righe avremo, invece, i record (le tuple) dei dati. Possiamo avere un numero arbitrario (ossia non predefinito) di tuple all’interno di una tabella. Modulo G: I Database
Modello Relazionale (cont.) Attributi Nome Cognome Indirizzo Cod-fiscale Amici Gloria Fantini Via Pola fntglr145 Nicola Rossi Via Roma rssncl145 Telefono 054497** 054732** Tuple Il numero e il nome delle colonne è fisso mentre il numero (e il contenuto) delle righe può variare in ogni momento per effetto di inserimenti, modifiche e cancellazioni. Modulo G: I Database
Modello Relazionale (cont.) Ogni riga della tabella deve differenziarsi da tutte le altre per il valore di almeno uno degli attributi. Ogni riga della tabella deve essere identificabile univocamente. Solo così è possibile effettuare efficacemente operazioni di ricerca e manipolazione dei dati contenuti nel database. CAMPO CHIAVE: è un attributo o una combinazione di essi che identifica in modo univoco ogni singola riga della tabella. Modulo G: I Database
Modello Relazionale (cont.) Nome Cognome Indirizzo Cod-fiscale Amici Gloria Fantini Via Pola fntglr145 Nicola Rossi Via Roma rssncl145 Telefono 054497** 054732** Campo chiave: siamo sicuri che è diverso per ogni amico. Modulo G: I Database
Modello Relazionale (cont.) Il termine relazione indica il concetto di esistenza di un legame tra i dati, quindi una tabella costituisce una relazione in quanto contiene tutti i record che verificano in certo legame logico. Possiamo dire che nel modello relazionale tutte le relazioni tra i dati vengono espresse mediante tabelle. Modulo G: I Database
Le operazioni Il modello relazionale si basa su 3 operazioni elementari che hanno come operandi delle relazioni e restituiscono come risultato delle altre relazioni. Le operazioni sono: SELEZIONE PROIEZIONE JOIN Modulo G: I Database
SELEZIONE La selezione opera su una sola tabella. L’operando è una relazione, il risultato mantiene tutti gli attributi originali, ed è composta dalle sole righe che verificano la condizione indicata dall’istruzione. Nome Cognome Indirizzo Cod-fiscale Amici Gloria Fantini Via Pola fntglr145 Nicola Rossi Via Roma rssncl145 Telefono 054497** 054732** Modulo G: I Database
PROIEZIONE Opera su una sola tabella. L’operando è una relazione e il risultato restituisce solo gli attributi indicati nell’istruzione e un numero di righe < o = a quello della relazione di partenza. Nome Cognome Indirizzo Cod-fiscale Amici Gloria Fantini Via Pola fntglr145 Nicola Rossi Via Roma rssncl145 Telefono 054497** 054732** Modulo G: I Database
JOIN Opera su due relazioni aventi un attributo in comune e produce una sola relazione. Lo scopo di questa operazione è di combinare le tabelle di partenza in una nuova che conserva gli attributi di entrambe e impiega l’attributo comune come punto di congiunzione. Modulo G: I Database
Vendo Codice-V Venditore Sede Città 0123 Gloria Milano1 Milano 0128 Nicola Genova1 Genova Indirizzo Sede Indirizzo Telefono Milano1 Via Pola 8564 Genova1 Via Sasso 0254 Genova2 Via Verdi 0254 Modulo G: I Database
Effettuiamo un’operazione di Join tra le due tabelle VENDO e INDIRIZZO tramite l’attributo SEDE. Il risultato è una nuova relazione, che chiamiamo Combina. Combina Codice-V Venditore Sede Città Indirizzo Telefono 0123 Gloria Milano1 Milano Via Pola 8564 0128 Nicola Genova1 Genova Via Sasso 0254 Modulo G: I Database
Relazioni tra TABELLE Quando si decide di collegare tra loro due tabelle bisogna avere ben chiaro che tipo di collegamento realizzare. Esempio: generalmente ogni cliente avrà un solo indirizzo mentre potrà prenotare presso l’albergo più periodi di soggiorno. La tabella più importante si chiamerà tabella principale (ossia quella contenente i dati indispensabili all’elaborazione) e l’altra sarà la tabella secondaria. Modulo G: I Database
La cardinalità delle relazioni 1 a 1 ogni record della prima tabella corrisponde a un unico record della seconda e viceversa 1 a M ogni record della prima tabella corrisponde a uno a più record della seconda, ma ogni record di quest’ultima corrisponde a un unico record della prima M a M ogni record della prima tabella corrisponde a più record della seconda e viceversa. Modulo G: I Database
QUERY Per individuare e prelevare informazioni da una o più tabelle si utilizzano le QUERY: si tratta semplicemente di una richiesta effettuata al database per il ritrovamento di informazioni specifiche. Il linguaggio standard utilizzato per fare le interrogazioni si chiama SQL; in Access è possibile definire semplici query anche in modo visuale. Modulo G: I Database
Integrità referenziale E’ un insieme di regole che controllano le modalità di inserimento, modifica, eliminazione dei dati sia dalla tabella principale sia dalla tabella secondaria per far si che i dati continuino ad essere consistenti con lo schema predefinito del database. Modulo G: I Database