Basi di Dati La Progettazione - PowerPoint PPT Presentation

About This Presentation
Title:

Basi di Dati La Progettazione

Description:

Title: Information Technology for Problem Solving Author: Vincenzo Gervasi Last modified by: Utente Windows Created Date: 9/30/2003 4:58:53 PM Document presentation ... – PowerPoint PPT presentation

Number of Views:228
Avg rating:3.0/5.0
Slides: 84
Provided by: Vincenzo46
Category:

less

Transcript and Presenter's Notes

Title: Basi di Dati La Progettazione


1
Basi di DatiLa Progettazione
2
Piano della lezione
  • Problema dellarchivio dei pazienti
  • Realizzazione di una soluzione pre-informatica
    archivio cartaceo
  • Importanza della buona progettazione
  • Limiti della soluzione cartacea
  • Realizzazione di una soluzione informatica
    archivio elettronico
  • Progetto di un database
  • Confronto con la soluzione cartacea

3
Problema
  • Gestione delle informazioni relative ad
    unOrganizzazione
  • Inserimento, modifica, cancellazione ed
    elaborazione delle informazioni

processi interni di aggiornamento e analisi
Organizzazione
richiesta di servizi e risposta
input esterni
4
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

5
Il problema
  • Migliorare il servizio ambulatoriale conservando
    e organizzando in maniera sistematica le
    informazioni sui pazienti
  • Dati anagrafici
  • Preparazione rapida di ricette
  • Accesso alle informazioni anche in assenza del
    paziente quanto pesa il paziente Mario Rossi?
  • Dati medici e appunti sulle visite passate
  • Visite e diagnosi più accurate
  • Calcolo di statistiche quale è il peso medio dei
    pazienti?

6
Tipologia di problema
  • Gestione delle informazioni relative ad
    unorganizzazione
  • Conservare e organizzare informazioni in modo da
    poterle recuperare, modificare e consultare in
    maniera efficiente
  • Caratteristiche tipiche del problema
  • Gestione di quantità ingenti di informazioni
    dalla struttura omogenea (ad esempio, di tutti i
    pazienti ci interessa sapere nome, età,
    indirizzo, patologie, ecc.)
  • Operazioni di ricerca di informazioni,
    possibilmente combinate al calcolo di statistiche

7
Piano della lezione
  • Problema dellarchivio dei pazienti
  • Realizzazione di una soluzione pre-informatica
    archivio cartaceo
  • Importanza della buona progettazione
  • Limiti della soluzione cartacea
  • Realizzazione di una soluzione informatica
    archivio elettronico
  • Progetto di un database
  • Confronto con la soluzione cartacea

8
Tipica soluzione pre-informatica
  • Realizzazione di un archivio cartaceo, ovvero uno
    schedario con cassetti contenenti schede
    informative
  • Effettuare le operazioni di ricerca e statistica
    aprendo i cassetti dello schedario e operando
    manualmente sulle schede
  • Opportune tecniche di archiviazione (ordinamento
    delle schede e indici sulle schede) possono
    talvolta velocizzare alcune delle operazioni

9
Schedario rappresentazione della realtà
  • Uno schedario è una rappresentazione in carta e
    inchiostro dei fatti interessanti della nostra
    realtà di interesse
  • La realtà di interesse che stiamo studiando è
    quella dei pazienti di un medico
  • I fatti interessanti sono tutte e sole le
    informazioni riguardanti la realtà dei pazienti
    utili a migliorare il servizio ambulatoriale
  • Le informazioni rilevanti di un paziente devono
    essere scritte in una rispettiva scheda,
    contenuta in un cassetto dello schedario dedicato
    ai pazienti

