fondamenti di informatica note - opcode.it · fogli elettronici (excel) e dbms (access) • i fogli...

48
Fondamenti di Informatica NOTE Per Excel, funzioni e operazioni, leggere il capitolo 23.

Upload: nguyendien

Post on 14-Feb-2019

220 views

Category:

Documents


0 download

TRANSCRIPT

Fondamenti di InformaticaNOTE

• Per Excel, funzioni e operazioni, leggere il

capitolo 23.

Fondamenti di Informatica

Prof. De Maio Carmen

DBMS – Introduzione ai DBMS

• Sez. 7.5: Introduzione

• Sez. 22.1: I criteri di archiviazione

• Sez. 20.4, 20.5: Come si usano, DB online

• Sez. 18.2, 22.2, 22.3: Query

[email protected]

Definizione di DB e di DBMS

BASE DI DATI (DB=Database)

•collezione di dati (tipicamente molto corposa)

– memorizzati in un computer

– organizzati in forma strutturata

– condivisi tra più utenti (anche migliaia) e da questi accessibili

contemporaneamente

sui quali è possibile operare efficientemente ricerche e

aggiornamenti

DBMS (Data Base Management System)

•Software che permette di gestire un Database (es.: memorizzare,

cancellare, aggiornare o interrogare i dati)

Fogli elettronici (Excel) e DBMS (Access)

• Molti hanno già utilizzato un programma che permette di gestire

dati

• … Microsoft Excel …

• Adesso impareremo ad utilizzare un suo “fratello”

• … Microsoft Access …

• Cercheremo, prima di tutto, di individuare quali sono le

applicazioni in cui Excel è utilizzato con profitto …

• … e quali sono quelle in cui Excel non è adatto

Fogli elettronici (Excel) e DBMS (Access)

• I Fogli Elettronici (documenti Excel) sono adatti a

– Trattare piccole quantità di dati

– prevalentemente di tipo numerico

– con elevate dipendenze reciproche

• es: bilancio di un’azienda dove, cambiando il valore in una cella si

modificano a cascata i valori presenti in tante altre celle

• Inoltre i fogli elettronici

– hanno notevoli capacità analitiche, grazie alla disponibilità di

funzioni predefinite e alla facilità di costruirne nuove

– permettono di visualizzare i dati attraverso grafici e diagrammi,

aiutando l’analista nella ricerca di trends

Fogli elettronici (Excel) e DBMS (Access)

• Al contrario, i fogli elettronici sono poco adatti per svolgere

operazioni di

– ricerca di informazioni in archivi

– a cui accedono contemporaneamente anche migliaia di utenti

• Spesso, infatti, è necessario “trattare”

– grandi quantità di dati

– di tipo molto diversificato (testi,numeri,date,immagini, …)

– correlati, ma poco dipendenti gli uni dagli altri

• es: schedario di una biblioteca, dove l’inserimento o

l’eliminazione di un volume non ha effetti sulle informazioni che

riguardano altri libri

Organizzazione di una Base di Dati

Tutti i dati sono memorizzati in tabelle

•ogni tabella memorizza (in righe e colonne) informazioni su un

insieme di “oggetti” che hanno identica struttura (es. un insieme di

studenti, di libri, di film, di CD, …)

•righe (dette record, ennuple o tuple) ognuna corrispondente a un

singolo dato (1 libro, 1 studente, …)

•colonne (detti campi o attributi), corrispondenti a singole

informazioni relative ai dati (es. matricola, data di nascita, …)

Tabella con informazioni su una

popolazione di STUDENTI

Matricola Cognome Nome Data di Nascita

276545 Rossi Maria 25/11/1971

485745 Neri Anna 23/04/1972

200768 Verdi Fabio 12/02/1972

587614 Rossi Luca 10/10/1971

937653 Bruni Mario 01/12/1971

DBMS Relazionali: creazione di un DB

• Per utilizzare un DBMS bisogna

– costruire le tabelle che lo compongono.

– Stabilire proprietà di validità delle tabelle (chiavi, vincoli di

integrità), per evitare l'inserimento di dati palesemente sbagliati

– Creare gli strumenti di lavoro. Questi sono (al minimo):

