La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

R. Grande - Database - 2008 1 Archivi Un archivio è una raccolta di informazioni strutturate relative a un determinato argomento: i libri di una biblioteca.

Presentazioni simili


Presentazione sul tema: "R. Grande - Database - 2008 1 Archivi Un archivio è una raccolta di informazioni strutturate relative a un determinato argomento: i libri di una biblioteca."— Transcript della presentazione:

1 R. Grande - Database Archivi Un archivio è una raccolta di informazioni strutturate relative a un determinato argomento: i libri di una biblioteca i dipendenti di unazienda gli articoli di un magazzino gli abitanti di un comune Un archivio è rappresentabile sotto forma di tabella in cui le righe sono dette record e le colonne sono dette campi, ad esempio un archivio Clienti: CognomeNomeCod. Fisc.IndirizzoTelefono RossiMariorssmra….Via Roma BianchiCarlobnccrl….Via Milano ……….. ….….. …. ….. campi record

2 R. Grande - Database Campi e record Un campo o attributo contiene una singola informazione (un cognome, una data, un codice o un prezzo, ecc.); i campi costituiscono le colonne della tabella e ognuno è caratterizzato da un nome che lo identifica, un tipo che definisce la natura delle informazioni che esso può contenere: un testo, un numero, una data ecc. una dimensione che definisce la quantità di memoria necessaria per quel campo e la sua definizione dipende dal tipo Un record o ennupla è linsieme dei campi relativi a un elemento dellarchivio (una persona, un libro, un articolo di magazzino); i record sono le righe della tabella. La dimensione di un record è data dalla somma delle dimensioni dei campi che lo compongono.

3 R. Grande - Database Database Un database ( o base di dati) è una struttura di archivi (tabelle) correlati tra loro in modo da costituire una base di informazioni indipendente dalluso che se ne farà (applicazioni) e sulla quale possano quindi essere eseguite procedure diverse e possano lavorare utenti diversi. Ad esempio: la base di informazioni per la gestione di una biblioteca (i libri, gli utenti, i prestiti); la gestione di unazienda (clienti, fornitori, dipendenti, ……); la gestione di una scuola (studenti, classi, docenti, …..). Su ognuna di queste strutture si eseguono procedure diverse da parte di diversi utenti.

4 R. Grande - Database Un DBMS (DataBase Management System) è un software applicativo per la gestione completa di un database : creazione (definizione della struttura) aggiornamento (inserimento, modifica, cancellazione) interrogazione (ricerche, filtri, ordinamenti) presentazione (a video, a stampa) sicurezza (protezione delle informazioni contenute) DBMS

5 R. Grande - Database Modelli di database Sono stati proposti, nel tempo, alcuni modelli di database, in ordine cronologico: Database gerarchiciI legami tra gli archivi sono di tipo gerarchico e quindi implicano delle dipendenze di alcune entità rispetto ad altre, ciò porta a una certa rigidità di struttura. Database reticolariNon ci sono più livelli diversi tra le entità in quanto esse sono nodi di un reticolo più o meno complesso. Database relazionaliSono basati sul concetto matematico di relazione fra insiemi. Una tabella può infatti essere vista come una relazione tra gli insiemi costituiti dalle sue colonne (domini): ad esempio linsieme dei nomi, quello dei cognomi, quello delle date di nascita,… ogni riga è costituita da n elementi, uno per dominio, e si chiama n-pla o tupla.

6 R. Grande - Database Database relazionali CognomeNomeCod._FiscIndirizzoTelefono RossiMariorssmra….Via Roma BianchiCarlobnccrl….Via Milano ……….. ….….. …. ….. La tabella clienti è una relazione tra i domini: Cognome, Nome, Cod_Fisc, Indirizzo, Telefono. Ogni riga (record o n-pla o tupla) contiene un elemento per ogni dominio. Non possono esserci due tuple uguali, come vedremo due tuple differiranno per almeno un elemento (chiave primaria) Non esiste un ordine prestabilito tra le n-ple I contenuti della relazione in un certo istante si chiamano istanze.