10
Schedario dei pazienti
  • Lo schedario che costruiremo rappresenta in carta
    e inchiostro la realtà di interesse dei pazienti
  • Se la signora Maria Bianchi diventa una paziente
    del medico, si deve inserire una nuova scheda nel
    cassetto, la quale riporta tutte le informazioni
    rilevanti riguardo la signora Maria
  • Se il medico prevede di dover utilizzare in
    futuro il peso del paziente Mario Rossi, allora
    il peso deve essere scritto sulla sua scheda
  • Se il paziente Mario Rossi cambia indirizzo, il
    cambiamento deve essere riportato sulla sua
    scheda
  • Se il paziente Mario Rossi decide di cambiare
    medico, la sua scheda deve essere eliminata dal
    cassetto

11
Cassetto Pazienti
Schedario pazienti
Paziente dal 11/04/2000 CSSN 0601/1234567
DATI ANAGRAFICI E MEDICI Nome Maria Bianchi
Indirizzo Anno di nascita 1950
Via Marmolada 67 Luogo di
Nascita Pisa 56126
Pisa Stato coniugale sposata Tel
347 8910111 Gruppo sanguigno A Positivo
Altezza 158 cm Peso 56 kg Menarca 13
anni Modalità parto naturale
Patologie 1957 morbillo 1960 rosolia
DIARIO Prima visita influenza, consigliata
tachipirina (02/04/2000) Seconda 14/09/2000,
Commento allergia, rich. visita specialistica 3
visita 02/02/2001 ....
12
Cassetto Pazienti
Schedario pazienti
CSSN 0608/7654321
DATI ANAGRAFICI Nome Mario Indirizzo Cognome
Rossi Via Palestro 6 Anno di nascita 1964
50100 Firenze Luogo di Nascita Firenze Tel. 345
678910 Cittadinanza Italiana E-mail
marossi_at_libero.it
DIARIO Data 22/03/2000 Commento influenza,
sintomi classici Li 3 maggio 2002 Comm. forte
tosse, consigliato TosseVia 1000
per una
settimana Data 23/08/2002 ...
13
Le operazioni
Schedario pazienti
  • Osservazione il medico prevede di effettuare
    molte ricerche in base al cognome del paziente
  • Ordiniamo le schede nel cassetto dei pazienti in
    ordine alfabetico rispetto al cognome
  • Quanto pesa il paziente Mario Rossi? Nel cassetto
    relativo ai pazienti cerchiamo la sezione
    dedicata alla lettera R e tra queste la scheda
    del paziente Rossi Mario.
  • Quindi leggiamo il peso
  • riportato sulla scheda

14
I problemi
Schedario pazienti
  • Mancanza di progettazione dello schedario
  • Assenza parziale o totale di informazioni
  • Eterogeneità delle informazioni sulle schede
  • Problemi intrinseci agli schedari
  • Uso del supporto cartaceo per conservare
    informazioni
  • Controlli di correttezza e operazioni eseguiti
    manualmente

15
Assenza parziale di informazioni
Problemi dello schedario Mancanza di
progettazione
  • Loperazione
  • Quanti pazienti sono di cittadinanza italiana?
  • non può essere eseguita per assenza parziale di
    informazioni
  • Non tutte le schede riportano informazioni sulla
    cittadinanza, quindi il risultato di un conteggio
    sarebbe falsato

16
Assenza totale di informazioni
Problemi dello schedario Mancanza di
progettazione
  • Loperazione
  • Quanti pazienti di sesso femminile sono presenti?
  • non può essere eseguita per assenza totale di
    informazioni
  • Nessuna scheda riporta informazioni sul sesso del
    paziente

17
Assenza di omogeneità
Problemi dello schedario Mancanza di
progettazione
  • Loperazione
  • Trovare il nome, il cognome e il CSSN del
    paziente più pesante
  • per quanto intuitivamente semplice diventa
    estremamente tediosa
  • È necessario scorrere tutte le schede
    dellarchivio
  • Inoltre, le stesse informazioni sono riportate
    sulle schede in maniera eterogenea individuare
    la posizione del nome, del cognome e peso su una
    scheda diviene non banale

