La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Paolo Manghi ISTI-CNR E-mail: paolo.manghi@isti.cnr.it MS Access Paolo Manghi ISTI-CNR E-mail: paolo.manghi@isti.cnr.it.

Presentazioni simili


Presentazione sul tema: "Paolo Manghi ISTI-CNR E-mail: paolo.manghi@isti.cnr.it MS Access Paolo Manghi ISTI-CNR E-mail: paolo.manghi@isti.cnr.it."— Transcript della presentazione:

1 Paolo Manghi ISTI-CNR E-mail: paolo.manghi@isti.cnr.it
MS Access Paolo Manghi ISTI-CNR

2 aggiornamento e analisi
Problema Gestione delle informazioni relative ad un’Organizzazione Inserimento, modifica, cancellazione ed elaborazione delle informazioni processi interni di aggiornamento e analisi Organizzazione richiesta di servizi e risposta input esterni Paolo Manghi

3 Soluzione: archivi Trovare il modo di conservare e organizzare le informazioni interessanti di una realtà per poterle recuperare ed elaborare Anni ’70: archivi cartacei Oggi: archivi elettronici, database Gli archivi sono un modello della parte della realtà che si ritiene interessante Paolo Manghi

4 Progettazione di un archivio
È improponibile progettare un archivio sulla base del solo universo del discorso e senza l’adozione di metodologie di progettazione Un modello (es. un database) è il risultato di un processo di interpretazione, guidato dalle idee e conoscenze possedute dal soggetto che interpreta Definire un modello è un’operazione complessa (intuizione e metodo) Paolo Manghi

5 Metodologie Esistono metodologie di modellazione che forniscono gli strumenti e linguaggi per: individuare e rappresentare le componenti interessanti dell’universo del discorso, al fine di realizzarne un modello concettuale; per successivamente convertire il modello concettuale in un database relazionale Il modello concettuale descrive la realtà in maniera intuitiva (“poco” informatica) ed è allo stesso tempo facilmente trasformabile in un database, cioè in un modello della realtà interpretabile da un computer Paolo Manghi

6 Modellazione e progettazione
ER Modello concettuale Organizzazione A B Mappatura in modello relazionale equivalente Soluzione anni ‘70 B A Creazione DB Database Archivio cartaceo Paolo Manghi

7 Linguaggio per la definizione di modelli: formalismo grafico ER
Descrizione della natura della realtà in termini di classi e associazioni Il modello ER di un universo del discorso è detto schema Paolo Manghi

8 ER: classi e attributi Si modellano le classi, cioè collezioni di entità dalla struttura omogenea lingueParlate Persone telefono nome La classe Persone: una collezione di entità persone con proprietà lingueParlate, telefono, nome multivalore totale parziale unione strutturato Attributi Paolo Manghi

9 Aspetto linguistico Es. Associazioni (1:1) (1:1) associazione CorsiTenuti-TenutoDa tra Professori e Corsi: ogni professore deve tenere un corso (totale) e ogni Corso è tenuto da un professore (totale) corsoTenuto tenutoDa Professori Corsi Paolo Manghi

10 Aspetto linguistico Es. Associazioni (1:n) (1:n) associazione Tesista-Relatore tra Professori e Studenti: ogni professore può avere uno, nessuno o più tesisti (parziale), mentre uno studente può avere nessuno o un relatore (parziale) relatoreDi tesistaDi Professori Studenti Paolo Manghi

11 Aspetto linguistico Es. Associazioni (n:n) (n:n) associazione CorsiSeguiti- StudentiIscritti tra Studenti e Corsi: ogni studente segue almeno un corso (totale) e ogni corso è seguito da almeno uno studente (totale) studentiIscritti corsiSeguiti Corsi Studenti Paolo Manghi

12 Esempio: Segreteria dell’Univ. di Pisa
Gestione degli studenti e degli esami da essi passati Le classi di entità in gioco sono Classe degli Studenti: tutti gli studenti iscritti all’università, con proprietà Nome, Matricola, Provincia, Data di nascita Classe degli Esami: tutti gli statini (prove ufficiali) reative agli esami passati dagli studenti, con proprietà Corso, Voto, Lode, Data, Candidato. Paolo Manghi

13 Modello concettuale esamiSuperati passatoDa Studenti Esami
Paolo Manghi

14 Soluzione anni ’70 (1/2) Uno schedario di studenti
Ad ogni studente corrispondeva una scheda con tutti i suoi dati: nome, matricola, provincia, data di nascita Uno schedario degli esami Ad ogni esame sostenuto corrispondeva uno statino: candidato, voto, lode (si/no), data, corso Paolo Manghi