7 R. Grande - Database Un esempio di DBMS relazionale: Microsoft Access Microsoft Access è un software per la gestione di basi di dati relazionali utilizzato su personal computer, nel seguito faremo riferimento a questo programma. Il programma mette a disposizione dellutente una serie di strumenti a interfaccia grafica per la realizzazione di tutte le funzioni di gestione di un database: tabelleper la definizione dei dati maschereper laccesso ai dati (sia in ingresso che in uscita) queryper linterrogazione della base di dati reportper la presentazione in stampa delle informazioni macroper la preparazione di serie di comandi da eseguire in sequenza moduliper la programmazione di intere applicazioni

8 R. Grande - Database Avviare il programma Menu Start – Tutti i programmi – Microsoft Access Pulsanti 2 clic sullicona di collegamento se presente sul Desktop Chiudere il programma Menu File – Esci Pulsanti 1 clic sul pulsante di chiusura della finestra Tasto dx 1 clic sulla barra del titolo – Chiudi Tastiera Alt+F4

9 R. Grande - Database Aprire o collegarsi a un database esistente Menu File – Apri – Selezionare il database – 1 clic su Apri Pulsanti 1 clic sul pulsante – Selezionare il database – 1 clic su Apri Creare un nuovo database Menu File – Nuovo – 1 clic su Database vuoto – Selezionare la cartella di destinazione - Digitare il nome che si desidera dare al nuovo database – Crea Pulsanti 1 clic sul pulsante – 1 clic su Database vuoto - Selezionare la cartella di destinazione – Digitare il nome che si desidera dare al nuovo database – Crea Tastiera Ctrl+N – 1 clic su Database vuoto – Selezionare la cartella di destinazione - Digitare il nome che si desidera dare al nuovo database – Crea

10 R. Grande - Database Attivare la Guida in linea Menu 1 clic su ? – Guida in linea – Scegliere la modalità di ricerca (Ricerca libera, Indice) – digitare la parola chiave – 1 clic su Cerca Tastiera F1 – Scegliere la modalità di ricerca (Ricerca libera, Indice) – digitare la parola chiave – 1 clic su Cerca Chiudere un database Menu File – Chiudi Pulsanti 1 clic sul pulsante posto in alto a destra sotto la barra del titolo

11 R. Grande - Database tabella query utente maschera report maschera Le tabelle sono i contenitori dei dati, le queries prendono i dati da una o più tabelle o queries in base a determinati criteri di interrogazione e si comportano a loro volta come tabelle, le maschere danno accesso ai dati (tabelle e queries), i report presentano in stampa i contenuti di tabelle e queries. Gli strumenti di Access

12 R. Grande - Database Riquadro oggetti Finestra database

13 R. Grande - Database Creare una nuova tabella mediante creazione guidata Dopo aver selezionato loggetto Tabella dal riquadro Oggetti Tasto sx 2 clic sulla voce Crea una tabella mediante una creazione guidata Selezionare i campi della tabella tra quelli proposti dal programma Avanti Definire il nome della tabella Impostare la chiave primaria Avanti Definire eventuali collegamenti con altre tabelle Scegliere come procedere: immettere subito i dati, modificare la struttura della tabella o immettere dati tramite una maschera Fine

14 R. Grande - Database Creare una nuova tabella in visualizzazione struttura Dopo aver selezionato loggetto Tabella dal riquadro Oggetti Tasto sx 2 clic sulla voce Crea una tabella in visualizzazione struttura Definire i campi della tabella impostandone le proprietà nella griglia predisposta Chiudere la finestra dal pulsante Assegnare il nome alla tabella

15 R. Grande - Database Tipi di campo in Access TipoCaratteristiche del contenuto TestoQualsiasi sequenza di caratteri alfanumerici: es. nomi, indirizzi, codici fiscali, numeri non suscettibili di calcoli: CAP, N. di telefono ecc. (fino a 256 car) MemoTesti lunghi come descrizioni, note o commenti (fino a circa car) NumericoNumeri che possono essere coinvolti in calcoli : interi e decimali, positivi e negativi Data/OraDate e ore in vari formati ValutaCifre accompagnate dal simbolo di valuta ( o altro) utilizzabili in calcoli ContatoreNumero sequenziale progressivo univoco incrementato automaticamente per ogni record aggiunto. Non si può modificare. Sì/NoPuò assumere uno dei due valori logici: Sì/No, Vero/Falso, On/Off Oggetto OLE (Object Linking Embedded) Oggetto collegato incorporato (immagine, documento, file audio, ecc.) Collegamento ipertestuale Link a un file o indirizzo Web Ricerca guidataDati prelevati da unaltra tabella attraverso una casella di riepilogo combinata Tipi di campo in Access