18
Assenza di omogeneità
Schedario pazienti
19
Assenza di omogeneità
Schedario pazienti
CSSN 0608/7654321
DATI ANAGRAFICI Nome Mario Indirizzo Cognome
Rossi Via Palestro 6 Anno di nascita 1964
50100 Firenze Luogo di Nascita Firenze Tel. 345
678910 Cittadinanza Italiana E-mail
marossi_at_libero.it
DIARIO Data 22/03/2000 Commento influenza,
sintomi classici Li 3 maggio 2002 Comm. forte
tosse, consigliato TosseVia 1000
per una
settimana Data 23/08/2002 ...
20
Archivio non ben progettato
Problemi dello schedario Mancanza di
progettazione
  • Le informazioni riportate sulle schede non sono
    scelte sulla base di unattenta analisi delle
    operazioni che si intendono effettuare
  • Informazioni inutili menarca e modalità parto
  • Informazioni non sempre presenti e-mail,
    cittadinanza, data di inizio rapporto del
    paziente
  • Informazioni assenti sesso, tipologia di visita
    (domicilio o in studio)

21
Archivio non ben progettato
Problemi dello schedario Mancanza di
progettazione
  • Le informazioni riportate sulle schede non sono
    strutturate omogeneamente
  • Informazioni presenti su tutte le schede ma
    esposte in maniera diversa nome e cognome,
    altezza e peso, visite del paziente, patologie

22
Riepilogo conseguenze
Problemi dello schedario Mancanza di
progettazione
  • Alcune operazioni interessanti possono divenire
    molto laboriose o impossibili per lassenza
    totale o parziale delle informazioni
  • Quanti pazienti sono di cittadinanza italiana?
    (parziale)
  • Da quando è mio paziente Mario Rossi? (parziale)
  • Quando è stata fatta lultima visita a domicilio
    al paziente Maria Bianchi? (totale)
  • Trovare uninformazione su una scheda è tedioso
  • Ogni scheda possiede una propria interpretazione
    delle informazioni interessanti di un paziente

23
Buona progettazione
  • Massimizzare la quantità e la qualità dei servizi
    per cui larchivio si è reso necessario
  • Il maggior numero di operazioni necessarie al
    medico devono essere eseguibili nel minor tempo
    possibile
  • Minimizzare il numero di modifiche in corso
    dopera allo schedario necessarie a introdurre o
    migliorare i servizi di cui sopra
  • È costoso in termini di tempo (o impossibile)
    operare modifiche sui cassetti o sulle schede
    contenute in uno schedario avviato

24
Progettare e realizzare
Buona progettazione
  • La progettazione di uno schedario si basa su
    unattenta analisi della realtà di interesse che
    si conclude con la definizione di un modello
    schematico della realtà stessa
  • La realizzazione di un schedario si basa
    fedelmente su questo modello della realtà

25
Il modello
Buona progettazione
  • Un modello è una rappresentazione schematica dei
    fatti interessanti della realtà di interesse in
    termini di entità, attributi delle entità e
    collezioni di entità
  • Un paziente è un fatto interessante della nostra
    realtà di tipo entità
  • nome e peso dei pazienti sono fatti interessanti
    di tipo attributo delle entità (fatti che
    contraddistinguono unentità)
  • linsieme dei pazienti è un fatto interessante di
    tipo collezione di entità, cioè un insieme di
    entità che hanno gli stessi attributi

26
Operazioni e fatti
Buona progettazione Il modello
  • I fatti interessanti di una realtà si
    identificano a partire dalle operazioni che si
    intendono effettuare
  • Nella realtà dei pazienti è necessario effettuare
    ricerche e statistiche su informazioni relative
    ai pazienti

27
Modello della realtà dei pazienti
Buona progettazione Il modello
  • Visto il tipo di operazioni richieste, un modello
    ragionevole della nostra realtà potrebbe essere
  • Una sola collezione Pazienti in cui ogni entità è
    un paziente con i seguenti attributi