• Interrogazioni o Queries

• Maschere

• Report

TABELLE

• Per utilizzare un DBMS bisogna innanzitutto costruire le tabelle

che lo compongono.

– Per prima cosa bisogna identificare il tipo di informazione (es.

libri) da memorizzare e quali sono le sue proprietà (es. titolo,

autore, pagine, … ) pertinenti per l’applicazione.

– Ad ogni proprietà (colonna o campo) va poi assegnato un nome,

una lunghezza e una categoria di dati

• Un’applicazione semplice può presentare anche una sola tabella, ma

più spesso un DB è composto da più tabelle, collegate tra di loro

tramite valori di campi comuni

TABELLE: Excel vs DB

• Nei fogli elettronici la posizione della cella è fondamentale:

– A1, B5, etc.

• La struttura della tabella non è importante nei fogli elettronici:

– Nei DB è fondamentale perché la struttura identifica i vari dati.

• In un foglio elettronico le singole celle possono ospitare diversi tipi di

dati

– Nei database il formato, il tipo e la lunghezza va dichiarato

all’inizio

Le basi di dati relazionali

Le relazioni tra tabelle

• Per collegare tra loro le tabelle è necessario un campo CHIAVE che

identifica univocamente ogni record.

– Carta di Identità,

– Codice fiscale

– Matricolo per lo studente,

– Etc..

• Il collegamento tra le tabelle è realizzato mediante il meccanismo

della CHIAVE ESTERNA

– I valori della chiave primaria della tabella principale sono

duplicati in un campo della tabella dipendente.

Tipi di Chiave

• Genericamente una chiave è un insieme di campi che identificano un

record;

• CHIAVE PRIMARIA:

– È unica;

– Non è nulla

Le relazioni tra tabelle

Tipi di relazioni

• Relazione uno a uno: a un record della prima tabella corrisponde un

solo record della seconda;

• Relazione uno a molti: a un record della prima tabella corrispondono

più record della seconda;

• Relazione molti a molti: a più record della prima tabella

corrispondono più record della seconda;

Maschera Video

• Una Maschera è uno strumento di interazione con le tabelle del DB

e permette di

– visualizzare un record per volta, utilizzando un’interfaccia

grafica “amichevole”

– Aggiornare i dati nelle tabelle

• immettere

• cancellare

• Modificare

– selezionare solo alcuni campi della tabella da visualizzare

– visualizzare dati provenienti da tabelle diverse

• Una maschera è collegata direttamente alla tabella.

Maschera Video

Anche i database hanno delle funzioni grafiche e di formato che consentono a questi programmi di rendere più accattivante l'immissione dati e la loro visualizzazione.

Controlli di validità

• Con un DBMS è possibile effettuare controlli sulla validità dei

dati inseriti.

• Ad esempio è possibile impedire

– l’inserimento di una data impossibile (es 30-febbraio)

– l’inserimento di un voto di esame errato, come ad esempio -30

– l’inserimento di un anno di nascita errato (es. 20.001)

– L’inserimento di un testo in un campo numerico.

Controlli di validità

Rapporti

Un Report permette di stampare un sottoinsieme dei dati

contenente solo le informazioni che interessano

• Un Report viene generato

automaticamente già in

formato adatto per la stampa

(con intestazioni,

impaginazione corretta,

ecc…)

• Da una stessa Base di Dati è

possibile ricavare diversi

Reports.

DB: Import/Export di dati

• Un DBMS presenta una elevata INTEROPERABILITA’

• E’ cioè possibile trasportare (far “migrare”) dati memorizzati in una

o piu’ tabelle (anche come risultato di un’interrogazione) verso

formati leggibili da altri programmi e viceversa.

• E’ possibile Importare/Esportare dati con

– Excel (che presenta strumenti di analisi dei dati migliori di quelli

di Access)

– Word (ad esempio per creare tabelle da usare nella creazione di

lettere circolari)

DB Multimediali

Anche programmi meno “seriosi” sono in realtà applicazioni che gestiscono basi di dati...

Basi di dati online

• Praticamente ogni sito web che contenga un numero

significativo di dati ha al suo interno una Base di Dati.

