• Non ci sono risultati.

Cultura Tecnologica di Progetto

N/A
N/A
Protected

Academic year: 2022

Condividi "Cultura Tecnologica di Progetto"

Copied!
17
0
0

Testo completo

(1)

Cultura Tecnologica di Progetto Cultura Tecnologica di Progetto

Politecnico di Milano Politecnico di Milano Facoltà di Disegno Industriale Facoltà di Disegno Industriale

--DATABASE DATABASE --

A.A. 2003 A.A. 2003--20042004

DataBase

DataBase –DB –DB e DataBase Management System e DataBase Management System –DBMS DBMS --

• I database sono archivi che costituiscono una memoria di lavoro indispensabile per

– gestire quantità ingenti di informazioni – ordinare gli elementi utili

– metterli in relazione – filtrare i dati

• La creazione di software specifici per la gestione di banche dati, chiamati DBMS, ha permesso di

(2)

Nozioni di base Nozioni di base

• I DB permettono di creare una memoria digitale vasta e intelligente che può essere utilizzata a diversi livelli di difficoltà

• Il database è un insieme integrato di informazioni omogenee che fornisce una serie di strumenti come tabelle, query, maschere e report per la catalogazione, l’ordinamento e la ricerca di dati

• Gli elementi costitutivi di un database sono:

– CAMPO, RECORD, TABELLE, FILE

Nozioni di base /2 Nozioni di base /2

• CAMPO: spazio nel DB che contiene un’unità di informazione (nome, numero, data, …). È necessario includere un campo per ogni categoria di dati a cui si è interessati

• RECORD: insieme di campi riferiti ad un singolo oggetto

• TABELLA: elenco che visualizza più record

contemporaneamente. Ogni riga di una tabella di un database è costituita da un record, ognuno dei quali è suddiviso in vari campi che costituiscono le colonne

• FILE: un file di database contiene una o più tabelle e viene salvato da Access con l’estensione .MDB (Microsoft

DataBase)

(3)

Riassumendo Riassumendo

• Un DB è composto da diverse tabelle

• Una tabella è composta da record omogenei

• Un record è composto da elementi

DB

TABELLA

RECORD

... ...

CODICE NOME

A0100 Matematica

2XF20 Patente Informatica ... ...

... ...

MATRICOLA COGNOME

69001 Rossi 69002 Verdi

... ...

ESAME

STUDENTE

...

NOME

Mario Carlo ...

DB relazionale DB relazionale

• Un DB può essere pensato come una serie di tabelle, ognuna delle quali contiene informazioni omogenee

• Access è un database relazionale, ovvero in grado di gestire più tabelle correlate: i dati non sono memorizzati in un’unica grande tabella, ma in più tabelle in relazione tra loro, per cui le informazioni di diverse tabelle possono essere unite ed è

possibile eseguire ricerche ed estrarre dati da più

(4)

Le relazioni e i campi chiave Le relazioni e i campi chiave

• Attraverso un sistema di relazioni tra i dati è possibile combinare informazioni provenienti da ambienti diversi ordinando l’archivio in modo flessibile e rispondente a diverse esigenze di ricerca

• Nel DB le relazioni sono associazioni tra tabelle stabilite in base a uno o più elementi comuni

• I campi comuni alle diverse tabelle sono definiti CAMPI CHIAVE, ovvero elementi di intersezione tra i diversi insiemi di dati che consentono all’utente di creare sottoinsiemi rispondenti alle proprie esigenze di ricerca e assemblaggio dei dati

Le maschere Le maschere

• Per facilitare l’aggiornamento, la modifica o il calcolo sui dati è possibile creare delle maschere

• Le maschere sono simili ai comuni moduli che si devono compilare per richiedere un documento: ad ogni campo corrisponde un’etichetta ed è previsto uno spazio utilizzabile per l’inserimento delle informazioni

• La peculiarità di tale strumento risiede nel fatto che i campi di una maschera possono essere prelevati da più tabelle diverse

• Le maschere permettono di visualizzare informazioni secondo diverse modalità grafiche e aggiungere immagini, note o commenti ai campi

(5)

Le Le queryquery

• Le query sono il mezzo con cui è possibile interrogare un database; con esse è possibile recuperare i dati dalle tabelle e organizzarli in modo diverso

