INFORMATICA
description
Transcript of INFORMATICA
INFORMATICA
Corso Base
Modulo G:
I DataBase Access
Modulo G: I Database 2
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 3
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 4
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 5
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 6
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 7
Modello Relazionale (cont.)
Nome Cognome IndirizzoCod-fiscale
Amici
Gloria Fantini Via Polafntglr145Nicola Rossi Via Romarssncl145
Telefono054497**054732**
Attributi
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 8
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 9
Nome Cognome IndirizzoCod-fiscale
Amici
Gloria Fantini Via Polafntglr145Nicola Rossi Via Romarssncl145
Telefono054497**054732**
Modello Relazionale (cont.)
Campo chiave: siamo sicuri che è diverso per ogni amico.
Modulo G: I Database 10
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 11
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 12
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 IndirizzoCod-fiscale
Amici
Gloria Fantini Via Polafntglr145Nicola Rossi Via Romarssncl145
Telefono054497**054732**
Modulo G: I Database 13
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 IndirizzoCod-fiscale
Amici
Gloria Fantini Via Polafntglr145Nicola Rossi Via Romarssncl145
Telefono054497**054732**
Modulo G: I Database 14
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 15
Venditore Sede CittàCodice-V
Vendo
Gloria Milano1 Milano0123Nicola Genova1 Genova0128
IndirizzoSede Telefono
Indirizzo
Via PolaMilano1 8564Via SassoGenova1 0254Via VerdiGenova2 0254
Modulo G: I Database 16
Venditore Sede CittàCodice-V
Combina
Gloria Milano1 Milano0123Nicola Genova1 Genova0128
Indirizzo TelefonoVia Pola 8564
Via Sasso 0254
Effettuiamo un’operazione di Join tra le due tabelle VENDO e INDIRIZZO tramite l’attributo SEDE. Il risultato è una nuova relazione, che chiamiamo Combina.
Modulo G: I Database 17
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 18
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 19
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 20
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.