• Spesso i dati sono dinamici, cioè mutano con continuità (i valori

del mercato azionario, ad esempio)

• Motori di ricerca non sono altro che DBMS interfacciati verso

l’utente tramite un linguaggio di interrogazione (QBE o SQL)

Basi di dati online

Basi di dati online

Query

• Una tabella può contenere

– centinaia di campi (colonne) e

– milioni di records (righe)

di tutta questa informazione a noi, generalmente, interessa solo una

piccola parte (es solo i CD di un certo artista)

• Una Query (interrogazione) è una frase scritta in un linguaggio

speciale che permette di estrare dalla tabella principale solo i dati

che interessano

– Una Query crea una tabella più piccola che contiene solo i dati

che interessano

Esempio

• Nome del corso e nome del docente di tutti i corsi che si svolgono

nell’aula N3

• Tabella input:

• Risultato:

Corsi

Corso Docente Aula

Basi di dati Rossi DS3

Sistemi Neri N3

Reti Bruni

Bruni

N3

GControlli

Corso Docente

Sistemi Neri

Reti Bruni

Linguaggi per esprimere una Query

• Come formulare una Query?

• Le principali modalità di interrogazione sono:

– QBE Query by example (interfaccia grafica)

• Modalità semplice e diretta

• Adatta per interrogazioni semplici

• Spesso legata al DBMS

– SQL (pron. Sequel) Structure Query Language (linguaggio)

• Modalità più complessa della precedente

• Valida per tutti i tipi di interrogazione (soprattutto per quelle più

complesse)

• Linguaggio universale, adottato da tutti i DBMS

Esempio: interrogazione in QBE e in SQL

• QBE

• SQL

Le QBE nella pratica

Query di selezione e criteri

• Perché una query riesca ad estrarre solo i dati che interessano dalla

tabella, occorre specificare delle condizioni di ricerca che sono

soddisfatte dai record che interessano

• Le condizioni possono essere espresse tramite:

• operatori relazionali (di confronto) =, >, <, etc.

• operatori logici AND, OR, NOT, etc.

Operatori Relazionali (o di confronto)

Operatori Logici

Query con una sola tabella

• QUERY: Mostrare l’elenco dei clienti nordamericani dei quali non

è stato inserito il numero telefonico.

Query con una sola tabella

Fondamenti di Informatica

Prof. De Maio Carmen

Lavoriamo con Acces

[email protected]

Avviare Access

• Metteremo in pratica tecniche comuni a tutte le versioni del

programma anche se, per alcune di esse, i bottoni o parte

dell'interfaccia grafica potrebbero risultare leggermente diversi.

Facciamo partire il programma e

creiamo il nostro primo data base.

Se la maschera iniziale di MS

Access (fig. 5) non appare

automaticamente, possiamo creare il

progetto dal menu file>nuovo e

selezionare database vuoto.

Primi passi Access

• Access mostra una schermata più o meno come questa

A questo punto

possiamo iniziare ad

utilizzare tutte le

caratteristiche di

Access 2010, come

creare tabelle,

queries, report e

funzioni.

Funzionalità più importanti di Access

• Tabelle – costituiscono lo schema con cui sono organizzati i dati

all’interno del db

• Query - elementi importantissimi che ci permettono di effettuare

interrogazioni, anche combinate, di diverse tabelle

• Maschere - permettono di creare interfacce grafiche, per la

manipolazione e la visualizzazione dei dati.

• Report - modelli per la stampa personalizzabili

• Pagine - sono utilizzate per creare finestre grafiche in formato html

Creare delle tabelle in Access

• creiamo la nostra prima tabella: la tabella libri

• Dal menu crea nella finestra principale scegliamo Tabella, Access

creerà in automatico una tabella che metterà in ultima posizione

nell'elenco delle tabelle già presenti.

• Scegliamo la voce Visualizza Struttura dal menù del Foglio Dati.

• Il sistema ci chiederà di dare un nome alla tabella, inseriamo Libri.

• La nuova finestra ci permette, così, di impostare i nomi dei campi e

di sceglierne il tipo.

Creare delle tabelle in Access

• Ogni riga della struttura rappresenta un campo della tabella.