• Le query permettono di utilizzare i dati delle

tabelle in modo dinamico, mettendo in relazione le informazioni filtrando i dati che interessano,

effettuando ricerche incrociate sui record che rispondono a determinate caratteristiche

SQL:

SQL: definizionidefinizioni

• SQL (Structured Query Language) è un linguaggio per la formulazione di query

• Una query scritta in SQL ha la forma Select- From-Where

– SELECT: per indicare i campi richiesti (* per tutti) – FROM: per indicare su quali tabelle si deve effettuare la

query

– WHERE: per indicare i vincoli

(6)

SQL

SQL esempioesempio

• Ad esempio se volessimo estrarre le informazioni dello studente la cui matricola è 69002, potremmo scrivere la query in SQL:

SELECT Nome, Cognome FROM Studente

WHERE matricola = 69002

• Il risultato sarà: Carlo Verdi

I reportI report

• I report permettono di organizzare e riepilogare le informazioni contenute in un DB riordinando i dati provenienti da una tabella o da una query

• In genere i report sono destinati alla stampa: a questo scopo Access offre vari layout

preformattati che possono aiutare a impaginare i dati, dando loro una veste grafica gradevole ed efficace

(7)

Progettare un database Progettare un database

• Per creare un DB utile ed efficace è necessario:

– Progettarlo in modo accurato e razionale

– Riflettere sulle reali esigenze del proprio DB e sulle funzioni a cui esso deve assolvere

– Pensare alla struttura del DB e definire i campi da includere, ovvero le categorie da utilizzare per l’archiviazione dei dati, e suddividere i campi tra le tabelle

– Decidere le chiavi primarie, le quali permettono di identificare in modo univoco ogni record della tabella e progettare i campi chiave esterna con cui è possibile collegare le varie tabelle

• Pianificare le relazioni tra tabelle è il fulcro della strutturazione del database: in base alle relazioni impostate è possibile collegare i dati tra loro, effettuare delle ricerche o filtrare i dati in relazione a più e diversi parametri

Alcune regole Alcune regole

• Non ripetere le stesse informazioni in più tabelle

– Oltre a evitare ridondanze tra i dati, non si corre il rischio di creare voci con lo stesso nome che contengano informazioni diverse

• Fare attenzione ad inserire in ogni tabella informazioni omogenee, così da creare una

struttura pulita che può agevolare l’archiviazione e la ricerca dei dati

(8)

Progettare

Progettareun DB (1)un DB (1)

• La fase di progettazione di un DB è complessa e richiede molta attenzione

• Le fasi fondamentali della progettazione sono:

– definizione del modello ER – definizione del modello logico – implementazione del DB

Progettare

Progettare(2) -(2) -ModelloModelloE/RE/R

• Il Modello Entità Relazioni permette di individuare e rappresentare gli attori (Entità) del DB e i collegamenti (Relazioni) che intercorrono tra essi

• Per ogni oggetto è possibile definire delle caratteristiche (attributi)

STUDENTE HA_SOSTENUTO ESAME

COGNOME

MATRICOLA NOME VALUTAZIONE DATA CODICE NOME ATTRIBUTO

ENTITA’

RELAZIONE

(9)

Progettare

Progettare(3) -(3) -CardinalitàCardinalità

• Inoltre col modello ER si identificano anche le cardinalità, cioè si indica il numero di volte che una entità può partecipare alla relazione. I valori ammessi sono: 0, 1, N

STUDENTE 0..N HA_SOSTENUTO 0..N ESAME

– preso uno studente, questo può aver sostenuto da 0 a N esami

Progettare

Progettare(4) -(4) -ModelloModelloLogicoLogico

• Il modello logico è una traduzione del modello ER in una rappresentazione a tabelle. Normalmente (ma non necessariamente)

– una entità corrisponde a una tabella – una attributo corrisponde ad un campo

– una relazione corrisponde ad un campo o ad una tabella chiamata “ponte”

(10)

Progettare

Progettare(5) -(5) -EsempioEsempio

• Nell’esempio dell’archivio universitario la relazione NN è diventata una tabella ponte

• I campi sottolineati rappresentano le chiavi