16 R. Grande - Database Dimensione campi in relazione al tipo TipoDimensione / Formato TestoNumero massimo di caratteri inseribili nel campo (per default 50) MemoNon si dà dimensione NumericoPer i numeri interi: byte, intero, intero lungo Per i numeri reali: precisione singola, precisione doppia Data/OraDate: generica, estesa, breve, in cifre Ore: estesa, breve 12 ore, breve 24 ore ValutaSi può impostare il formato e il numero di cifre decimali ContatoreIntero lungo Sì/NoFormati : Sì/No, Vero/Falso, On/Off Oggetto OLE (Object Linking Embedded) Non si impostano dimensione e formato Collegamento ipertestualeNon si impostano dimensione e formato Ricerca guidataNon si impostano dimensione o formato

17 R. Grande - Database Altre proprietà dei campi ProprietàSignificato Maschera di inputFormato e aspetto che dovranno avere i dati inseriti EtichettaNome che si vuole assegnare al campo nelle maschere Valore predefinitoValore che si vuole fare comparire automaticamente nel campo Valido seRegole di validazione, limiti ai valori inseriti Messaggio erroreTesto che si vuole visualizzare nel caso in cui non vengano rispettate le regole di validazione imposte al campo RichiestoStabilisce se linserimento nel campo è obbligatorio o meno Consenti lunghezza zeroStabilisce se campi testo, memo e collegamento ipertestuale possono rimanere vuoti IndicizzatoStabilisce se creare o meno un indice per il campo, in caso affermativo lindice potrà essere con duplicati ammessi o non ammessi Compressione UnicodeComprime dati di tipo testo, memo o collegamento ipertestuale per poi espanderli al momento del recupero Il programma consente di impostare e modificare, per ogni campo e in relazione al tipo scelto, oltre alla dimensione, altre proprietà:

18 R. Grande - Database Una chiave primaria è un campo non replicabile cioè che individua univocamente ogni record allinterno di una tabella. In altre parole non possono esserci due record con la stessa chiave primaria. Ad esempio, in un archivio anagrafico, il codice fiscale è un campo che può essere usato come chiave primaria mentre non lo sono, normalmente, il cognome o il nome. È possibile anche usare più campi come chiave primaria. Nel caso in cui non si riesca a individuare un campo o un gruppo di campi come chiave primaria si può usare un campo contatore, ovvero un numero progressivo univoco, che aumenta di uno ogni volta che si aggiunge un record alla tabella. Come vedremo le chiavi primarie sono usate anche per collegare tra loro le tabelle. Chiavi primarie

19 R. Grande - Database Collegamenti tra tabelle (1) In un database gli archivi (tabelle) sono tra loro correlati per consentire di estrarre e comporre informazioni presenti in tabelle diverse (record logici) ed evitare la ridondanza che consiste nel ripetersi degli stessi dati più volte nello stesso archivio o in archivi diversi. La ridondanza, oltre allevidente spreco di spazio di memoria, può comportare anche veri e propri errori, infatti uninformazione ripetuta più volte in posizioni diverse può essere aggiornata in alcune posizioni e non in altre provocando inconsistenza nei dati. Due tabelle possono essere collegate tra loro attraverso alcuni campi particolari detti chiavi. Inserendo, in una tabella correlata, un campo (detto chiave esterna) corrispondente alla chiave primaria della prima tabella si può stabilire unassociazione tra le due tabelle.

20 R. Grande - Database Collegamenti tra tabelle (2) Un database relazionale è costituito da un insieme di tabelle legate tra loro da relazioni. Lo scopo delle relazioni consiste nel rendere nellevitare di inserire più volte gli stessi dati (ridondanza). Esistono tre tipi di relazione: - uno a uno: ad un record della prima tabella corrisponde un solo record della seconda - uno a molti: ad un record della prima tabella corrispondono più record della seconda, ma non il contrario - molti a molti: ad un record della prima tabella corrispondono più record della seconda e viceversa