15 Soluzione anni ’70 (2/2) Per cercare gli esami passati dagli studenti di Pisa, l’impiegato doveva: Cercare nello schedario studenti tutte le schede relative a studenti di Pisa Per ogni scheda trovata: leggere il numero di matricola Cercare nello schedario degli esami, tutti gli statini relativi al numero di matricola dello studente Paolo Manghi

16 Soluzione con Database Relazionale
Un database relazionale Una collezione di dati elettronici che rappresentano/modellano una realtà di interesse Ad ogni collezione di entità nella realtà di interesse corrisponde una tabella nel database Paolo Manghi

17 Tabella Studenti Struttura tabella: Nome: Text Matricola: Number
Provincia: Text(2) DataNascita: Date Campo Record 25/12/1980 PI 175649 Bonini 12/07/1978 LI 179856 Bianchi 03/10/1975 LU 167459 Rossi 01/01/1980 171523 Isaia DataNascita Provincia Matricola Nome Valore Paolo Manghi

18 Tabella Esami Struttura tabella: Corso: Text Candidato: Text
Data: Date Voto: Number(2) Lode: Si/No Materia Candidato Data Voto Lode BD Isaia 12/01/01 No BD Rossi 15/01/01 Si FP Bianchi 13/02/01 No BD Bonini 15/01/01 No LMM Isaia 11/02/01 No Paolo Manghi

19 Struttura Tabella Una tabella è una collezione di dati caratterizzati dalla stessa struttura: Insieme di coppie (NomeCampo,TipoCampo) Un tipo qualifica quali valori possono essere inseriti in un campo e di conseguenza quali operazioni sono consentite su di esso: Nome in Studenti è un campo di tipo Text: una sequenza di caratteri di lunghezza arbitraria; due valori Text possono essere concatenati per ottenerne uno solo che li mette insieme DataNascita è un campo di tipo Date: un valore di tipo gg/mm/aaaa; un valore Date può essere passato a funzioni che ritornano l’anno, il giorno o il mese del valore. Paolo Manghi

20 Chiave Primaria (1/3) Definizione: se un campo di una tabella è definito come chiave primaria, non esistono due record nella tabella che hanno gli stessi valori per quel campo Uso: la chiave primaria di ogni tabella è definita da chi definisce il database, per avere modo di distinguere univocamente i record di una tabella Paolo Manghi

21 Chiave Primaria (2/3) Nella realtà degli studenti non esistono due studenti con la stessa matricola Nella tabella Studenti la chiave primaria dichiarata è il numero di matricola Ogni tentativo di inserire nella tabella il record di uno studente che ha lo stesso valore del campo matricola di un altro già presente nella tabella, viene impedito e causa un messaggio di errore Paolo Manghi

22 Chiave Primaria (3/3) Nella realtà degli Esami?
Nella realtà degli Esami non possono esistere due esami con lo stesso candidato e la stessa materia: la chiave primaria dichiarata è la coppia di campi (materia, candidato) in alternativa un nuovo campo, codiceEsame: a volte può essere conveniente definire una proprietà fittizia, non presente nella realtà di interesse, che compia la funzione di chiave primaria (ad esempio quando la chiave reale è composta da troppi campi) Paolo Manghi

23 Chiave Esterna (1/3) Ultima nozione fondamentale è quella di Chiave Esterna di una tabella Una chiave esterna è un campo che contiene il valore di una chiave primaria: Questo mette in relazione il record che contiene un certo valore per la chiave esterna con il record, in un’altra tabella, che contiene quel valore per la chiave primaria Paolo Manghi

24 Chiave Esterna (2/3) Per i nostri scopi, in quale tabella dell’esempio deve essere definita una chiave esterna? Quale campo potrebbe essere chiave esterna? Nella tabella Esami Nessuno: nessun campo della tabella ha valori nella chiave primaria della tabella Studenti Paolo Manghi

25 Chiave Esterna (3/3) Se si definisse il campo Candidato come chiave esterna, quali problemi potremmo avere? Studenti omonimi: in una ricerca, gli esami passati da studenti diversi con lo stesso nome verrebbero associati ad entrambi gli studenti!!! Paolo Manghi

26 Tabella Esami corretta
La tabella Esami deve essere definita come: Struttura tabella: Corso: Text Candidato: Number Data: Date Voto: Number(2) Lode: Si/No 30 13/02/01 179856 FP 18 11/02/01 171523 LMM 25 15/01/01 175649 BD 167459 28 12/01/01 Voto Data Candidato Materia No No No Si No Voto Lode Paolo Manghi

27 Relazione tra tabelle Il campo Candidato è chiave esterna di Esami.
Studenti Nome Matricola Provincia DataNascita Isaia 171523 PI 01/01/1980 Esami Corso Candidato Data Voto BD 171523 12/01/01 29 Il campo Candidato è chiave esterna di Esami. Contiene valori della chiave primaria Matricola di Studenti. Il valore di Candidato mette in relazione il relativo record con il record dello studente che ha passato l’esame. Paolo Manghi