MATRICOLA

STUDENTE COGNOME NOME

MATRICOLA

HA_SOSTENUTO CODICE VALUTAZIONE DATA

CODICE

ESAME NOME

Access (1)

Access (1) -- NuovoNuovoDB DB

• Avviamo MS-Access

• Scegliamo di creare un nuovo DB. Dobbiamo fin da ora scegliere il file in cui verrà salvato l’intero DB: tutti gli oggetti che compongono il DB sono memorizzati in un unico file con estensione .MDB

• Si vedono gli oggetti su cui possiamo lavorare, tra cui

– tabelle – query – maschere

(11)

Access (2)

Access (2) -- NuovaNuovaTabellaTabella

• Selezioniamo “Tabelle” e premiamo “Nuovo”

• Una nuova tabella può essere creata in diversi modi:

– definendo la sua struttura – inserendo direttamente i dati – sfruttando l’autocomposizione – importando una tabella già esistente

• Scegliamo “Visualizza struttura”, in questo modo possiamo definire di ogni campo (colonna) della tabella:

– il nome – il tipo

– una descrizione (facoltativa)

Access (3)

Access (3) -- Tipi di Tipi di datodato

Tra i tipi disponibili, troviamo:

• Numerico

– intero (2 byte: da -32768 a 32767)

– intero lungo (4 byte: circa da -2 mld a 2mld) – singola prec (4 byte: da -3*10^38 a 3*10^38) – doppia prec (8 byte: da -10^308 a 10^308) – singolo byte (interi da 0 a 255)

• Testo (da 0 a 255 caratteri)

• Memo, campo di testo che può contenere migliaia di caratteri

• Data/ora

• Contatore, normalmente un intero autoincrementale, gestito

(12)

Access (4)

Access (4) -- ChiaveChiaveprimariaprimaria

• Per definire una chiave primaria

– dalla visualizzazione della struttura della tabella – si selezionano i campi (tenendo premuto CTRL per la

selezione multipla)

– si impostano come chiave in uno dei seguenti modi:

• icona nella barra degli strumenti

• menu “modifica”, comando “chiave primaria”

• menu contestuale (tasto destro), comando “chiave primaria”

Access (5)

Access (5) -- ProprietàProprietàdatidati

• Oltre alle informazioni sul nome, sul tipo e sulla descrizione, per ogni campo si possono definire delle proprietà, tra cui:

– dimensione

– valore predefinito: se non viene inserito niente, il campo assume il valore qui indicato come default – richiesto si/no: se “si”, allora il campo non può

contenere valori NULL (il campo è obbligatorio)

(13)

Access (6)

Access (6) -- SalvareSalvarela la tabellatabella

• Per salvare la tabella (così come ogni altro oggetto del DB) si usa l’icona “salva” nella barra degli strumenti o il comando “salva” dal menu

“file”

• Quando si salva la tabella per la prima volta, ne viene chiesto il nome

Access (7)

Access (7) -- EsercizioEsercizio11

• Si vuole costruire un DataBase che consenta di gestire gli studenti che sono iscritti ad una università

• I dati da memorizzare sono:

– STUDENTE (matricola, cognome, nome, annonascita) – ESAME (codice, nome, descrizione)

– VOTO (matricola, codice, valutazione, data)

(14)

Access (8)

Access (8) -- RelazioniRelazioni

• Dopo aver definito le diverse tabelle, bisogna indicare come le informazioni sono collegate tra loro

• Nella definizione di tabelle ponte, porre attenzione al tipo completo dei campi

• Per aprire la finestra delle relazioni

– icona nella barra degli strumenti, oppure – menu “strumenti”, comando “relazioni...”

• Scegliere le tabelle che vogliamo collegare (es.

STUDENTE, VOTO, ESAME)

• Trascinare il campo di una tabella sul campo collegato della seconda tabella

Access (9)

Access (9) -- IntegritàIntegritàreferenzialereferenziale

• Scegliere le caratteristiche della relazione

– integrità referenziale: non è possibile aggiungere record nella tabella correlata se nella tabella primaria non esistono record associati (es: non riesco ad inserire un voto di uno studente non regiatrato)

