Basi di dati e principi applicativi Sommario Basi di dati: concetti generali Progettare una base dati: il modello E-R Implementare una base dati: Mircosoft Office Access Creare campi, record e tabelle Creare relazioni Maschere Interrogare una base dati:query Report Università degli studi di Salerno 2 Basi di dati: concetti generali [1] La parola inglese Database viene in genere tradotta con la locuzione italiana Base di Dati. Ma con essa cosa si intende? Proviamo a dare una prima definizione: Database: Un archivio contenente dati eterogenei, organizzati dall’elaboratore grazie ad applicativi denominati DataBase Management System (DBMS) Per archivio si intende una memoria di lavoro per gestire una grande quantità di dati, per cui alcuni esempi sono: la rubrica del telefono, gli archivi delle biblioteche, le cartelle cliniche, ecc. Università degli studi di Salerno 3 Basi di dati: concetti generali [2] Il DataBase Management System Il DataBase Management System è un applicativo che permette la gestione di un database. I principali servizi che offre un DBMS sono: > memorizzazione dei dati > organizzazione dei dati > gestione dei dati > ricerca dei dati > elaborazione dei dati Università degli studi di Salerno 4 Basi di dati: concetti generali [3] Altre funzioni di un DBMS sono: > Validare i dati controllando che essi siano corretti e che rispondano alle regole d’inserimento fissate > Normalizzare il database verificando che non ci siano inutili duplicazioni di dati e permettendo di eliminarle senza perdita sostanziale di informazione > Indicizzare i dati organizzandoli secondo la struttura prestabilita e ordinandoli di conseguenza > Verificare la coerenza dei dati in modo che alla modifica di un dato vengano aggiornati automaticamente tutti i dati eventualmente dipendenti da esso > Regolare l’accesso agli utenti alla base dati Università degli studi di Salerno 5 Basi di dati: concetti generali [4] Un DBMS può ricevere comandi: > Direttamente dall’utente in modo interattivo, tramite particolari comandi appartenenti ai linguaggi ‘accettati’ da quel particolare DBMS. > Tramite un programma scritto in un linguaggio algoritmico tradizionale che ingloba alcuni comandi appartenenti ai linguaggi ‘accettati’ dal DBMS. > Questi linguaggi possono essere raggruppati in base alle loro funzioni: > DDL (Data Description Language), tramite i quali si definiscono le strutture del database. Si dice cioè come dovrà esse la base di dati. > DML (Data Manipulation Language),che servono per impartire comandi di elaborazione dei dati. > QL (Query Language) o linguaggi di interrogazione, che presentano un natura interattiva. Università degli studi di Salerno 6 Basi di dati: concetti generali [5] Componenti funzionali di un DBMS > Tabella di descrizione database, è una tabella in cui è descritto il modello e le caratteristiche del database. > Tabella delle autorizzazioni, è una tabella in cui sono presenti le informazioni dei vari utenti riguardo ai loro permessi di accesso ai vari dati. > Tabella per accesso concorrente, ha la funzione di permettere la gestione del traffico di più richieste operati contemporaneamente sui medesimi dati. > Language processor, i comandi vengono ricevuti da questa unità, che ha il compito di metterli in relazione con le specifiche di definizione del modello (contenute nella tabella di descrizione del database) e trasmetterli al Database Manager. > Database Manager, ha il ruolo di ricevere i comandi espressi a livello concettuale cioè operanti sul modello astratto dei dati e tradurli in comandi a livello fisico trasmettendoli al file system del sistema operativo non prima di aver fatto gli opportuni controlli sulla tabella di autorizzazione e sulla tabella di accesso concorrente. Università degli studi di Salerno 7 Basi di dati: concetti generali [6] Componenti funzionali di un DBMS Esistono diverse tipologie di Database può essere di diversi tipi: > Piano o non Relazionale: in cui i dati sono contenuti in un’unica tabella > Relazionale: la cui struttura è più complessa perché i dati sono raccolti in più tabelle collegate tra loro > Gerachico: organizzato secondo uno schema ad albero, costituito da tanti nodi collegati tra loro in maniera gerarchica, ciascuno dei quali contiene un’informazione > Reticolare: basato sui grafi, escludendo qualsiasi tipo di gerarchia che colleghi in qualche modo le informazioni. Università degli studi di Salerno 8 Basi di dati: concetti generali [7] il database relazionale e la sua struttura Nel Database Relazionale, i dati sono organizzati in più tabelle, che possono essere correlate, ed è possibile estrarre informazioni da più tabelle contemporaneamente. Gli elementi costitutivi di un Database Relazionale, partendo dal più piccolo, sono: > > > > I Campi I Record Le Tabelle I File Università degli studi di Salerno 9 Basi di dati: concetti generali [8] i campi Un campo è l’unità base di un Database. E’ uno spazio nel Database che contiene un’unità di informazione, ed è identificato da un nome. Esempi: Cognome Numero di telefono NOME CAMPI Rossi 081/598734 INFORMAZIONI Ricorda: quando si crea un Database è necessario includere un campo per ogni categoria di dati cui si è interessati. Università degli studi di Salerno 10 Basi di dati: concetti generali [9] i records Un record è costituito da un insieme di campi che riportano informazioni riferite ad un singolo soggetto. Cognome Nome Città Rossi Mauro Salerno Nome dei Campi RECORD Esempio: in un Database che raccoglie i dati dei pazienti di un medico, tutte le informazioni relative ad un singolo paziente rappresentano un record. Università degli studi di Salerno 11 Basi di dati: concetti generali [10] le tabelle Una tabella è un elenco che visualizza più record contemporaneamente. Esempio: l’insieme delle informazioni relative a tutti i pazienti di un medico: TABELLA Cognom e Nome Città Rossi Mauro Salerno Verdi Antonio Napoli campo record record Più precisamente ogni riga di una tabella del Database è costituita da un record, ognuno dei quali è suddiviso in campi, che costituiscono le colonne. Università degli studi di Salerno 12 Basi di dati: concetti generali [11] i file ✓ Un file di Database contiene una o più tabelle ✓ Nel caso dell’applicativo Access, i file vengono salvati con l’estensione MDB (Microsoft Database) Università degli studi di Salerno Progettare una base dati: il modello E-R [1] le tre fasi della progettazione Un Database, come ogni archivio, va progettato. Le fasi di progettazione di un Database sono tre: 1. Progetto CONCETTUALE; 2. Progetto LOGICO; 3. Progetto FISICO. Università degli studi di Salerno Progettare una base dati: il modello E-R [2] il progetto concettuale E’ questa la prima fase di costruzione di un Database, il cui scopo è quello di individuare la struttura dei DATI che devono essere “archiviati” e le RELAZIONI tra loro esistenti. Tale fase prevede la costruzione di diagrammi entità relazioni (ERD), costituiti da 4 elementi principali: •ENTITA’: è un qualsiasi oggetto concettuale che caratterizza l’applicazione in questione e che può essere individuato e distinto dagli altri; •ATTRIBUTI: insieme di valori che caratterizzano un’entità; •ATTRIBUTI CHIAVE: insieme degli attributi sufficienti ad identificare univocamente un’entità; •RELAZIONI: dipendenze o associazioni di interesse informativo tra le entità rappresentate. Università degli studi di Salerno Progettare una base dati: il modello E-R [3] esempio di ERD Un’azienda che vende all’ingrosso necessita di un archivio per gestire gli ordini fatti da tutti i negozi che fornisce: Città Città Codice Ordine Codice Ordine Indirizzo Indirizzo Data Data Prezzo Prezzo Codice Articolo Nome NEGOZIO NEGOZIO Telefono Telefono ARTICOLO ARTICOLO ORDINE ORDINE ID Articolo ID Negozio comprende ENTITA’ ATTRIBUTO = emettere RELAZIONE Università degli studi di Salerno = = Progettare una base dati: il modello E-R [4] il progetto logico Questa è la seconda fase della costruzione di una base di dati, in cui lo schema ER precedentemente costruito viene trasformato nello schema logico relazionale, ovvero in tabelle che successivamente saranno implementate. In particolare: - ad ogni ENTITA’ corrisponde una TABELLA; - i CAMPI di ogni tabella sono gli ATTRIBUTI dell’entità cui fa riferimento la tabella stessa. Università degli studi di Salerno Progettare una base dati: il modello E-R [5] dal progetto concettuale al progetto logico Riprendendo l’esempio precedente, lo schema logico relazionale sarà il seguente: Tabella NEGOZIO ID Negozio Nome Città Indirizzo Codice Articolo Prezzo Telefono Tabella ORDINE Codice Ordine Data Tabella ARTICOLO ID Articolo Università degli studi di Salerno Progettare una base dati: il modello E-R [6] che cos’è la normalizzazione? La NORMALIZZAZIONE è una tecnica di verifica dei risultati della progettazione che porta all’organizzazione dei dati omogenei in tabelle correlate con legami efficienti, eliminando ridondanze, inconsistenze e anomalie in aggiornamento. La Normalizzazione avviene usando tre FORME NORMALI (forme di verifica): •Prima Forma Normale; •Seconda Forma Normale; •Terza Forma Normale. Università degli studi di Salerno Progettare una base dati: il modello E-R [7] prima forma normale Condizione: in una tabella, gli elementi delle colonne devono essere ad un sol valore, ovvero ogni attributo non può avere più di un valore per un singolo record. Esempio: Articolo 1 Negozi acquirenti A B C D NO In questo caso l’attributo “Negozi acquirenti” riporta quattro valori per un solo record; non essendo ciò possibile occorre la Normalizzazione. N.B. L’insieme di dati omogenei raggruppati tra loro si chiama ARRAY (A B C D) e quindi in una tabella si può dire che gli elementi delle colonne non possono essere degli array. Università degli studi di Salerno Progettare una base dati: il modello E-R [8] Normalizzazione: nel caso di presenza di array, normalizzare la tabella significa suddividere le informazioni in tante righe quanti sono i valori dell’array. Esempio: Articolo Negozi acquirenti 1 A 1 B 1 C 1 D In questo caso, i record diventano quattro e non più uno. Università degli studi di Salerno 21 Progettare una base dati: il modello E-R [9] seconda forma normale Condizione: se in una tabella la chiave primaria è costituita da più di un attributo (più campi), ogni campo (o colonna) non appartenente alla chiave deve dipendere dall’insieme delle chiavi, e non solo da una di queste. Esempio: Articolo Negozio acquirente Quantità Indirizzo 1 Conad 500 Via Garibaldi In questo esempio, in cui le chiavi primarie sono “Articolo” e “Negozio acquirente”, l’attributo “Quantità” dipende da tutte e due (una certa quantità di un articolo è acquistata da un determinato negozio), ma l’attributo “Indirizzo” dipende solo dalla chiave “Negozio acquirente” (l’indirizzo appartiene al negozio, indipendentemente dall’articolo acquistato) Università degli studi di Salerno Progettare una base dati: il modello E-R [10] Normalizzazione: normalizzare significa ‘spezzare la tabella’ e produrre tante tabelle che soddisfino la condizione, in modo, quindi, che i campi non appartenenti alla chiave dipendano da essa. Esempio: Articolo Negozio acquirente Quantità 1 Conad 500 + Negozio acquirente Indirizzo Conad Via Garibaldi Università degli studi di Salerno Progettare una base dati: il modello E-R [11] terza forma normale Condizione: in una tabella, la dipendenza fra le colonne deve essere basata solo sulla chiave primaria, ovvero non ci deve essere nessun legame di dipendenza fra attributi che non sono chiavi primarie (dipendenze transitive). Esempio: Codice Album Titolo Cantante Data di nascita Nazionalità 1 Ricordami Baglioni 12-03-1953 italiana Nell’esempio, gli attributi “Data di nascita” e “Nazionalità” non dipendono dalla chiave “Codice Album”, ma dall’attributo “Cantante” che non è chiave primaria. Università degli studi di Salerno 24 Progettare una base dati: il modello E-R [12] Normalizzazione normalizzare significa produrre tante tabelle che soddisfino la condizione, quindi ‘spezzare’ la tabella che non soddisfa la condizione e spostare le dipendenze transitive in una tabella collegata alla prima tramite una chiave esterna. Esempio: Id Cantante Nome Data di nascita Nazionalità 1 Baglioni 12-03-1953 Italiana + Codice album Titolo Id cantante 1 Ricordami 1 CHIAVE ESTERNA Università degli studi di Salerno Progettare una base dati: il modello E-R [13] il progetto fisico L’ultima fase della progettazione di un Database, prevede la sua implementazione, ovvero la creazione vera e propria del Database fatta al computer.Prima di fare ciò, per ogni campo di ciascuna tabella occorre definirne il TIPO a seconda dell’informazione che contiene, potendo scegliere tra diverse opzioni quali per esempio: •Testo •Memo Numero; Data; Valuta; •Logico Contatore. L’applicativo più comunemente usato per l’implementazione è Microsoft Access. Università degli studi di Salerno Progettare una base dati: il modello E-R [14] a cosa servono le tabelle? Le Tabelle sono l’unità base di un Database. Rappresentano la struttura tipica all’interno della quale vengono memorizzati i dati; un Database è in grado di gestire contemporaneamente più tabelle. Loro scopo è quello di raggruppare record omogenei, ovvero raccolgono un insieme di dati relativi ad un argomento specifico (ENTITA’). Esempio: nell’archivio per la gestione dei libri di una biblioteca, tutti i dati di ogni singolo libro possono essere raggruppati in una tabella “Libri” Università degli studi di Salerno Progettare una base dati: il modello E-R [15] struttura delle tabelle Una tabella è costituita da: • un insieme di campi, cioè spazi nei quali vengono inseriti i dati, nonché le informazioni relative all’argomento della tabella (es. nella tabella “Libri” titolo del libro, autore, anno di pubblicazione, …). Titolo Autore Anno CAMPO CAMPO CAMPO ogni RIGA prende il nome di record e contiene tutte le informazioni relative ad un’entità dell’argomento (es.titolo, autore e anno di un singolo libro). Titolo Autore Anno I miei Anni Ferrari 1980 ogni COLONNA riporta le informazioni relative ad uno specifico attributo (campo). Università degli studi di Salerno Progettare una base dati: il modello E-R [16] creazione di una tabella Una tabella è il risultato della trasformazione del diagramma ER. La prima fase della sua creazione consiste nel determinare: Lo scopo della tabella e quindi l’argomento cui fa riferimento ciò che nel diagramma ER rappresenta l’ENTITA’; I campi della tabella e quindi il tipo di informazioni che si intendono raccogliere relative all’argomento ciò che nel diagramma ER rappresentano gli ATTRIBUTI. Università degli studi di Salerno Progettare una base dati: il modello E-R [17] esempio di creazione di una tabella Immaginiamo di voler archiviare i libri conservati in una biblioteca, per poter tenere sotto controllo la loro gestione. È necessario quindi raccogliere in una tabella importanti informazioni relative ad ogni singolo libro. Quindi: ARGOMENTO = Libri; CAMPI = Titolo, Anno di pubblicazione, Autore. Tabella Libri: Titolo Anno di pubblicazione Autore Università degli studi di Salerno Progettare una base dati: il modello E-R [18] regole per la creazione di tabelle •Non ripetere le stesse informazioni in più tabelle, quindi evitare ridondanze; •Evitare di creare voci con lo stesso nome che contengono informazioni diverse; •Ogni tabella deve contenere informazioni omogenee in modo da agevolare l’archiviazione e la ricerca delle informazioni. Università degli studi di Salerno Progettare una base dati: il modello E-R [19] chiavi primarie L’ultimo elemento da considerare nella creazione di una tabella è l’inserimento di un campo chiave o chiave primaria, che permette di identificare in modo inequivocabile ogni singolo record. In genere è numerato in modo progressivo. ID Libro Titolo Anno di pubblicazione Autore Pertanto il campo chiave non può mai: • ammettere duplicati; • Essere vuoto. Università degli studi di Salerno Progettare una base dati: il modello E-R [20] ID Libro Titolo Anno di pubblicazione Autore 1 Il cielo 1990 Scalise 2 Era mio padre 1985 Rossi Nell’esempio, l’ “ID Libro=1” identifica solo ed esclusivamente il libro “Il cielo”, per tanto il secondo libro non può essere identificato con lo stesso ID (1), bensì con l’ ID=2, che identifica solo il secondo libro, e così via. Ricorda: - Un campo chiave può essere dato anche da un gruppo di campi: - I campi candidati ad essere campi primari di una tabella sono detti determinanti. Università degli studi di Salerno Progettare una base dati: il modello E-R [21] gli indici La chiave primaria di una tabella è un campo indicizzato, perché permette di ordinare i dati secondo un ordine logico e di trovare rapidamente quelli che cerchiamo. In una tabella, gli indici permettono quindi di: • ORDINARE I RECORD secondo un ordine logico, basato cioè sul contenuto (alfabetico, numerico, cronologico) e non sull’ordine di inserimento; • TROVARE I RECORD che ci interessano più velocemente, evitando di doverli scorrere tutti; in altre parole consentono di raggiungere direttamente il record che vogliamo. Università degli studi di Salerno Progettare una base dati: il modello E-R [22] - In una tabella l’INDICE può essere anche un campo diverso da quello chiave. - Tra le proprietà attribuibili a ogni campo c’è infatti anche “Indicizzato” Esempio: Anno di pubblicazione indicizzato Ciò significa che i record della tabella saranno ordinati secondo il contenuto di quel campo e la fase di ricerca delle informazioni sarà agevolata proprio attraverso il campo stesso. Università degli studi di Salerno Progettare una base dati: il modello E-R [23] Le relazioni tra tabelle Sappiamo che per organizzare al meglio un archivio, bisogna creare tante tabelle quante sono le tipologie di dati da raccogliere (es. tabella ‘libri’ e tabella ‘autori’) : ID Libro Titolo Anno di pubblicazione Autore ID Autore Nome Cognome Data di nascita Tra le tabelle che costituiscono un archivio è possibile creare delle relazioni, in modo da poter estrarre informazioni da più tabelle contemporaneamente, e quindi unire tali informazioni. Per RELAZIONI si intendono quindi associazioni tra tabelle. Università degli studi di Salerno Progettare una base dati: il modello E-R [24] come stabilire le relazioni Due tabelle per essere correlate devono avere un campo in comune. Una relazione tra due tabelle si basa sempre sull’uso di una: • CHIAVE PRIMARIA, che nella tabella A, detta tabella primaria, identifica in modo univoco ogni singolo record e perciò non ammette duplicati; • CHIAVE ESTERNA, che permette di collegare la tabella B, detta tabella secondaria, con la tabella A, riportando gli stessi dati della chiave primaria di quest’ultima, ammettendo duplicati. ! Una Relazione è quindi una corrispondenza tra il campo chiave primaria di una tabella x e il campo chiave esterna di una tabella y. Università degli studi di Salerno Progettare una base dati: il modello E-R [25] esempio: creare una relazione Immaginiamo sempre di voler gestire i dati relativi ai libri di una biblioteca e agli autori dei volumi: Tabella Autori ID Autore Tabella Libri ID Libro ID Autore Nome Cognome Titolo Data di nascita Anno di pubblicazione ID Autore Chiave primaria nella prima tabella e non ammette duplicati perché identifica in maniera univoca ogni singolo autore; Chiave esterna nella seconda e ammette duplicati perché libri diversi possono essere stati scritti dallo stesso autore Università degli studi di Salerno Progettare una base dati: il modello E-R [26] Per cui, inserendo i dati, potremmo avere: ID Autore Nome Cognome Data di nascita 1 Carlo Insegno 13-04-1950 2 Antonio Ponti 14-09-1953 ID Libro Titolo Anno di pubblicazione ID Autore 1 Il gabbiano 1977 1 2 L’Alba 1980 1 Nell’esempio, i due libri sono stati scritti dallo stesso autore. Grazie alla relazione tra le due tabelle resa dalla CHIAVE ESTERNA “ID Autore”, per ogni libro è possibile avere delle informazioni anche sull’autore, estrapolate dalla tabella primaria. Università degli studi di Salerno Progettare una base dati: il modello E-R [27] quanti tipi di relazioni esistono? La Relazione che intercorre tra due tabelle di un Database può essere di tre tipi: RELAZIONE UNO A UNO; RELAZIONE UNO A MOLTI; RELAZIONE MOLTI A MOLTI. N.B. Definire la cardinalità significa esprimere numericamente il tipo di relazione che c’è tra due tabelle (es. 1:1). Università degli studi di Salerno Progettare una base dati: il modello E-R [28] relazione uno a uno Un record di una tabella può essere correlato ad un solo record di una seconda tabella. Quindi la chiave esterna NON AMMETTE DUPLICATI. 1 ID Studente Nome Cognome Matricola 1 Rossi Federica 336498 1 ID Tesi Titolo Anno ID Studente 1 L’arte 2000 1 Nell’esempio, la relazione è del tipo 1:1 perché una determinata tesi può essere stata scritta da un solo studente. Università degli studi di Salerno Progettare una base dati: il modello E-R [29] relazione uno a molti Un record univoco di una tabella può essere correlato a più record di un’altra tabella, ma non viceversa. 1 ID Docente Nome Cognome 1 Mario Cadillo ∞ ID Studente Nome Cognome ID Docente 1 Roberto Palumbo 1 2 Caterina Sola 1 Nell’esempio, la relazione è del tipo 1:¥ perchè un docente può essere il relatore di più studenti, ma uno studente non può avere più di un relatore. Università degli studi di Salerno Progettare una base dati: il modello E-R [30] relazione molti a molti Più record di una tabella possono essere correlati a più record di un’altra tabella. ! Questo tipo di relazione comporta necessariamente l’introduzione di una terza tabella, detta tabella di congiunzione, in cui si riportano le chiavi primarie di entrambe le tabelle, che qui diventano chiavi esterne e quindi ammettono duplicati. La TABELLA DI CONGIUNZIONE permette quindi di relazionare due tabelle aventi più record collegati tra loro, attraverso l’impostazione di una relazione 1: ¥ tra ciascuna tabella e la tabella di congiunzione stessa. Università degli studi di Salerno Progettare una base dati: il modello E-R [31] Immaginiamo che il nostro archivio sia formato dalla tabella “esami” e la tabella “studenti”: 1 ID Esame Materia Docente 1 Geografia Rossi 2 Storia Verdi ID Esame ID Studente 1 1 2 1 1 2 2 2 1 ID Studente Nome Cognome 1 Gaetano Vitaliano 2 Anna Crespo Università degli studi di Salerno Progettare una base dati: il modello E-R [32] Nell’esempio, la relazione è del tipo Molti : Molti perché uno stesso esame può essere sostenuto da più studenti e viceversa uno stesso studente può sostenere più esami. Per cui è necessaria la tabella di congiunzione, con la quale la tabella “esami” e la tabella “studenti” hanno una relazione 1: Molti, e grazie a questa tabella è possibile estrapolare informazioni da entrambe le tabelle principali, e quindi avere informazioni su tutti gli studenti che hanno sostenuto un determinato esame oppure sugli esami che un determinato studente ha sostenuto. Università degli studi di Salerno Progettare una base dati: il modello E-R [33] l’integrità referenziale Definite le relazioni, è possibile impostare l’ Integrità Referenziale. L’Integrità referenziale si basa su alcune regole principali: Non è possibile immettere un valore nel campo chiave esterna della tabella correlata che non esista nella chiave primaria della tabella primaria; Non è possibile eliminare un record da una tabella primaria se esistono record corrispondenti in una tabella correlata; Non è possibile modificare un valore chiave primaria nella tabella primaria se quel record dispone di record correlati. L’Integrità referenziale serve quindi per assicurare che le relazioni tra i record delle tabelle correlate siano valide. Università degli studi di Salerno Implementare una base dati: Microsoft Access [1] le caratteristiche di Microsoft Access Microsoft Access è il DBMS più frequentemente utilizzato per l’implementazione e la gestione di database. Un database Access è organizzato secondo la tipologia relazionale che prevede che i dati e le relazioni fra i dati siano rappresentati come tabelle. Le relazioni fra le diverse tabelle sono definite implicitamente attraverso campi comuni alle tabelle stesse. Access rappresenta quindi un Sistema di Gestione di Basi di Dati Relazionale (rdbms), in grado di creare e aggiornare archivi, di definire collegamenti tra essi, di estrarre informazioni secondo modalità standard e flessibili, di fissare vincoli di integrità sui dati, di evitare ridondanze (ripetizioni) nelle archiviazioni, di definire sistemi di sicurezza nell’aggiornamento dei dati e di protezione degli accessi. E’ in grado, quindi, di gestire grosse moli di dati. Università degli studi di Salerno Implementare una base dati: Microsoft Access [2] come accedere a Microsoft Access Il percorso da fare è: START PROGRAMMI MICROSOFT ACCESS Università degli studi di Salerno Implementare una base dati: Microsoft Access [3] come procedere nella creazione di un database Dopo aver aperto Microsoft Access, si procede alla creazione di un Database: DATABASE VUOTO Finestra SALVA DATABASE Database vuoto Salva database Notiamo che prima ancora di creare il nostro Database, la prima cosa da fare è salvarlo, attribuendogli naturalmente un nome e specificando dove lo si vuole salvare. Università degli studi di Salerno Microsoft Access [4]: creare campi record e tabelle creare la prima tabella Access da ora la possibilità di creare la prima tabella, e quindi di “mettere in piedi” il Database. Creare una tabella in visualizzazione struttura OGGETTI del database La costruzione della tabella avviene in visualizzazione Struttura. Università degli studi di Salerno Microsoft Access [5]: creare campi record e tabelle La visualizzazione Struttura permette di: • Immettere i NOMI DEI CAMPI da includere nella tabella; • Definire il TIPO di dati che ogni campo dovrà contenere; • Definire le PROPRIETA’ di ogni campo; • Definire la CHIAVE PRIMARIA della tabella, posizionandosi sul campo candidato e premendo sull’icona opportuna. Per creare la chiave primaria. Nomi campi Tipo dati Proprietà campi Università degli studi di Salerno Microsoft Access [6]: creare campi record e tabelle Immessi tutti i campi necessari, e quindi costruita la struttura della tabella, occorre: • salvarla; • darle un nome. Oggetto “tabelle” Tabella creata La tabella così creata, apparirà nell’oggetto “TABELLE”. Da questa finestra sarà possibile creare altre tabelle cliccando sull’icona e seguire sempre la stessa procedura. Università degli studi di Salerno Microsoft Access [7]: creare relazioni creare le relazioni tra tabelle Cliccare sull’icona “Relazioni”: “Relazioni” Apparirà una finestra per scegliere le tabella da correlare: Università degli studi di Salerno Microsoft Access [8]: creare relazioni Una volta scelte le tabelle, queste appariranno visualizzate nella Finestra “Relazioni” : Per creare la relazione, basta trascinare il campo chiave primaria della tabella primaria (es. “id cantante” tabella 2) sul campo chiave esterna della tabella secondaria (es. “id cantante” tabella 1), ed appare una piccola finestra, “Modifica Relazioni” in cui poter applicare l’integrità referenziale. Università degli studi di Salerno Microsoft Access [9]: creare relazioni Nella Finestra “Relazioni” sarà poi possibile visualizzare la relazione creata e le cardinalità della relazione stessa: Nell’esempio, abbiamo una relazione Uno a Molti (1: ¥). Università degli studi di Salerno Microsoft Access [10]: creare relazioni inserire i dati nelle tabelle Per inserire i dati all’interno del Database è possibile farlo tramite le TABELLE precedentemente create: • selezionare la tabella; • aprirla. Tabella da aprire Università degli studi di Salerno Microsoft Access [11]: creare relazioni La tabella si aprirà in Visualizzazione Foglio dati e a questo punto sarà possibile inserire tutti i dati necessari, nei rispettivi campi. Chiudendo la tabella, i dati vengono memorizzati automaticamente. Visualizzazione foglio dati Università degli studi di Salerno Microsoft Access [12]: maschere che cos’è una maschera La Maschera è un’INTERFACCIA GRAFICA che semplifica le operazioni di visualizzazione, inserimento e modifica dei dati di un database. Una maschera può visualizzare solo determinate informazioni che interessano l’utente, a differenza delle tabelle che presentano l’elenco completo di tutti i record relativi ad uno stesso argomento. La peculiarità consiste nel fatto che i campi di una maschera possono essere prelevati da più tabelle diverse, e quindi ogni record di una maschera può essere rappresentato da informazioni provenienti da tabelle differenti. Esempio: attraverso una maschera è possibile visualizzare in un unico record le informazioni relative ai libri di una biblioteca e le informazioni relative agli autori di tali libri. Università degli studi di Salerno Microsoft Access [13]: maschere creazione di una maschera La creazione di una maschera avviene secondo procedimenti sequenziali, e partendo dalla prima operazione occorre impostare: • i CAMPI, e quindi i dati, delle tabelle o delle query relative, che si vogliono inserire nella maschera; • il LAYOUT da applicare alla maschera; • lo STILE da attribuire alla maschera; • il TITOLO da assegnare alla maschera; • La MODALITA’ DI APERTURA della maschera. Ogni informazione all’interno di una maschera è contenuta in un controllo. Università degli studi di Salerno Microsoft Access [14]: maschere riempimento di una maschera Le maschere sono simili a moduli cartacei: ad ogni campo corrisponde un’etichetta ed è previsto uno spazio utilizzabile per l’inserimento delle informazioni. Una maschera può essere riempita inserendo nuovi record che si vanno ad aggiungere a quelli già presenti nella maschera stessa. N.B. i dati introdotti in una maschera vengono automaticamente introdotti nella tabella o nelle tabelle che supportano la maschera stessa. Università degli studi di Salerno Microsoft Access [15]: maschere impostazioni avanzate Su o o o o o una maschera si può operare in diversi modi, potendo: impostare/visualizzare le proprietà; inserire un’intestazione ; inserire piè di pagina; inserire etichette, pulsanti, immagini ed altro ancora; cambiare il colore di sfondo, il carattere, ecc. Inoltre è possibile: • modificare i dati; • cancellare uno o più record. Università degli studi di Salerno Microsoft Access [16]: maschere estrarre dei dati da un database: le maschere Per estrarre dei dati da un database attraverso le maschere, occorre: - selezionare l’oggetto maschere dalla Finestra “Oggetti” ; - clic su Crea una maschera mediante una creazione guidata. Oggetto maschere Crea mediante una creazione guidata Università degli studi di Salerno Microsoft Access [17]: maschere Nella Finestra “Creazione guidata Maschera” è poi possibile: - Scegliere le tabelle e i campi da cui estrarre i dati; - Sceglier il layout da attribuire alla maschera; Università degli studi di Salerno Microsoft Access [18]: maschere - Scegliere lo stile da utilizzare; - Scegliere il titolo da assegnare alla maschera Università degli studi di Salerno Microsoft Access [19]: maschere A questo punto la nostra maschera è creata. Ad essa è possibile apportare modifiche varie (sfondo, carattere, ecc.) aprendola in Visualizzazione Struttura: Per aprire in Visualizzazione Struttura Maschera creata MASCHERA IN VISUALIZZAZIONE STRUTTURA Università degli studi di Salerno Microsoft Access [20]: maschere Ricorda: attraverso le maschere è anche possibile “importare” nuovi record nel database, posizionandosi alla fine dell’ultimo record. Per posizionarsi dopo l’ultimo record. ! I nuovi dati inseriti nella maschera, saranno automaticamente inseriti nelle rispettive tabelle. Università degli studi di Salerno Microsoft Access [21]: query che cos’è una query? Una Query rappresenta uno strumento per “interrogare” un database. Permette di recuperare specifiche informazioni tra i tanti dati archiviati nel database e raccolti in tabelle correlate, effettuando ricerche incrociate sui record che rispondono a determinate caratteristiche e filtrando così i dati che interessano, provenienti anche da tabelle diverse. Esempio: in un database che gestisce i libri di una biblioteca, tramite una query posso chiedere di individuare tutti i libri scritti da un certo autore. SQL (Structured Query Language) è il linguaggio standard per creare una query, nonché per interrogare il database. Università degli studi di Salerno Microsoft Access [22]: query creazione di una query di selezione La Query di Selezione permette di selezionare ed estrapolare all’interno del database i dati contenuti in determinati campi di una tabella che rispondono a determinate condizioni di ricerca. La sintassi per la formulazione della domanda è: SELECT nomi_campi FROM nome_tabella WHERE condizioni ricerca. Esempio: vogliamo conoscere il saldo residuo relativo ad un determinato numero di conto corrente SELECT saldo FROM conto corrente WHERE numero conto corrente = 125 CAMPO TABELLA CONDIZIONE Università degli studi di Salerno Microsoft Access [23]: query tipologie particolari di query 1. QUERY DI ORDINAMENTO: Ordina i dati della ricerca secondo l’ordine da noi stabilito, ovvero secondo i dati di un campo che scegliamo. Sintassi: SELECT nomi_campi FROM nome_tabella ORDER BY campo. Esempio: vogliamo estrarre tutti i dati contenuti nella tabella “libri” in modo che tutti i libri siano ordinati a seconda dell’anno di pubblicazione. SELECT * FROM libri ORDER BY anno di pubblicazione COMANDO PER SELEZIONARE TUTTI I CAMPI Università degli studi di Salerno Microsoft Access [24]: query 2. QUERY DI ACCODAMENTO: permette di aggiungere nuovi dati in una tabella passandoli come stringhe di valori, anziché aggiungerli direttamente nelle tabelle stesse. Sintassi: INSERT INTO nome_ tabella VALUES dati da aggiungere. Esempio: vogliamo inserire un nuovo libro nella tabella “Libri” INSERT INTO libri VALUES (i miei giorni, 1980). DATI CHE ANDRANNO NEI CAMPI “Titolo” e “Anno di pubblicazione” Università degli studi di Salerno Microsoft Access [25]: query 3. QUERY DI ELIMINAZIONE: permette di eliminare da una tabella i record selezionati mediante le istruzioni della query. Sintassi: DELETE FROM nome_tabella WHERE nome _campo = condizione. Esempio: vogliamo eliminare dalla tabella “libri” il libro “I miei giorni” DELETE FROM libri WHERE titolo = I miei giorni. Università degli studi di Salerno Microsoft Access [26]: query 4. QUERY DI AGGIORNAMENTO: permette di aggiornare il valore dei campi di una tabella in base alle istruzioni della query. Sintassi: UPDATE nome_tabella SET nome_campo da aggiornare = aggiornamento WHERE nome_campo = condizione. Esempio: vogliamo aumentare del 10% il saldo del conto del signor Bianchi. UPDATE conto corrente SET saldo = saldo * 1,1 WHERE cognome = Bianchi. Università degli studi di Salerno Microsoft Access [27]: query 5. QUERY DI JOIN (UNIONE): chiama in gioco due tabelle correlate tra loro e permette quindi di estrarre specifici dati appartenenti ad entrambe le tabelle. Viene così detta perché unisce i dati di due tabelle, che devono però avere un campo in comune. Sintassi: SELECT nomi_campi FROM nomi_tabelle WHERE nome_campo = condizione AND nome_tabella.nome_campo chiave in comune = nome_tabella.nome_campo chiave in comune. Esempio: vogliamo sapere nome e indirizzo dei correntisti che hanno un movimento in data 13-03-2001. SELECT nome, indirizzo FROM conto corrente, movimento WHERE data = 13-032001 AND conto corrente.numero conto corrente = movimento.numero conto corrente. Università degli studi di Salerno Microsoft Access [28]: query In questo esempio, la query viene così costruita perché chiama in causa due tabelle: - la tabella “Conto Corrente” dove vi sono le informazioni relative ai “nomi” e agli “indirizzi” dei correntisti; - la tabella “Movimento” dove sono riportate le “date” dei movimenti. Le due tabelle sono correlate tra loro attraverso il campo chiave “numero conto corrente”, che permette quindi di estrapolare informazioni sui correntisti e sui movimenti da loro effettuati. Università degli studi di Salerno Microsoft Access [29]: query estrarre dei dati da un database: le query Per “interrogare” il database: - selezionare l’oggetto query dalla Finestra “Oggetti” ; - clic su crea una query in visualizzazione struttura. Oggetto query Crea in visualizzazione struttura Università degli studi di Salerno Microsoft Access [30]: query -Scegliere le tabelle da cui estrarre i dati; Campi Tabelle Criteri Finestra “Mostra tabella” per scegliere le tabelle -Definire i campi da includere, le tabelle da cui estrarli, i criteri; -Eseguire la Query, premendo l’icona -Salvare la query. Università degli studi di Salerno Microsoft Access [31]: query le diverse tipologie di query Per eseguire Query diverse da quelle di selezione, una volta costruita la query, occorre: • Posizionarsi sulla barra dei Menu e cliccare sulla voce Query; • Dal Menu a tendina si può scegliere tra: query di aggiornamento query di accodamento query di eliminazione Specificare quindi eventuali criteri aggiuntivi ed eseguire la Query. Università degli studi di Salerno Microsoft Access [32]: report che cos’è un report - Un Report è uno strumento che permette di organizzare e riepilogare le informazioni contenute in un database. - In italiano il termine corrisponde a RAPPORTO, quindi un report è una sorta di relazione sulle informazioni contenute nel database, un modo per “renderle pubbliche”. - Un Report consente di rappresentare i dati con un accurato profilo estetico grazie alla possibilità di controllare le dimensioni e l’aspetto di tutti gli elementi del report (intestazioni, piè di pagina, corpo e titoli). - In genere i Report sono destinati alla stampa. Università degli studi di Salerno Microsoft Access [33]: report creazione di un report La creazione di un report prevede diverse fasi. Partendo dalla prima, occorre scegliere: le TABELLE o le QUERY dalle quali estrarre i dati, e quindi i CAMPI che vogliamo siano compresi nel Report; su QUALE BASE VISUALIZZARE I DATI; se uno o più campi tra quelli inseriti devono essere usati come CRITERIO DI RAGGRUPPAMENTO; se i record devono essere ORDINATI in base ad un determinato campo; il LAYOUT e l’ORIENTAMENTO da attribuire al Report; lo STILE del Report; il TITOLO per il nostro Report. Università degli studi di Salerno Microsoft Access [34]: report impostazioni avanzate Un • • • • • • Report può essere “manipolato” in diversi modi, essendo possibile: inserire un’intestazione; inserire piè di pagina; consultare e modificare le proprietà; inserire etichette, scegliere il tipo di carattere, aggiungere sfondi, ecc.; aggiungere altri campi, dopo aver già realizzato il Report; modificare i campi, riducendo ad esempio le dimensioni del carattere, o cambiando altre proprietà. Università degli studi di Salerno Microsoft Access [35]: report estrarre dei dati da un database: i report Per avere un “rapporto” su specifici dati contenuti nel database, è necessario: - Selezionare l’oggetto report dalla Finestra “Oggetti”; - Clic su Crea un report mediante una creazione guidata; Oggetto report Crea mediante una creazione guidata Università degli studi di Salerno Microsoft Access [36]: report Nella Finestra “Creazione guidata Report” è possibile: - Scegliere le tabelle e i campi da cui estrarre i dati; - Aggiungere livelli di gruppo; Università degli studi di Salerno Microsoft Access [37]: report - Scegliere il tipo di ordinamento secondo il quale ordinare i campi; - Scegliere il layout del report e l’orientamento da dare alla pagina; Università degli studi di Salerno Microsoft Access [38]: report - Scegliere lo stile da utilizzare; - Scegliere il titolo da assegnare al report. Università degli studi di Salerno Microsoft Access [39]: report A questo punto il report è stato creato e, se si vuole, può essere stampato. Prima, però, ad esso è possibile apportare modifiche varie (sfondo, carattere, ecc.) aprendolo in Visualizzazione Struttura: Per aprire in Visualizzazione Struttura Report creato REPORT IN VISUALIZZAZIONE STRUTTURA Università degli studi di Salerno Bibliografia Semantic Database Systems: A Functional Introduction - C.S.R. Prabhu - University of Nevada Press, 1992 Basi di dati. Concetti, linguaggi e architetture - Paolo Atzeni - McGraw-Hill, 1999 Archivi & computer - Roberto Cerri - “Archivi & computer” 1993 Beginning Database Design - Gavin Powell - John Wiley and Sons, 2005 VB.NET. Programmazione dei Database - Giuseppe Naccarato, Giuseppe Malorgio Apogeo Editore, 2003 How to Do Everything with Microsoft Office Access - Virginia Andersen - McGraw-Hill Professional, 2003 Microsoft Access 2007 - Carolina Testori - da Sprea Book, 2007 Università degli studi di Salerno 86