• Nella colonna Nome campo inseriamo il nome del campo e nella

colonna Tipo dati gli assegniamo un tipo tra quelli disponibili.

• L'ultima colonna può servire a descrivere l'utilizzo di un certo

campo il cui nome non risulti abbastanza auto esplicativo.

• Iniziamo inserendo il campo id_libro come identificatore.

• Gli assegniamo il tipo Contatore: questo tipo di dato è perfetto per

le chiavi primarie perché rappresenta un campo numerico che si

incrementa automaticamente.

Creare delle tabelle in Access

• Il campo id_libro non è ancora una chiave primaria, anche se il suo

tipo è contatore. Perché lo diventi clicchiamo col tasto destro del

mouse sul quadratino celeste alla sua sinistra e selezioniamo

"Chiave primaria" nel menù.

• Alle chiavi esterne assegneremo invece il semplice tipo numerico:

– in questo caso non è necessario un contatore, poiché le chiavi

esterne possono ripetersi (ad esempio, un autore scrive più

libri!).

Creare delle tabelle in Access

• La scelta del tipo testo per il campo titolo e del tipo numerico per il

campo anno di pubblicazione non dovrebbero creare

incomprensioni.

• Altri tipi disponibili di nostro interesse sono:

– memo: è un campo testo di dimensioni illimitate, utile per campi

come post dei blog o come i commenti

– data/ora: per memorizzare una data in diversi formati

– valuta: utilizzato per campi numerici espressioni di valori

monetari

Creare delle tabelle in Access

• Non ci resta che chiudere la finestra.

• Nella finestra centrale adesso la tabella libri appare in bella mostra e

possiamo eliminarla, farne una copia o rinominarla semplicemente

cliccandoci su col tasto destro del mouse.

• Selezionando la tabella possiamo ora riaprirla in modalità struttura

per modificare la struttura dei campi della tabella.

• Nello stesso identico modo creiamo la tabella AUTORI .

– Possiamo inserire tutti i campi che vogliamo, ma è fondamentale, ai fini

dell'esempio, inserire almeno i campi id_autore e nome. Una volta creata

aggiungiamo qualche record.

Vincoli sui campi e indici

• Abbiamo visto che possiamo assegnare ad ogni campo un particolare tipo di dato.

Per ogni tipo, nella "visualizzazione struttura" appaiono una serie di elementi

aggiuntivi, in basso, che servono a specificare altre caratteristiche del campo.

• La dimensione del campo

• il massimo numero

rappresentabile per gli interi

• quante cifre desideriamo dopo la

virgola.

• Per i campi testo, la dimensione

del campo a 30 caratteri.

• Il formato può essere utile nel caso

di un tipo numerico (es. valuta)

• Valido se, indica i valori consentiti

per quel campo.

• Valore predefinito, indica un valore

che Access inserisce quando non

inseriamo.

Operazioni sui dati: ORDINAMENTO

• Possiamo visualizzare i dati in ordine basandoci su un certo campo,

senza modificare il modo in cui i dati sono memorizzati nel file.

– Ad esempio possiamo elencare i libri mettendo i titoli in ordine

alfabetico.

– Nella visualizzazione tabellare, puntiamo il mouse sulla scritta

titolo, clicchiamo col tasto destro del mouse e scegliamo il

pulsante "ordinamento crescente" (o decrescente).

Operazioni sui dati: FILTRI

• Immaginiamo di avere una tabella con numerosissimi record e di

volerne individuare uno in particolare oppure di volerne isolare un

sottoinsieme:

– ad esempio quello dei libri pubblicati tra il 1900 e il 1986.

• utilizziamo un filtro in base a maschera.

Dal menu Home,

andiamo nella

sezione Ordina e

filtra, e dal menu a

tendina Avanzate

scegliamo la voce

Filtro in base a

maschera.

Operazioni sui dati: FILTRI

• Appare una nuova tabella vuota, serve per inserire nei campi delle

chiavi di ricerca.

– Ad esempio, volendo cercare tutti i libri pubblicati nell'anno

1987 basta scrivere 1987 nel campo anno e cliccare sul pulsante

applica filtro.