DATABASE 1 CONCETTI FONDAMENTALI Che cos un database
DATABASE 1
CONCETTI FONDAMENTALI • Che cos’è un database? Consideriamo alcuni semplici esempi: Ø una rubrica telefonica Ø Un dizionario Ø L’elenco dei dvd alla FNAC Ø L’elenco dei corsi di recupero a scuola
DA QUALI ESIGENZE NASCE? Molti ritengono che la diffusione dei computer nei diversi ambienti di lavoro e studio e domestici sia da indicare nella capacità di immagazzinare grandi quantità di dati ed in effetti uno dei primi settori in cui sono stati utilizzati i computer negli anni 60 è stato l’ambito bancario in cui è molto sentita l’esigenza di conservare ed elaborare grandi quantità di dati
E’ via aumentata la necessità di memorizzare sempre un maggior numero di informazioni e per questo si sono utilizzati hard disk, CD-ROM, DVD ecc Perciò una delle priorità per un sistema informatico è quella di raccogliere ed immagazzinare dati. Molte attività ordinarie svolte nelle aziende, ma anche in ministeri uffici e scuole sono rivolte a gestire un gran numero di dati, quali ad esempio elenchi di abbonati ad un certo servizio, quotazioni di titoli finanziari
D’altro canto sempre più utenti chiedono l’accesso ai dati relativi alla loro situazione finanziaria ( ad es la disponibilità di denaro attraverso POS, bancomat e carte di credito), anagrafica(stato di famiglia, residenza ecc) ed anche in altri settori della vita quotidiana(ad verifica di identità per l’ingresso a scuola) Per garantire questo è necessario non solo disporre di numerosi sistemi di memorizzazione dei dati , ma anche seguire tecniche di progettazione di banche dati e utilizzare software sofisticati per gestire le informazioni
L’organizzazione dei dati I dati che si hanno a disposizione devono essere utilizzati in modo razionale e funzionale alle nostre esigenze. Ad esempio se una azienda organizzasse in file separati , i clienti, i fornitori, i movimenti contabili ad ogni variazione di undato bisognerebbe rivedere tutti i file interessati in molti casi duplicando anche i dati(fenomeno della ridondanza)
Ufficio di fatturazione di un’azienda FILE CLIENTI CODICE CLIENTE RAGIONE SOCIALE INDIRIZZO LOCALITA’ EMAIL TELEFONO DATA ULTIMA FATTURA
File Fatture NUMERO FATTURA DATA FATTURA CODICE CLIENTE RAGIONE SOCIALE INDIRIZZO IMPONIBILE IMPORTO IVA TOTALE FATTURA
File solleciti CODICE CLIENTE RAGIONE SOCIALE INDIRIZZO LOCALITA’ NUMERO FATTURA DATA FATTURA IMPORTO FATTURA
Dall’esempio delle tabelle si vede che alcuni dati vengono inevitabilmente ripetuti per cui ogni variazione dei medesimi (un cliente cambia indirizzo) comporta una modifica di tutti i file. Dal momento che in una azienda ad esempio le modifiche dei dati sono frequentissime , per superare queste difficoltà a partire dagli 70 è stato introdotto il database. Il sistema che ne permette la realizzazione è definito DMBS Database Managment System per esempio Microsoft Office Accesss 2007
Si può notare dalle tabelle precedenti che alcuni dati sono ripetuti e che ad ogni variazione di dato si deve fare una corrispondente variazione per ciascun file. Dal momento che in molte attività economiche variazioni si hanno molto spesso è diventata non eludibile la necessità di avere uno strumento di lavoro più flessibile e a partire dagli anni 70 è stato utilizzato il Database. Il sistema software che ne permette la realizzazione e gestione è il DBMS( Datbase Manamagent System) come per esempio Microsoft Access 2007
Dati , elaborazione informazioni Spesso nel linguaggio comune i termini dati ed informazioni vengono usati come sinonimi ma in realtà non è così. Per dato si intende una rappresentazione ordinaria e non interpretata di un evento o di un oggetto ad esempio il prezzo di un prodotto la ragione sociale di un cliente, il cognome di un dipendente.
Se in una scuola considero il termine “ 800” ed il termine” Diaz” questi sono dati che possono rappresentare due attributi di quella realtà scolastica. “ 800 potrebbe essere il costo di un’apparecchiatura della scuola, oppure il numero di studenti del biennio ed la parola”Diaz potrebbe essere il nome della sede della scuola, oppure il cognome di uno studente. Questi dati si trasformano in informazioni solo se sono sottoposti ad un processo di interpretazione e contestualizzazione.
L’informazione è qualcosa che accresce la conoscenza ed è ottenuta dall’elaborazione dei dati. Prendendo l’esempio precedente la frase “la scuola Diaz è frequentata da 800 studenti” è una informazione che accresce l. E conoscenze di chi la riceve. Schematizzando: DATI ELABORAZIONE INFORMAZIONI
Dallo schema precedente possiamo vedere che i dati costituiscono l’input del processo elaborativo e le informazioni sono il risultato di tale elaborazione. Quando un utente di un sistema informatico indirizza una richiesta o vero esegue un’ interrogazione( query ) è in attesa di ottenere ulteriori informazioni. Possiamo dire che un database relazionale o base di dati è un insieme gestito di dati, ovvero un archivio elettronico, organizzato in tabelle, che consente la gestione dei dati stessi in termini di inserimento , ricerca, modifica, consultazione, aggiornamento ecc
ID INTERLOCUTORE Nome Cognome Telefono personale Azienda incarico Incarico
In tale schema sono indicati i dati registrati: ogni dato costituisce un campo Nell’esempio proposto sono campi ”ID Interlocutore” (dato che identifica in modo univoco l’interlocutore), ”Nome”, “Cognome”, “Telefono personale”, “Azienda”, “Incarico”. Nella tabella, alla quale è associato lo schema, questi nomi saranno le etichette delle colonne, mentre sulle varie righe saranno inseriti l’ID interlocutore , il nome, il cognome, il telefono personale, l’azienda e l’incarico di ogni interlocutore presente nella rubrica. L’insieme di questi dati prende il nome di record. Di conseguenza l’insieme di record costituisce la tabella. Come vedremo in seguito un insieme di tabelle opportunamente correlate forma il database.
Esempi di database Nell’esempio abbiamo visto un database molto semplice e di dimensioni limitate. Ma il database è la struttura per la realizzazione di archivi elettronici di grandi dimensioni quali : • INPS, Istituto Nazionale Previdenza Sociale, che registra i dati degli assistiti a livello nazionale; • Anagrafe Tributaria, che riporta le posizioni nei vari anni di tutti i contribuenti italiani; • Anagrafi comunali, con i dati dei cittadini; • Cartelle cliniche dei pazienti delle strutture sanitarie; • Sistemi bancari, per la gestione dei conti correnti dei clienti; • Sistemi di prenotazione e gestione dei voli delle compagnie aeree. Tutte queste banche dati sono caratterizzate dalla presenza di centinaia di migliaia o di milioni di record.
Un po’ di terminologia Un database è un file che può contenere diversi oggetti ognuno dei quali preposto ad una certa. funzione q q Tabelle: costituiscono l’elemento primario di ogni database ossia l’archivio in cui sono inseriti i dati relativi ad un certo argomento Query: è un’interrogazione che permette di eseguire ricerche ed estrapolazioni nelle tabelle in base a specifici criteri definiti dall’utente q. Maschere: attraverso un interfaccia grafica consentono di aggiungere modificare dati nelle corrispondenti tabelle q. Report: permette di stampare i dati inseriti nelle tabelle e quelli ottenuti dalle interrogazioni, con layout personalizzati
Organizzazione di un database Il database va organizzato attraverso queste fasi 1) 2) 3) 4) Tabelle Chiave primaria ed indici Relazioni Operatività(Progettazione, creazione, gestione) Tabelle Abbiamo già visto come il database sia costituito da un insieme di tabelle. E’ opportuno che ognuna di queste tabelle contenga dati relativi a un unico argomento. Per esempio, in un database che riguarda una rubrica telefonica a uso ufficio potrai avere una tabella Interlocutori, con i dati delle persone con le quali sei in contatto, e una tabella Aziende, che riporta i dati delle aziende a cui appartengono gli interlocutori. Nella definizione della struttura di queste tabelle, devi definire quali campi vuoi inserire.
E’ importante che ogni campo contenga un dato unitario. Un dato è unitario o no in funzione delle elaborazioni che successivamente vorrai fare. Per esempio il Cognome e Nome di una persona potrebbe essere un solo campo, se non hai bisogno di separare i due dati (per esempio li utilizzi esclusivamente per identificare la persona)
Tabelle Abbiamo già visto come il database sia costituito da un insieme di tabelle. E’ opportuno che ognuna di queste tabelle contenga dati relativi a un unico argomento. Per esempio, in un database che cataloga i libri di una biblioteca bisogna costituire più tabelle ognuna delle quali relativa ad uno specifico argomento per evitare di ripetere le informazioni
Autori Codice autore Cognome Nazionalità Anno di nascita AA 001 Rowling Joanne Kathleen Britannica 1965 AA 002 Christie Agatha Britannica 1890 AA 003 Ammaniti Niccolò Italiana 1966 AA 004 Hesse Hermann Tedesca 1877 AA 005 Yourcenar Marguerite Belga 1903 AA 006 Eco Umberto Italiana 1932 AA 007 Fallaci Oriana Italiana 1929 AA 008 Moccia Federico Italiana 1963 AA 009 Dahl Roald Britannica 1916 AA 010 Yehoshua Abraham Israeliana 1936 AA 011 Pariani Laura Italiana 1951
Libri Codice libro Titolo Genere LA 001 Harry Potter e la pietra filosofale Fantasy LA 002 Dieci piccoli indiani Giallo LA 003 Harry Potter e il prigioniero di Azkaban Fantasy LA 004 Io non ho paura LA 005 Prezzo di copertina Numero di pagine Codice autore € 16, 80 293 AA 001 € 7, 80 210 AA 002 € 14, 50 366 AA 001 Romanzo € 9, 50 219 AA 003 Le stagioni della vita Filosofico € 7, 40 164 AA 004 LA 006 L'opera al nero Romanzo storico € 15, 50 301 AA 005 LA 007 Il nome della rosa Romanzo storico € 9, 50 532 AA 006 LA 008 Un uomo Romanzo € 15, 40 510 AA 007 LA 009 Tre metri sopra il cielo Romanzo € 15, 00 319 AA 008 LA 010 Baudolino Romanzo storico € 12, 00 526 AA 006
Caratteristiche del campo Ø Testo Ø Memo(testo lungo formato anche da numeridescrizioni, note o commenti) Ø Data/ora Ø Valuta Ø Contatore(campo numerico che si incrementa in modo automatica) Ø si/no
Ø Oggetto collegato o incorporato in una tabella Ø Allegato al record immagini e altri tipi di file anche in formato compresso Ø Ricerca guidata. Consente di aggiungere una caratteristica ad una tabella prelevando dati da un’altra
Proprietà del campo q Dimensione (numero di caratteri o di cifre che compongono il campo) q formato(per es se viene inserita una data gg/mm/aaaa q. Valore predefinito(valore di default, valore che viene inserito automaticamente) q valido se q. Messaggio d’errore q. Richiesto q. Consenti lunghezza zero q. Indicizzato, compressione unicode
Apriamo l’applicazione Andiamo su Microsoft Office ed apriamo ACCESS 2007 e vediamo che sono presenti dei modelli di database da scaricare o l’icona database vuoto Premiamo questa e ci si apre una schermata che cerchiamo di commentare: In alto • v a sinistra Barra di accesso rapido (pulsanti Office e i comandi Salva annulla e ripeti v Al centro 1) schede dei comandi (home, crea dati esterni, strumenti database) 2) Scheda contestuale (strumenti tabella) v A destra 1) gruppi di comandi disponibili nella finestra attiva(ad es. dipendenze oggetti) 2) Pulsante chiudi la finestra del database ed esci dal programma
Al Centro: Pulsante chiudi l’oggetto tabella, maschera, query, report)mantenendo aperto il database In Basso: ü Barra di stato (visualizzazione foglio dati) ü Barra di navigazione o spostamento ü Area che visualizza il contenuto del’oggetto aperto ü Pulsanti di visualizzazione( permettono di mostrare l’oggetto aperto in diverse modalità di visualizzazione)
Barra multifunzione Creato il database appare la barra multifunzione posta sotto il titolo è composta da comandi organizzati in gruppi logici raccolti in schede La barra multifunzione è progettata per Consentire di trovare rapidamente i comandi necessari per il completamento delle attività. Per minimizzare la barra multifunzione • Fare doppio clic sulla scheda attiva • Tasto destro del mouse- riduci ad icona • Fare clic su personalizza barra di accesso rapido • CTRL+ F 1
RICORDA CHE NELLA BARRA MULTIFUNZIONE NON E’ POSSIBILE: q AGGIUNGERE O RIDISPORRE I COMANDI; q. MODIFICARE O RIMUOVERE UN COMANDO O UN GRUPPO DI COMANDI; q. AGGIUNGERE SCHEDE, A MENO CHE NON SI FACCIA USO DI CODICE DI PROGRAMMAZIONE XML.
Chiave primaria In ogni tabella è opportuno per poter distinguere ogni singolo record da qualsiasi altro, avere cioè un valore in uno o più campi che lo identifichi in modo univoco. Tale valore prende il nome di chiave primaria può essere costituito da un unico campo o dalla combinazione di piu campi, nel caso in cui un solo campo non fosse in grado di garantire la condizione di corrispondenza biunivoca ossia di non duplicazione
La chiave primaria, quindi, può essere definita come il campo o l’insieme di campi che identificano in modo univoco un record. Un esempio di chiave è il nome di un comune in un database che dà i prefissi telefonici
Indice Nel momento in cui si crea una chiave primaria programma lo indicizza automaticamente(non ammettendone duplicati), ovvero sulla base di tale campo crea un indice che viene utilizzato per le operazioni di ricerca dati. E’ possibile assegnare un indice anche ad altri campi in base ai quali si prevede di eseguire frequenti interrogazioni in quanto tale attributo rende più veloci le operazioni di ricerca sul campo Indicizzato Ad esempio se si crea una tabella con il nome di libri può accadere di fare una ricerca in base al titolo del libro; se tale campo non viene indicizzato Access dovrà scorrere tutti i record della tabella, ordinati in base al codice libro in presenza di una tabella con migliaia di record Diversamente sii indicizza il campo titolo Access creerà una tabella non visibile in cui tutti i record saranno ordinati in base al titolo e quindi riuscirà a fornire una risposta in tempi brevissimi
Relazioni Il database relazione si presenta come un insieme di tabelle correlate mediante relazioni tra campi Le relazioni consentono di costruire insiemi di dati appartenenti a tabelle diverse Il database telefono può essere ampliato mediante una seconda tabella di nome Aziende Tale suddivisione può essere utile quando ci possono essere più interlocutori appartenenti alla stessa azienda
Relazioni ID INTERLOCUTORE Nome Azienda Cognome Indirizzo Telefono Personale Numero di telefono Azienda Incarico
Le relazioni possono essere come nel caso precedente uno a uno quando un record della prima tabella è collegato ad un record della seconda tabella. Per esempio se in database per organizzare una Biblioteca si dovessero inserire notizie sui singoli autori è possibile inserire una tabella in cui ad ogni record corrisponderà un autore
Relazione uno a molti Codice libro Codice autore Cognome Nome titolo Genere Nazionalità Prezzo Anno di nascita Numero di pagine Codice autore
Nella relazione uno a molti ogni record della prima tabella può essere correlato a più record della seconda per esempio tra la tabella libri ed autori è stata impostata una relazione che consente di individuare tutti i libri presenti dello stesso autore contenuti nella tabella libri
Relazione molti a molti Codice iscritto Cognome Codice corso Data inizio Codice iscrizione Data fine Codice corso Codice iscritto Nome Indirizzo Cap Città Telefono Codice libro Codice corso
Per esempio se si vogliono organizzare nella biblioteca corsi di lettura è necessario costruire un data base per l’iscrizione ai corsi Considerato che ogni corso ha più iscritti e che un iscritto può frequentare più corsi a ogni record della tabella corsi di lettura corrispondono più iscritti e viceversa La relazione molti a molti viene impostata scomponendola in due relazioni uno a molti e creando una terza tabella di collegamento in cui saranno inseriti i campi chiave primaria delle altre due.
Integrità della relazione tra tabelle • Le relazioni tra le tabelle devono essere chiare e perciò ü le tabelle devono essere nello stesso data base ü Nelle tabelle correlate deve essere presente un campo comune ü Uno dei due campi deve essere una chiave primaria ü I campi correlati devono avere lo stesso tipo di dati(numeri con numeri, testo con testo ecc) ü I campi correlati di tipo numerico devono avere la stessa dimensione
Integrità referenziale L’integrità referenziale è un insieme di regole che si può applicare alle relazioni per assicurare che le stesse siano valide e per evitare che i campi correlati vengano eliminati o modificati per errore Facciamo un esempio: Consideriamo un database biblioteca applichiamo l’integrità referenziale alle tabelle Autori e libri in modo che:
• L’aggiunta di un libro nella tabella Libri se nella tabella Autori non è stato inserito il relativo autore • La cancellazione di un autore dalla relativa tabella finchè nella tabella libri esistono suoi libri correlati • La modifica del Codice autore nella tabella Autori se esistono record correlati nella tabella Libri
Esprimendo questi concetti con un linguaggio tecnico: o L’aggiunta di un record sul lato molti senza l’esistenza di un record sul lato uno della relazione o L’eliminazione di un record sul lato uno senza prima avere eliminato tutti i record sul lato molti o La modifica del valore di campo di un campo chiave primaria di una tabella primaria dal quale dipendono i record di una tabella correlata
Operatività I database relazionali professionali (ad es un database che gestisce l’orario dei treni) sono assai complessi e sono realizzati da specialisti definiti progettisti e sviluppatori Il progettista si occupa di individuare i problemi ed analizza le esigenze da soddisfare per consentire alle aziende di gestire il maggior numero di dati per controllare e pianificare le loro attività Lo sviluppatore si occupa di codificare e testare gli oggetti logici del database verifica le procedure di Memorizzazione dei pulsanti delle funzioni ecc
L’utente Una volta generato il data base gli amministratori di sistema dovranno istruire gli utenti sulle procedure per un utilizzo corretto del medesimo. L’utente dovrà procedere con l’inserimento dei dati attraverso tabelle e maschere a sarà responsabile della loro gestione Inoltre dovrà conoscere le tecniche per ottenere le informazioni richieste
L’amministratore di un database è un tecnico detto sistemista che si occupa della installazione, manutenzione e configurazione del medesimo. Egli specifica le procedure operative, configura il sistema ed è perciò in grado di regolare gli Accessi attraverso un meccanismo di identificazione che rende possibile l’accesso solo ad alcuni utenti
L’ amministratore dovrà essere in grado anche di risolvere problemi riguardanti eventuali problemi dovuti ad errori procedurali dovuti al malfunzionamento di hardware o software. L’arresto dell’applicazione è la causa principale di danneggiamento del database perciò bisogna stabilizzare il sistema operativo e nel caso in cui si operi in zone soggette ad interruzioni di corrente elettrica è bene avere a disposizione un gruppo di continuità. Anche i dischi rigidi sono soggetti a problemi(temperature alte o basse , campi magnetici), perciò è bene predisporre una strategia di backup servendosi di supporti quali DVD, CD-ROM da conservare in luoghi differenti E ‘importante l’ impiego di un software antivirus
- Slides: 51