21 R. Grande - Database Collegamenti tra tabelle (esempio) cognomenomecod_fiscindirizzotelefono num_ordinedataimportocod_fis_cli CLIENTI ORDINI Le due tabelle CLIENTI e ORDINI sono correlate attraverso il campo codice fiscale che lega ogni cliente agli ordini da lui effettuati e ogni ordine al cliente che lo ha effettuato. Senza questo collegamento bisognerebbe ripetere i dati del cliente per ogni ordine presente nellarchivio ORDINI creando una notevole ridondanza. In questo modo i dati di un cliente, a parte il codice fiscale, sono memorizzati una sola volta nellarchivio clienti e si devono aggiornare solo lì. Il campo cod_fis_cli si chiama chiave esterna e, poiché ogni cliente può fare più ordini, il collegamento creato si dice di tipo uno a molti. È evidente che nella tabella ORDINI ci possono essere più record con lo stesso codice fiscale che infatti non è una chiave primaria ma una chiave esterna. Chiave primaria Chiave esterna 1 molti

22 R. Grande - Database Medici CodMedico Nome Cognome Specializzazione Sesso Prescrizioni IDPrescrizione CodMedico CodPaziente Farmaco Data Costo Pazienti CodPaziente Nome paziente Cognome paziente Età paziente Sesso paziente 1 Database esempio 1 Ogni rettangolo rappresenta una tabella con i suoi attributi (campi); gli attributi sottolineati sono le chiavi primarie; i collegamenti sono indicati da frecce che partono da una chiave primaria e arrivano alla corrispondente chiave esterna Prescrizioni mediche 1

23 R. Grande - Database Iscritti CodIscritto Nome Cognome Età Sesso Iscrizioni IDIscrizione CodIscritto CodCorso Data Corsi CodCorso Denominazione CognomeIstruttore NomeIstruttore Costo Durata 1 Database esempio 2 Palestra: iscrizioni ai corsi 1

24 R. Grande - Database Esami_Clinici CodEsame Denominazione Costo Esami_Eseguiti IDEsame CodEsame CodPaziente Data Risultato Pazienti CodPaziente Nome paziente Cognome paziente Età paziente Sesso paziente 1 Database esempio 3 Analisi cliniche 1 Chiave primaria e chiave esterna devono essere campi omogenei cioè dello stesso tipo (testo e testo, data e data, ecc.) ed avere la stessa dimensione o formato. Una chiave primaria di tipo contatore può essere collegata a una chiave esterna di tipo numerico con dimensione intero lungo.

25 R. Grande - Database Indici Un indice è uno strumento per rendere più efficienti e veloci le ricerche e gli ordinamenti allinterno di una tabella. Ogni campo può essere associato a un indice, una tabella in cui ad ogni valore del campo è indicato il numero della riga in cui si trova quel valore, per rendere più veloci le ricerche secondo quel campo. Un indice, però, occupa spazio di memoria e rende più lento laggiornamento della tabella (perché bisogna aggiornare anche lindice), quindi è opportuno indicizzare solo i campi secondo cui si prevede di effettuare prevalentemente le ricerche. Un campo può essere indicizzato con duplicati ammessi nel caso in cui più righe possono avere lo stesso contenuto per quel campo con duplicati non ammessi nel caso in cui più righe non possono avere lo stesso contenuto per quel campo Una chiave primaria è, per sua natura, sempre indicizzata con duplicati non ammessi

26 R. Grande - Database Integrità referenziale Lintegrità referenziale è un sistema di controlli che assicurano la congruenza delle informazioni, correlate tra loro, di un database. Ad esempio, nel caso delle due tabelle correlate CLIENTI e ORDINI Se esiste, nella tabella ORDINI, un ordine con un certo codice fiscale non deve essere cancellato, dalla tabella CLIENTI, il cliente con quel codice fiscale Non si può modificare un codice fiscale nella tabella CLIENTI se esistono record correlati nella tabella ORDINI Non si può inserire un ordine con un codice fiscale che non appartiene a nessun cliente della tabella clienti Ne consegue che, normalmente, prima di inserire un ordine bisogna aver creato il relativo cliente nella tabella CLIENTI e quando si cancella un cliente vengono cancellati anche tutti i suoi ordini