28 Schema relazionale esamiSuperati passatoDa Studenti Esami Studenti
Nome Candidato* Provincia Voto Studenti Esami Corso Matricola Lode DataNascita Data Paolo Manghi

29 Ricerca dei dati Un database relazionale consente la ricerca dei dati attraverso un particolare linguaggio di interrogazione detto SQL In SQL è possibile formulare richieste del tipo: Singola tabella: Dammi i nomi degli studenti nati prima del 1980 Dammi tutti gli esami passati prima del 12/31/2001 Tabelle multiple: Dammi tutti i nomi e i voti dei corsi che sono stati passati da studenti di Pisa Dammi il nome degli studenti e il numero di esami da essi passati tra il 2000 e il 2001 Paolo Manghi

30 MS Access (1/2) Un Sistema per la Gestione di Basi di Dati (SGBD), altrimenti detto DataBase Management System (DBMS) Paolo Manghi

31 MS Access (2/2) Un insieme di strumenti per la
Gestione automatica ed efficiente del database: Definizione delle tabelle (campi e tipi) e delle relazioni tra di esse Query di inserimento, cancellazione, modifica e ricerca dei record nelle tabelle Definizione di applicazioni con interfacce utente per la gestione del database Maschere e Report Paolo Manghi

32 Esercizio Definire un database Access che consenta la gestione delle informazioni relative agli Agenti dell’FBI. Di ogni agente interessa il nome, il codice e la data di assunzione. Ogni agente lavora per un dipartimento, il quale è caratterizzato da una specializzazione (stragi, cospirazioni, guerre, etc.). Ci interessa fare ricerche sugli agenti in base a continente, stato e indirizzo dei dipartimenti per cui lavorano; sui dipartimenti in base alle date di assunzione degli agenti; altro... Paolo Manghi

33 Definizione del database
Creazione delle tabelle Attributi e tipi Creazione delle associazioni Integrità referenziale Cancellazione e modifica a cascata Caselle combinate Inserimento dati: rispetto dell’integrità referenziale Paolo Manghi

34 Definizione delle query
Selezione della tabella coinvolta Selezione degli attributi coinvolti Da visualizzare Da sottoporre a vincoli (And e Or) Query a più tabelle Concetto di giunzione Una query è a tutti gli effetti una tabella I record vengono calcolati dinamicamente al momento della esecuzione Può essere utilizzata per effettuare altre query Paolo Manghi

35 Query: tipologie Query per la ricerca Query per il calcolo
Selezione e visualizzazione di record Query per il calcolo Max, min, media, somma, etc. Paolo Manghi

36 Esercizio: il database
Catena di agenzie immobiliari. Degli acquirenti ci interessa il nome il telefono, la città in cui intendono comprare, i mq desiderati e la cifra che sono disposti a spendere. Dei proprietari ci interessa sapere il nome, il telefono e le case in vendita. Delle case ci interessano i mq, il prezzo, l’indirizzo e i proprietari. Delle agenzie ci interessa sapere il nome, il comune, la provincia, il telefono, i clienti e i venditori. Sappiamo che: ogni venditore può riferirsi solo all’agenzia del comune in cui vende Ogni città ha una sola agenzia Paolo Manghi

37 Esercizio:le query Trovare il nome, il telefono e i mq di chi vende a Milano una casa per meno di Euro Trovare il nome, il telefono e gli Euro di chi intende acquistare una casa di 80mq a Roma Trovare il prezzo medio delle case in vendita a Parma Trovare i prezzo massimo tra tutte le case in vendita a Pontedera (PI) e Empoli (FI) Trovare il nome, il comune, la privincia e il numero di telefono delle agenzie che hanno acquirenti per la provincia di Pisa Trovare tutti i nomi e i telefoni dei venditori e degli acquirenti le cui richieste in mq e Euro hanno uno scarto di 20mq e Euro rispettivamente. Paolo Manghi

38 Esercizio: il database
Ci interessa trattare i dati delle sale cinematografiche italiani. Di ogni cinema interessa sapere il nome, la città e le sale. Le sale sono caratterizzate da un nome, da un film in proiezione, dal prezzo del biglietto, data di inizio e di fine proiezione del film e dal numero di posti a sedere. [Dei film interessa sapere il titolo, il regista e l’anno di uscita.] Paolo Manghi


Scaricare ppt "Paolo Manghi ISTI-CNR E-mail: paolo.manghi@isti.cnr.it MS Access Paolo Manghi ISTI-CNR E-mail: paolo.manghi@isti.cnr.it."

Presentazioni simili


Annunci Google