28
Dal modello allo schedario
Buona progettazione Realizzazione
  • Ad ogni entità nel modello è associata una scheda
    nello schedario
  • Una scheda per ogni paziente
  • Ogni attributo di unentità è rappresentato da
    uninformazione sulla rispettiva scheda, nella
    forma
  • Nome attributo valore attributo
  • Ad esempio, Peso 56 Kg
  • Ad ogni collezione di entità nel modello è
    associato un cassetto dello schedario, quindi
    tutte le schede relative alle entità di una
    collezione sono contenute nello stesso cassetto

29
Identità
Buona progettazione Il modello
  • Supponiamo di avere 2 pazienti di nome Mario
    Rossi, come potremmo eseguire loperazione
  • trovare il peso di Mario Rossi?
  • troveremmo due schede nello schedario, a quale
    dovremmo riferirci per trovare la risposta?
  • Ogni entità nella realtà possiede unidentità
    propria che la distingue da tutte le altre entità
  • i due pazienti Mario Rossi seduti nel vostro
    studio sono distinti dalla propria identità di
    persone voi scegliereste a quale dei due
    chiedere il peso

30
Identità nello schedario
Buona progettazione Il modello
  • Problema tipico di ogni rappresentazione di una
    realtà rappresentare lidentità delle entità
  • Esempi noti di rappresentazioni di identità
  • CSSN (realtà sanitaria)
  • Codice Fiscale (realtà dello stato italiano)
  • Nello schedario dei pazienti potremmo quindi
    sfruttare lunicità del codice CSSN per
    distinguere univocamente le nostre schede
  • In questo modo potremmo definire operazioni non
    ambigue del tipo
  • trovare il peso del paziente Mario Rossi con
    CSSN 0608/7654321

31
Identità con chiave muta
Buona progettazione Il modello
  • Buona regola di progettazione
  • Per rappresentare lidentità è bene introdurre
    per ogni cassetto un codice unico, detto chiave
    muta
  • Tale codice è detto chiave muta (o anonima)
    perché non rappresenta nessun fatto della realtà
    modellata, ma è introdotto con lunico scopo di
    rappresentare lidentità
  • Tipicamente i valori della chiave muta sono
    numeri interi progressivi
  • Nel nostro schedario introdurremo come chiave
    muta il codice della scheda paziente, un numero
    intero progressivo associato ad ogni scheda

32
Struttura omogenea delle schede
Buona progettazione Il modello
Per garantire lomogeneità dello schedario si
definisce un fac-simile della generica scheda
paziente. Questo guida il medico nel corretto
inserimento di informazioni
Patologie nome (anno)
33
Struttura omogenea delle schede
Buona progettazione Il modello
Per garantire lomogeneità dello schedario si
definisce un fac-simile della generica scheda
paziente. Questo guida il medico nel corretto
inserimento di informazioni
Patologie nome (anno)
34
Struttura omogenea delle schede
Buona progettazione Il modello
35
Struttura omogenea delle schede
Buona progettazione Il modello
36
Struttura omogenea delle schede
Buona progettazione Il modello
Scheda paziente 31
Paziente dal 10/12/99 CSSN 0608/7654321
DATI ANAGRAFICI Nome Mario Indirizzo Cognome
Rossi Via Palestro 6 Anno di nascita 1964
50100 Firenze Luogo di Nascita Firenze Tel. 345
678910 Cittadinanza Italiana E-mail
marossi_at_libero.it
Dati anagrafici Nome Mario
Indirizzo Cognome Rossi Via Palestro
6 Anno di nascita 1964 50100 Firenze Sesso M
F Tel. 345 678910 Cittadinanza
Italiana E-mail marossi_at_libero.it
DATI MEDICI Gruppo sanguigno B Negativo Altezza
e peso 1.65 m, 63 Kg
DIARIO Data 22/03/2000 Commento influenza,
sintomi classici Li 3 maggio 2002 Comm. forte
tosse, consigliato TosseVia 1000
per una
settimana Data 23/08/2002 ...
37
Le operazioni
Problemi dello schedario Problemi intrinseci
  • Le schede sono ordinate in ordine alfabetico per
    cognome e nome
  • Le operazioni di ricerca per cognome sono le più
    rapide
  • Qualè il telefono di Maria Bianchi?
  • Le operazioni di ricerca non basate sul cognome e
    quelle di statistica richiedono in generale lo
    scorrimento di tutte le schede dellarchivio
  • Qualè il telefono del paziente con CSSN
    0608/7654321
  • Quanti pazienti hanno gruppo sanguigno B Negativo?