27 R. Grande - Database Linserimento dei dati Una volta definite le tabelle e i collegamenti tra queste, il DBMS consente linserimento dei dati in due modi: direttamente nelle tabelle (modalità foglio dati) attraverso una maschera o vista, associata alla tabella, che consente di inserire e vedere i contenuti della tabella in una forma personalizzata Sia in modalità foglio dati che nelluso di maschere il DBMS offre una serie di strumenti per la visualizzazione, la ricerca e il filtraggio dei dati: sistemi di navigazione filtri di selezione e ricerca ordinamenti secondo uno o più criteri

28 R. Grande - Database Le queries Una query è uno strumento per interrogare il database, cioè per estrarre dallinsieme delle tabelle le informazioni desiderate con i criteri di scelta necessari. Il punto di partenza di una query è quindi costituito da una o più tabelle e il risultato di una query è, in generale, unaltra tabella che contiene le risposte allinterrogazione impostata. In alcuni casi il risultato di una query può essere costituito da valori singoli risultanti da calcoli o conteggi. Il DBMS Access offre un sistema visuale per definire la query cioè: Definire la o le tabelle di partenza Definire i campi interessati Definire i criteri di selezione Definire eventuali ordinamenti Effettuare conteggi o calcoli su particolari campi Il sistema visuale consente di aggirare luso dello strumento più generale per la gestione dei database e la definizione di query che è il linguaggio SQL ( Structured Query Language) che rimane comunque disponibile per gli utenti in grado di usarlo.

29 R. Grande - Database Esempio di query (1) Si vogliono il cognome, il nome del cliente e la data degli ordini con importo superiore a 100, ordinati per importo decrescente Sono richiesti dati provenienti dalla tabella CLIENTI (cognome e nome) e dalla tabella ORDINI (data e importo). La struttura della query può essere impostata in Access: Campocognomenomedataimporto TabellaClienti Ordini Ordinamentodecrescente Mostra Criteri> 100 Il risultato sarà una tabella con quattro colonne e un numero di righe pari al numero di ordini con importo maggiore di 100 e le righe saranno ordinate per importo decrescente

30 R. Grande - Database Esempio di query (2) Se invece si vuole il numero totale degli ordini ricevuti in un certo intervallo di tempo: 1/12/05 – 31/12/05 CampoNum_ordData TabellaOrdini FormulaConteggioEspressione Ordinamento Mostra Criteri =#01/12/2005# Nella struttura della query è stata inserita la riga formula che permette di inserire funzioni come conteggio, somma, media ecc. che effettuano calcoli su determinati campi. Nella colonna data si inserisce il criterio di selezione che, in questo caso, usa loperatore logico AND. Il risultato è un valore numerico.

31 R. Grande - Database Esempio di query (3) Query parametrica Nelle queries viste finora i criteri di selezione dei dati erano espressi esplicitamente: importo>100, data compresa tra 1/12/2005 e 31/12/2005. Si possono definire delle queries in cui, invece, i criteri sono espressi tramite parametri il cui valore può cambiare ogni volta che la query viene eseguita. Campocognomenomedataimporto TabellaClienti Ordini Ordinamentodecrescente Mostra Criteri>[importo=] Nella riga criteri invece del valore costante 100 si inserisce una domanda tra parentesi quadra, tale domanda verrà riproposta allutente ogni volta che verrà attivata la query e ogni volta si potrà inserire un valore diverso.

32 R. Grande - Database I contenuti di tabelle e queries possono essere mandati in stampa col formato e lorganizzazione desiderati utilizzando i report che svolgono una funzione analoga a quella delle maschere ma limitatamente alluscita (presentazione) dei dati. Il DBMS offre dei formati standard di report (report tabulare, report a colonne) realizzabili facilmente con una creazione guidata oppure la possibilità di definirne liberamente la struttura. In ogni caso è possibile definire oltre al formato della stampa anche particolari modalità grafiche, raggruppamenti, ordinamenti e valori di riepilogo. I report


Scaricare ppt "R. Grande - Database - 2008 1 Archivi Un archivio è una raccolta di informazioni strutturate relative a un determinato argomento: i libri di una biblioteca."

Presentazioni simili


Annunci Google