– aggiorna: se viene modificato un campo nella tabella principale, allora viene modificato il campo associato nella tabella correlata (es: se modifico una matricola in STUDENTE viene aggiornata anche in VOTO)

– eliminazione: se viene eliminato un record nella tabella primaria si eliminano anche i record associati nella tabella correlata

(15)

Access (10)

Access (10) --InserimentoInserimentodatidati

• Per popolare la tabella (cioè inserire i dati veri e propri)

– dalla finestra principale del DB

– doppio click sul nome della tabella (oppure click su

“apri”)

– si apre una finestra in cui possiamo inserire i valori – i dati vengono salvati automaticamente all’immissione

Access (11)

Access (11) --EsercizioEsercizio22

• Partendo dall’esercizio 1 (universita.mdb)

• Creare le necessarie relazioni specificando i vincoli di integrità referenziale

• Popolare il DB con dati verosimili

(16)

Access (12) Access (12) --QueryQuery

• Tramite le query si effettuano interrogazioni sui dati contenuti nel DB

• Una query recupera i dati da più tabelle e visualizza i risultati, permettendo di raggruppare record per calcolare somme, medie, ...

• Si può creare una query (dalla finestra principale scegliere “query” e “nuovo”)

– con l’autocomposizione, oppure – visualizzando la struttura

Access (13)

Access (13) --StrutturaStrutturaqueryquery

• Generazione query tramite “visualizzazione struttura”:

– Scegliere le tabelle interessate nell’interrogazione (es.

STUDENTE, VOTO e ESAME)

– Trascinare i campi su cui si vuole operare, dalle tabelle verso la “griglia di struttura” (es. STUDENTE.Cognome, ESAME.nome, VOTO.votazione)

– Inserire eventuali criteri (es. data > 01/01/2002); per i caratteri jolly (?, *, #) usare la parola chiave “like”

– Evidenziare i campi che si desidera visualizzare (es. non selezionare la data)

– Salvare la query

(17)

Access (14)

Access (14) --VisualizzazioniVisualizzazioni

• Dalla barra degli strumenti (oppure dal menu contestuale della finestra della query), si può scegliere:

– Visualizzazione SQL (query scritta in SQL) – Visualizzazione foglio dati (risultato) – Visualizzazione struttura

• Perché usare SQL?

– Linguaggio standard di interrogazione

– Necessario se non si dispone di uno strumento visuale (ad es. per interrogare un DB da un’applicazione)

Access (15)

Access (15) --EsercizioEsercizio33

• Partendo dall’esercizio 2 (integrità referenziale)

• Scrivere le seguenti query:

– 1 elenco studenti: estrazione del nome e del cognome di tutti gli studenti

– 2 voti studenti: estrazione di tutti gli esami (nome esame e votazione) sostenuti dagli studenti (nome e cognome)

– 3 voti studenti 2002: estrazione di tutti gli esami (nome esame e votazione) sostenuti dagli studenti

Riferimenti

Documenti correlati

[3] Vehlow J., Bergfeldt B., Hunsinger H., Jay K., Mark F., Tange L., Drohmann D., and Fisch H., Recycling of Bromine from Plastics Containing Brominated Flame Retardants in

In the case of transport, decarbonisation and digitalisation are not only challenges –which can neither be addressed by the transport sector nor by the Commission alone –,

Sie umfassen regulatorische und politische Vorkehrungen für Bürgermedien und den Medienzugang für Minderheiten, lokale und regionale Gemeinschaften, für Frauen und für Menschen

Per quanto riguarda l’area sudamericana, essa è idealmente divisibile in due parti: da un lato vi sono Paesi come il Messico, il Cile, la Colombia e il Brasile visti

While the historical and political relevance of the sphere of consumption had been discovered, and the need for the secure provision of necessary goods was widely recognized,

● Si cerca nello slot prescelto, e poi negli slot “alternativi” fino a quando non si trova la chiave oppure

un linguaggio di interrogazione di banche dati finalizzato al recupero di documenti  un sistema che gestisce basi di dati la fine di recuperare informazioni giudicate rilevanti.

La carta semilogaritmica o grafico semilogaritmico indica un grafico con un asse con scala lineare e un asse con scala. logaritmica (tipicamente in base 10). Usi dei