38
Velocizzare le ricerche Indici
Problemi dello schedario Problemi intrinseci
  • Qualè il telefono del paziente con CSSN
    0608/7654321?
  • Per rendere loperazione più rapida si può tenere
    aggiornato un indice cartaceo (simile allindice
    analitico di un libro) in cui vengono tenuti
    tutti i nomi dei pazienti ordinati per CSSN
  • Dato il CSSN 0608/7654321, tramite lindice si
    può risalire rapidamente al nome Mario Rossi,
    cercare la scheda corrispondente nel cassetto e
    trovare il telefono

39
Velocizzare le statistiche
Problemi dello schedario Problemi intrinseci
  • Quanti pazienti hanno gruppo sanguigno B
    Negativo?
  • Per rendere efficiente loperazione si può tenere
    un indice per ogni gruppo sanguigno
  • Dallindice relativo al gruppo B Negativo si può
    ricavare rapidamente il totale desiderato
    contandone gli elementi

40
Problemi pratici di uno schedario
Problemi dello schedario Problemi intrinseci
  • Dato lordine alfabetico delle schede, le
    operazioni di ricerca e statistica in base al
    cognome del paziente sono le uniche veramente
    rapide
  • Allaumentare del numero delle schede, le
    operazioni di ricerca non basate sul cognome e
    quelle statistiche divengono molto laboriose e
    soggette ad errore

41
Problemi pratici di uno schedario
Problemi dello schedario Problemi intrinseci
  • Gli indici sono una possibile soluzione, ma il
    loro aggiornamento richiede tempo e energie
  • Devono essere aggiornati tutti in seguito
    allinserimento di ogni nuova scheda
  • Sono spesso soggetti ad errore umano, di
    scrittura o copiatura
  • Dato lo sforzo richiesto per tenere gli indici,
    il loro numero è piuttosto basso, quindi alcune
    operazioni sulle schede rimarranno sempre
    proibitive

42
Piano della lezione
  • Problema dellarchivio dei pazienti
  • Realizzazione di una soluzione pre-informatica
    archivio cartaceo
  • Importanza della buona progettazione
  • Limiti della soluzione cartacea
  • Realizzazione di una soluzione informatica
    archivio elettronico
  • Progetto di un database
  • Confronto con la soluzione cartacea

43
Soluzione informatica
  • In informatica, la gestione automatica e
    organizzata di grandi quantità di informazioni, è
    risolta adottando Sistemi per la Gestione di Basi
    di Dati (SGBD, in inglese DataBase Management
    System, DBMS)

44
Progettazione e realizzazione di un database
  • Un database è una rappresentazione elettronica,
    della realtà di interesse ogni fatto
    interessante della realtà deve essere
    rappresentato nel database in forma di dati
    elettronici
  • La progettazione di un database è come quella di
    uno schedario e consiste nel definire un modello
    schematico della realtà

45
Realizzazione di un database
  • Dato un modello della realtà
  • Ad ogni collezione di entità nella realtà di
    interesse corrisponde una tabella nel database
  • Ad ogni entità nella realtà corrisponde un record
    di una tabella
  • Ad ogni attributo di unentità corrisponde un
    campo del record relativo a quellentità

46
Schedario e databasecollezione di entità
  • Ad un cassetto dello
  • schedario corrisponde
  • una tabella del database

Cassetto Pazienti
47
Schedario e database entità
  • Ad una scheda del
  • cassetto corrisponde un record della tabella

Cassetto Pazienti
48
Schedario e database attributi
  • Ad ogni informazione
  • sulla scheda corrisponde
  • un valore nel record

Cassetto Pazienti
49
Schedario e database operazioni
  • Un DBMS offre gli strumenti per la definizione di
    interrogazioni (query) su un database operazioni
    automatiche sui dati che corrispondono alle
    operazioni manuali sulle schede dello schedario

50
Progettazione di un archivio
  • Abbiamo visto che è improponibile progettare un
    archivio sulla base del solo universo del
    discorso e senza ladozione 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 è unoperazione complessa
    (intuizione e metodo)

51
Metodologie
  • Esistono metodologie di modellazione che
    forniscono gli strumenti e linguaggi per
  • individuare e rappresentare le componenti
    interessanti delluniverso 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

52
Modellazione e progettazione
ER
Modello concettuale
Organizzazione
Mappatura in modello relazionale equivalente
Soluzione anni 70
Creazione DB
Database
Archivio cartaceo
53
Linguaggio per la definizionedi 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

54
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
55
Es. Associazioni (11)
Aspetto linguistico
  • (11) associazione CorsiTenuti-TenutoDa tra
    Professori e Corsi ogni professore deve tenere
    un corso (totale) e ogni Corso è tenuto da un
    professore (totale)

corsoTenuto
tenutoDa
Corsi
Professori
56
Es. Associazioni (1n)
Aspetto linguistico
  • (1n) 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
Studenti
Professori
57
Es. Associazioni (nn)
Aspetto linguistico
  • (nn) 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
Studenti
Corsi
58
EsempioSegreteria dellUniv. 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 alluniversità, 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.

59
Modello concettuale
esamiSuperati
passatoDa
Esami
Studenti
60
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

61
Soluzione anni 70 (2/2)
  • Per cercare gli esami passati dagli studenti di
    Pisa, limpiegato 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

62
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

63
Tabella Studenti
Struttura tabella Nome Text Matricola
Number Provincia Text(2) DataNascita Date
Campo
Record
Valore
64
Tabella Esami
Struttura tabella Corso Text Candidato
Text Data Date Voto Number(2) Lode Si/No
Voto Lode
Data
Candidato
Materia
28 No
12/01/01
Isaia
BD
30 Si
15/01/01
Rossi
BD
30 No
13/02/01
Bianchi
FP
25 No
15/01/01
Bonini
BD
18 No
11/02/01
Isaia
LMM
65
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 lanno, il
    giorno o il mese del valore.

66
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

67
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

68
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)

69
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 unaltra tabella, che contiene quel
    valore per la chiave primaria

70
Chiave Esterna (2/3)
  • Per i nostri scopi, in quale tabella dellesempio
    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
71
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!!!
72
Tabella Esami corretta
La tabella Esami deve essere definita come
Struttura tabella Corso Text Candidato
Number Data Date Voto Number(2) Lode Si/No
73
Relazione tra tabelle
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 lesame.
74
Schema relazionale
esamiSuperati
passatoDa
Esami
Studenti
Nome
Candidato
Provincia
Voto
Esami
Studenti
Corso
Matricola
Lode
DataNascita
Data
75
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

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

77
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

78
Esercizio
  • Definire un database Access che consenta la
    gestione delle informazioni relative agli Agenti
    dellFBI. 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...

79
Definizione del database
  • Creazione delle tabelle
  • Attributi e tipi
  • Creazione delle associazioni
  • Integrità referenziale
  • Cancellazione e modifica a cascata
  • Caselle combinate
  • Inserimento dati rispetto dellintegrità
    referenziale

80
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

81
Query tipologie
  • Query per la ricerca
  • Selezione e visualizzazione di record
  • Query per il calcolo
  • Max, min, media, somma, etc.

82
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, lindirizzo 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 allagenzia del
    comune in cui vende
  • Ogni città ha una sola agenzia

83
Eserciziole query
  • Trovare il nome, il telefono e i mq di chi vende
    a Milano una casa per meno di 150.000 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 10.000 Euro
    rispettivamente.

84
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 lanno di uscita.
Write a Comment
User Comments (0)
About PowerShow.com