Corsi di Laurea in Biotecnologie

Slides:



Advertisements
Presentazioni simili
Training On Line - CONP. 2 Richiesta Da Menu: Conferimenti ad inizio anno termico > Agosto > Pluriennali > Nuova Richiesta Si accede alla pagina di Richiesta.
Advertisements

- le Medie la Moda la Mediana
Informatica II – Basi di Dati (08/09) – Parte 1
Dipartimento di Ingegneria Idraulica e Ambientale - Universita di Pavia 1 Caduta non guidata di un corpo rettangolare in un serbatoio Velocità e rotazione.
1 MeDeC - Centro Demoscopico Metropolitano Provincia di Bologna - per Valutazione su alcuni servizi erogati nel.
Mat_Insieme Lavoro di Gruppo Prodotti Notevoli
TAV.1 Foto n.1 Foto n.2 SCALINATA DI ACCESSO ALL’EREMO DI SANTA CATERINA DEL SASSO DALLA CORTE DELLE CASCINE DEL QUIQUIO Foto n.3 Foto n.4.
1 Pregnana Milanese Assessorato alle Risorse Economiche Bilancio Preventivo P R O P O S T A.
Frontespizio Economia Monetaria Anno Accademico
1 la competenza alfabetica della popolazione italiana CEDE distribuzione percentuale per livelli.
I sistemi di riferimento
Basi di Dati prof. A. Longheu 4 – Progettazione – Introduzione e Modello E-R Cap. 5 Basi di dati Atzeni – Ceri – Paraboschi - Torlone.
1 Istruzioni, algoritmi, linguaggi. 2 Algoritmo per il calcolo delle radici reali di unequazione di 2 o grado Data lequazione ax 2 +bx+c=0, quali sono.
Ordini Parziali - Reticoli
Esercitazioni su circuiti combinatori
I MATEMATICI E IL MONDO DEL LAVORO
Obiettivi del corso di Statistica Medica.
Corso di Informatica (Basi di Dati)
Corso di Informatica (Programmazione)
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Problemi e algoritmi Anno Accademico 2009/2010.
Corso di Informatica (Basi di Dati)
Ufficio Studi UNIONCAMERE TOSCANA 1 Presentazione di Riccardo Perugi Ufficio Studi UNIONCAMERE TOSCANA Firenze, 19 dicembre 2000.
Corso di Informatica A.A Corso di Informatica Laurea Triennale - Comunicazione&Dams Dott.ssa Adriana Pietramala Dott.ssa.
La partita è molto combattuta perché le due squadre tentano di vincere fino all'ultimo minuto. Era l'ultima giornata del campionato e il risultato era.
IPOGLICEMIA PARTE I : Quando si ha una crisi ipoglicemica
Cos’è un problema?.
Basi di dati Claudia Raibulet
1 Negozi Nuove idee realizzate per. 2 Negozi 3 4.
ORDINE DI CHIAMATA a 1minuto e 2 minuti PRINCIPALI TEMPI DELLA COMPETIZIONE ORDINE DI CHIAMATA a 1minuto e 2 minuti PRINCIPALI TEMPI DELLA COMPETIZIONE.
TECNOLOGIE DELLINFORMAZIONE E DELLA COMUNICAZIONE PER LE AZIENDE Materiale di supporto alla didattica.
1)Completa la seguente successione: C4, B7, E10, D13, G16,. A. G19 B
Bando Arti Sceniche. Per poter procedere è indispensabile aprire il testo del Bando 2ROL - Richieste On Line.
Progettare un database
INFORMATICA MATTEO CRISTANI. INDICE CICLO DELLE LEZIONI LEZ. 1 INTRODUZIONE AL CORSO LEZ. 2 I CALCOLATORI ELETTRONICI LEZ. 3 ELEMENTI DI TEORIA DELL INFORMAZIONE.
LE SAI LE TABELLINE? Mettiti alla prova!.
1 Questionario di soddisfazione del servizio scolastico Anno scolastico 2011/2012 Istogramma- risposte famiglie.
Un trucchetto di Moltiplicazione per il calcolo mentale
1 Ly-LAB Sistema di gestione dei dati analitici di laboratorio.
Sistemi di Elaborazione delle Informazioni Mod.I.
Esempi risolti mediante immagini (e con excel)
BIOINFO3 - Lezione 51 INSERIMENTO DEI DATI Visto come si creano le tabelle (sinora tristemente vuote), cominciamo ad occuparci di come riempirle con dei.
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,
Microsoft Access (parte 5) Introduzione alle basi di dati Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:
NO WASTE Progetto continuità scuola primaria scuola secondaria Salorno a.s. 2013_
Numeri Interi senza segno
Minimo comune multiplo
Massimo comun divisore
I chicchi di riso e la sfida al Bramino
Microsoft Access Query (II), filtri.
Il numero più grande Accademia dei Lincei
TRASFORMATA DI FOURIER
Modulo 5 DataBase ACCESS. Informazioni e Dati INFORMAZIONI vengono scambiate con linguaggio scritto o parlato DATI rappresentazione di informazioni in.
Modulo 5 - Database. Contenuti della lezione 5.1.1Concetti Fondamentali 5.1.2Organizzazione di un Database 5.1.3Relazioni 5.2.1Lavorare con i database.
A.P. cat. B - 1 Per chi vuole: Libro di testo D.P. Curtis, K. Foley, K. Sen, C. Morin Informatica di base 2° edizione Mc Graw-Hill Companies.
Informatica Introduzione alle basi di dati Lezione 2 Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:
1 Microsoft Access Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni Informatica per laurea triennale.
Progettazione Logica Il prodotto della progettazione logica è uno schema logico che rappresenta le informazioni contenute nello schema E-R in modo corretto.
IL GIOCO DEL PORTIERE CASISTICA. Caso n. 1 Il portiere nella seguente azione NON commette infrazioni.
Diagramma delle Classi
Corso integrato di Matematica, Informatica e Statistica Informatica di base Linea 1 Daniela Besozzi Dipartimento di Informatica e Comunicazione Università.
Il modello relazionale. Modello logico dei dati basato su concetti relazione e tabella Relazione: da teoria degli insiemi Tabella: rappresentazione grafica.
Condizioni Logiche Che cosa sono: una condizione logica è un’espressione che può avere valore VERO o FALSO Ad esempio: “Torino ha più abitanti di Roma”
Corso integrato di Matematica, Informatica e Statistica Informatica di base Linea 1 Daniela Besozzi Dipartimento di Informatica e Comunicazione Università.
Corso integrato di Matematica, Informatica e Statistica Informatica di base Linea 1 Daniela Besozzi Dipartimento di Informatica e Comunicazione Università.
Corso integrato di Matematica, Informatica e Statistica Informatica di base Linea 1 Daniela Besozzi Dipartimento di Informatica e Comunicazione Università.
Corso integrato di Matematica, Informatica e Statistica Informatica di base Linea 1 Daniela Besozzi Dipartimento di Informatica e Comunicazione Università.
Corso integrato di Matematica, Informatica e Statistica Informatica di base Linea 1 Daniela Besozzi Dipartimento di Informatica e Comunicazione Università.
Corso integrato di Matematica, Informatica e Statistica Informatica di base Linea 1 Daniela Besozzi Dipartimento di Informatica e Comunicazione Università.
Microsoft Access Filtri, query. Filtri Un filtro è una funzione che provoca la visualizzazione dei soli record contenenti dati che rispondono a un certo.
1 “ Le Basi di Dati ”. 2 Parte 5: Tabelle –Creazione di una tabella –Indici e chiavi primarie –Relazioni e integrità referenziale Basi di Dati Struttura.
Transcript della presentazione:

Corsi di Laurea in Biotecnologie (primo anno interfacoltà) Corso integrato di Matematica, Informatica e Statistica Informatica di base Linea 1 Daniela Besozzi Dipartimento di Informatica e Comunicazione Università degli Studi di Milano

Settima lezione: Introduzione alle basi di dati (Capitoli 12 e 13) Informatica di base – Linea 1

Prima parte Cosa abbiamo fatto e cosa faremo Informatica di base – Linea 1

Abbiamo visto: i fogli di calcolo Informazione rappresentata in forma tabulare In ogni cella posso mettere il tipo di dati che desidero Il formato dei dati è descritto a livello di cella: ricordate (dal laboratorio) come si cambia il formato di una cella? Informatica di base – Linea 1

Oggi studieremo le basi di dati (DB) Le basi di dati (database, in inglese) servono per organizzare e memorizzare le informazioni in modo strutturato: e poterle poi rielaborare in modo automatico Hanno alcuni aspetti in comune con i fogli di calcolo: gestiscono tipi diversi di informazione visualizzano l’informazione in forma tabulare Informatica di base – Linea 1

Fogli di calcolo e DB: differenze Nonostante abbiano finalità e metodi di visualizzazione simili, i fogli di calcolo e i DB sono sostanzialmente differenti I DB strutturano “maggiormente” l’informazione: vediamo tra poco cosa vuol dire I DB sono utilizzati principalmente per memorizzare grandi quantità di informazione: non tanto per elaborare automaticamente l’informazione Informatica di base – Linea 1

Informatica di base – Linea 1 La logica booleana Per poter capire i DB, dobbiamo imparare le nozioni della logica booleana: è utilizzata in diversi ambiti informatici in realtà l’abbiamo già vista: nei circuiti elettronici del processore nelle funzioni avanzate dei motori di ricerca per Internet Informatica di base – Linea 1

Seconda parte La logica booleana True or False? Informatica di base – Linea 1

Informatica di base – Linea 1 La logica booleana Il nostro scopo: definire una “espressione logica” e verificare il suo “valore di verità”: cioè, l’espressione è vera o falsa? Ogni espressione logica è costituita da un insieme di operatori e di operandi: gli operandi possono assumere solo valori binari: vero o falso 0 o 1 ogni operatore può essere applicato ad uno o due operandi Informatica di base – Linea 1

Gli operatori booleani Operatori con due operandi: AND: restituisce il valore “vero” solo se entrambi gli operandi sono veri OR: restituisce il valore “vero” se almeno uno dei due operandi è vero Operatore con un solo operando: NOT: restituisce il valore “vero” se il valore dell’operando è falso; se il valore dell’operando è vero, allora restituisce il valore “falso” Informatica di base – Linea 1

Tavole di verità Ogni operatore da solo definisce un’espressione logica: “a AND b”, “a OR b”, “NOT a” sono tre espressioni il valore di verità di ogni espressione dipende dai valori degli operandi a e b  tavola di verità AND OR NOT a b a AND b VERO FALSO a b a OR b VERO FALSO a NOT a VERO FALSO

Informatica di base – Linea 1 Espressioni booleane Così come è possibile comporre le operazioni algebriche (somma, prodotto, …), è possibile comporre anche le operazioni booleane Esempio: a AND (b OR (NOT c)) a, b, c sono singoli operandi oppure intere proposizioni, ognuna delle quali può assumere valore vero o falso Esempio di proposizioni (vere o false?): a = “il triangolo è una figura geometrica con tre lati” b = “3+2 = 7” c = “4 è un numero dispari” l’espressione “a AND (b OR (NOT c))” è vera o falsa? Informatica di base – Linea 1

Terza parte Introduzione alle basi di dati: le entità Informatica di base – Linea 1

Cosa può essere rappresentato nei DB? Nei DB è possibile rappresentare qualunque entità che sia rappresentabile su un computer Es: una casa, una persona, ecc. Per rappresentare un’entità, si identificano le sue caratteristiche, dette attributi in particolare, si identificano gli attributi dell’entità che sono necessari agli scopi di uno specifico contesto applicativo Informatica di base – Linea 1

Entità e attributi: un esempio Es: attributi dell’entità “appartamento” Applicazione “agenzia immobiliare”: superficie commerciale, piano, numero di stanze, indirizzo, box, ecc. Applicazione “catasto”: indirizzo, numero piantina catastale, valore catastale, ecc. Informatica di base – Linea 1

Come si rappresentano gli attributi Gli attributi hanno un nome e un dominio Attenzione! Non un “valore”, come scritto nel libro di testo Il dominio definisce il tipo di valori che possono essere assunti per quell’attributo Es. entità “appartamento”: attributo con nome “indirizzo”: il dominio è un testo attributo con nome “numero di stanze”: il dominio è un numero intero Informatica di base – Linea 1

Distinzione tra dati e metadati Il dominio è un metadato: informazione che descrive l’informazione nei fogli di calcolo: il formato della cella è un metadato che descrive i dati della cella I metadati definiscono il tipo di informazione che può essere memorizzato in un DB I dati invece sono gli specifici valori inseriti per gli attributi perciò, i metadati specificano il tipo di dati contenuti nel DB, ma non i dati stessi Informatica di base – Linea 1

Dati e metadati: esempio Entità: “appartamento” Attributi: “superficie commerciale”  dominio: numero; dato: 100 “piano”  dominio: numero; dato: 4 “numero di stanze”  dominio: numero; dato: 5 “indirizzo”  dominio: testo; dato: Via Roma, 16 “box”  dominio: booleano (“sì” o “no”); dato: si Informatica di base – Linea 1

Tabelle e istanze Tabella: appartamenti Per ogni entità, i dati dei vari attributi vengono memorizzati in una tabella: il nome della tabella corrisponde all’entità i diversi attributi corrispondono alle colonne della tabella ogni riga corrisponde ad una entità specifica Uno specifico insieme di dati in una tabella viene detto istanza Tabella: appartamenti Superficie Piano Stanze Indirizzo Box 100 4 Via Rossi, 5 No 50 2 Via Verdi, 4 Sì 150 8 7 Via Bianchi, 9

Atomicità degli attributi Gli attributi devono contenere dati che non necessitano mai di essere scomposti Esempio. Per l’entità “persona”, abbiamo due possibilità: attributo “nome completo” (“Mario Rossi”) attributo “nome” e attributo “cognome” (“Mario”, “Rossi”) Che differenza c’è? se il nome e il cognome si trattano sempre assieme, va bene anche “nome completo”, altrimenti la separazione degli attributi in “nome” e “cognome” è indispensabile Informatica di base – Linea 1

Informatica di base – Linea 1 Unicità delle entità Due entità possono avere lo stesso valore per uno o più attributi: es: due appartamenti possono essere allo stesso piano Se due entità hanno lo stesso valore per tutti gli attributi, allora sono la stessa entità In pratica: non possono esistere nel DB due entità con gli stessi valori per tutti gli attributi cioè, in ogni tabella di un DB non possono esistere delle righe identiche Informatica di base – Linea 1

Informatica di base – Linea 1 Chiavi candidate Abbiamo appena detto che in un DB non possono esistere due entità con gli stessi valori per tutti gli attributi. Quindi: deve esistere almeno un insieme di attributi i cui valori non sono ripetuti in due entità diverse ad esempio, l’insieme di tutti gli attributi ognuno di questi insiemi identifica univocamente un’entità, cioè permette di distinguere entità diverse Un insieme di attributi che identifica in modo univoco ogni entità è detto chiave candidata Informatica di base – Linea 1

Chiavi candidate: esempio Entità “persona”, attributi: nome, cognome, data di nascita, luogo di nascita, codice fiscale Entità “persona”, chiavi candidate: Nome, cognome, data di nascita, luogo di nascita, codice fiscale l’insieme di tutti gli attributi è sempre una chiave candidata! Codice fiscale insieme minimo di attributi che identifica una chiave candidata Codice fiscale con un qualunque altro insieme di attributi Nome, cognome, data di nascita, luogo di nascita in molti contesti applicativi può essere considerata una chiave candidata Informatica di base – Linea 1

Informatica di base – Linea 1 Chiave primaria Tra tutte le chiavi candidate, ne viene scelta una che svolge il ruolo di chiave primaria La chiave primaria viene utilizzata per identificare in modo univoco e definitivo tutte le righe in una tabella: cioè, per distinguere tutte le entità fra loro Esempio di chiave primaria: “codice fiscale” è una buona scelta “nome”, “cognome” non è una buona scelta perché no? Informatica di base – Linea 1

Quarta parte Le operazioni sulle tabelle Informatica di base – Linea 1

Informatica di base – Linea 1 Il formalismo dei DB I DB sono basati su solidi risultati teorici E’ possibile definire 5 operazioni sulle tabelle, analoghe alle operazioni algebriche: selezione, proiezione, unione, differenza, prodotto si applicano a una o più tabelle, e restituiscono come risultato una tabella noi vediamo soltanto 3 operazioni, quelle più utili nella pratica Informatica di base – Linea 1

Informatica di base – Linea 1 1. Selezione Permette di selezionare alcune righe da una tabella Come si fa? Si specifica una condizione (o “test”) e una tabella di input Il risultato è dato da una tabella che ha gli stessi attributi della tabella in input, e che contiene solo le righe (prese dalla tabella input) in cui la condizione è verificata la condizione viene valutata per ogni riga Informatica di base – Linea 1

Selezione, esempio Tabella: appartamenti Superficie Piano Stanze Indirizzo Box 100 4 Via Rossi, 5 No 50 2 Via Verdi, 4 Sì 150 8 7 Via Bianchi, 9 select Piano=4 from appartamenti Superficie Piano Stanze Indirizzo Box 100 4 Via Rossi, 5 No 50 2 Via Verdi, 4 Sì Informatica di base – Linea 1

Combinazione di condizioni: la logica booleana E se volessimo esprimere più condizioni, cioè sfruttare i valori di più attributi? usiamo la logica booleana Es: “è al quarto piano e non ha il box” select Piano=4 AND Box=“no” from appartamenti Es: “è al quarto piano e non ha il box, oppure è all’ottavo piano e ha il box” select (Piano = 4 AND Box=“no”) OR (Piano=8 AND Box = “Sì”) from appartamenti Informatica di base – Linea 1

Informatica di base – Linea 1 2. Proiezione Permette di scegliere quali attributi di una tabella visualizzare Come si fa? Si specificano una tabella in input e una lista di attributi di quella tabella Il risultato è una tabella che ha solo quell’insieme di attributi, ed è costituita da tutte le righe della tabella in input in pratica, la proiezione “estrae” delle colonne dalla tabella in input Informatica di base – Linea 1

Proiezione, esempio Tabella: appartamenti Superficie Piano Stanze Indirizzo Box 100 4 Via Rossi, 5 No 50 2 Via Verdi, 4 Sì 150 8 7 Via Bianchi, 9 project Indirizzo, Box from appartamenti Indirizzo Box Via Rossi, 5 No Via Verdi, 4 Sì Via Bianchi, 9 Informatica di base – Linea 1

Informatica di base – Linea 1 3. Prodotto Si applica ad una coppia di tabelle in input Restituisce una tabella che contiene tutti gli attributi delle due tabelle in input e tutte le combinazioni delle righe delle due tabelle in input funziona come il prodotto cartesiano fra due insiemi: {a, b} x {c, d, e} = {(a, c), (a, d), (a, e), (b, c), (b, d), (b, e)} Informatica di base – Linea 1

Il prodotto: esempio Tabella: Bambini Tabella: Giochi Bambini x Giochi Nome Anni Genere Andrea 2 Maschio Luca 3 Anna 4 Femmina Gioco Colore GiocoDa Macchinina blu Maschio Bambola rosa Femmina Bambini x Giochi Nome Anni Genere Gioco Colore GiocoDa Andrea 2 Maschio Macchinina blu Bambola rosa Femmina Luca 3 Anna 4

Composizione di operazioni E’ possibile combinare le operazioni sulle tabelle, in modo da utilizzare il risultato di una operazione come operando per una nuova operazione: analogo a 5 + (2 * 3): prima svolgiamo (2*3) e otteniamo un numero che poi usiamo come operando da sommare a 5 Informatica di base – Linea 1

Composizione di operazioni, esempio Tabella: appartamenti Superficie Piano Stanze Indirizzo Box 100 4 Via Rossi, 5 No 50 2 Via Verdi, 4 Sì 150 8 7 Via Bianchi, 9 project Superficie, Piano from (select Stanze>3 from appartamenti) Superficie Piano 100 4 150 8 Informatica di base – Linea 1

Un’altra operazione utile: il join E’ molto usata, quindi prende un nome specifico E’ una forma di composizione: applica una selezione ad un prodotto di tabelle (andando a vedere se c’è una corrispondenza fra i valori di alcuni attributi) L’idea è: fai il prodotto di due tabelle ma non restituire tutte le combinazioni delle righe, prendi solo quelle per cui è verificata una certa condizione Informatica di base – Linea 1

Informatica di base – Linea 1 Il join naturale Si fa il prodotto fra due tabelle A e B, e si selezionano solo le righe per le quali il valore di un attributo (specificato) di A è uguale al valore di un attributo (specificato) di B cioè, le righe in cui esiste una corrispondenza fra la tabella A e la tabella B rispetto al valore degli attributi che abbiamo specificato Informatica di base – Linea 1

Join naturale, esempio Tabella: Bambini Tabella: Giochi Nome Anni Genere Andrea 2 Maschio Luca 3 Anna 4 Femmina Gioco Colore GiocoDa Macchinina blu Maschio Bambola rosa Femmina join Bambini, Giochi on Bambini.genere = Giochi.GiocoDa Nome Anni Genere Gioco Colore GiocoDa Andrea 2 Maschio Macchinina blu Luca 3 Anna 4 Femmina Bambola rosa Domanda: perché questa riga non fa parte della tabella ottenuta con il join? Anna 4 Femmina Macchinina blu Maschio

Quinta parte Principi di progettazione di DB Informatica di base – Linea 1

La ridondanza dei dati Molti contesti applicativi portano ad avere, come soluzione naturale, la duplicazione di dati tra diverse tabelle Tabella: Studenti Nome Cognome Matricola Indirizzo Andrea Bianchi 111111 Via Roma, 1 Beatrice Verdi 222222 Corso Milano, 2 Carlo Rossi 333333 Piazza Genova, 3 Tabella: Libri prestati Libro Autore Nome Cognome Indirizzo Fluency Snyder Andrea Bianchi Via Roma, 1 La Relatività Einstein Beatrice Verdi Corso Milano, 2

I problemi derivanti dalla ridondanza Spreco di spazio di memorizzazione: le stesse informazioni vengono memorizzate due volte: sarà necessario utilizzare il doppio dello spazio per memorizzare quei dati Inconsistenza dei dati: se un dato cambia, deve essere cambiato in tutte le tabelle dove quel dato è presente è difficile verificare automaticamente che questa operazione venga realizzata correttamente se non viene realizzata correttamente, i dati diventano inconsistenti Informatica di base – Linea 1

Esempio di inconsistenza dei dati Beatrice Verdi cambia indirizzo e comunica la modifica solo alla segreteria (ma non alla biblioteca) Tabella: Studenti Nome Cognome Matricola Indirizzo Andrea Bianchi 111111 Via Roma, 1 Beatrice Verdi 222222 Viale Monza, 4 Carlo Rossi 333333 Piazza Genova, 3 Tabella: Libri prestati Libro Autore Nome Cognome Indirizzo Fluency Snyder Andrea Bianchi Via Roma, 1 La Relatività Einstein Beatrice Verdi Corso Milano, 2

“mmm, non capisco dove vuoi andare a parare” “Va bene, ho capito che la ridondanza è tanto brutta, però l’informazione dell’indirizzo serve in entrambe le tabelle, quindi non posso fare a meno di duplicarla” Informatica di base – Linea 1

La soluzione: l’intuizione Nella tabella della biblioteca non memorizzo tutte le informazioni di uno studente, ma solo la sua matricola Tabella: Studenti Nome Cognome Matricola Indirizzo Andrea Bianchi 111111 Via Roma, 1 Beatrice Verdi 222222 Corso Milano, 2 Carlo Rossi 333333 Piazza Genova, 3 Tabella: Libri Titolo Autore Matricola Fluency Snyder 111111 La Relatività Einstein 222222

La soluzione: cosa abbiamo fatto Abbiamo scelto l’insieme di attributi {Matricola} come chiave primaria della tabella Studenti è un identificatore unico per tutte le righe Nella tabella Libri usiamo un riferimento alla matricola dello studente che ha preso in prestito il libro: l’insieme di attributi {Matricola} prende il nome di chiave esterna Informatica di base – Linea 1

Informatica di base – Linea 1 La chiave esterna Una chiave esterna è un insieme di attributi di una tabella che fanno riferimento alla chiave primaria di un’altra tabella la chiave esterna permette di reperire le informazioni da una tabella ad un’altra in modo coerente, senza dover replicare tutte le informazioni di una tabella in altre tabelle si evitano sia la ridondanza che l’inconsistenza Informatica di base – Linea 1

“Non mi stai convincendo” “Ci sono almeno due cose che non mi vanno bene di quello che ci hai appena detto: non hai tolto del tutto la ridondanza dei dati, in quanto la matricola viene sempre ripetuta due volte nella tabella Libri non ci sono più i dettagli dello studente ma solo la matricola: se volessi sapere come si chiama chi ha preso un certo libro, come faccio?” Informatica di base – Linea 1

Informatica di base – Linea 1 1 – la ridondanza E’ vero che la chiave esterna ripete i valori della chiave primaria nel nostro esempio: Libri.Matricola ripete i valori di Studenti.Matricola Informatica di base – Linea 1

Informatica di base – Linea 1 1 – la ridondanza (cont) Tuttavia: abbiamo scelto una chiave primaria che richiede poco spazio per essere memorizzata (dunque si spreca poco spazio) abbiamo aggiunto metadati (abbiamo specificato che Libri.Matricola è una chiave esterna che si riferisce a Studenti.Matricola), quindi possiamo aggiornare automaticamente i dati qualora un valore di Studenti.Matricola o di Libri.Matricola venisse aggiornato Informatica di base – Linea 1

2 - la completezza dei dati Come fa la libreria a sapere il nome degli studenti a cui i libri sono stati prestati? Facile! Basta applicare un’operazione tra tabelle: quale? Informatica di base – Linea 1

2 - la completezza dei dati (cont) Usiamo il join naturale: LibriStudenti = join Libri, Studenti on Studenti.Matricola = Libri.Matricola Tabella: Libri Tabella: Studenti Titolo Autore Matricola Fluency Snyder 111111 La Relatività Einstein 222222 Nome Cognome Matricola Indirizzo Andrea Bianchi 111111 Via Roma, 1 Beatrice Verdi 222222 Corso Milano, 2 Carlo Rossi 333333 Piazza Genova, 3 Tabella: LibriStudenti Titolo Autore Libri.Matricola Nome Cognome Studenti.Matricola Indirizzo Fluency Snyder 111111 Andrea Bianchi Via Roma, 1 La Relatività Einstein 222222 Beatrice Verdi Corso Milano, 2

Tabelle fisiche e tabelle logiche Tabelle fisiche: le tabelle i cui dati vengono memorizzati dal DB es: Libri, Studenti Tabelle logiche: le tabelle necessarie per ogni utilizzo specifico del DB che vengono derivate attraverso operazioni su tabelle es: LibriStudenti le tabelle logiche vengono anche dette “viste” un singolo DB può dare origine a moltissime viste diverse Informatica di base – Linea 1

Informatica di base – Linea 1 Relazioni tra tabelle Una relazione tra tabelle è una corrispondenza tra gli attributi di una tabella e gli attributi di un’altra tabella Es: Studenti e Libri sono in relazione, in quanto Libri.Matricola è una chiave esterna che fa riferimento a Studenti.Matricola le due tabelle sono collegate dalla relazione che si chiama “inPrestitoA” diagramma entità-relazione: è uno schema usato per rappresentare le entità (con i loro attributi) e le loro relazioni Libro Titolo Autore Studente Nome Cognome Matricola Indirizzo inPrestitoA Informatica di base – Linea 1

Sesta parte Conclusioni “Non ne posso più! Una lezione davvero infinita…” Informatica di base – Linea 1

Riepilogo: la logica booleana Rende formali concetti intuitivi come “E”, “O”, “NO” Permette di comporre espressioni complesse in modo simile all’algebra Basta fare pochi esercizi per prendere confidenza: fateli! Informatica di base – Linea 1

Riepilogo: le basi di dati Possono sembrare simili ai fogli di calcolo ma in realtà sono molto differenti Forniscono una struttura per rappresentare qualunque entità: attraverso l’utilizzo dei metadati che descrivono la struttura dell’informazione Informatica di base – Linea 1

Riepilogo: le operazioni sulle tabelle Permettono di generare nuove tabelle a partire da tabelle esistenti Sono operazioni abbastanza semplici ed intuitive (anche il prodotto?) I concetto di join e di chiave primaria ci consentono di: definire le relazioni tra tabelle effettuare le ricerche in una base di dati Informatica di base – Linea 1

Informatica di base – Linea 1 La struttura dei DB Abbiamo visto come vengono generalmente strutturati i DB: è improbabile che vi troviate a dover creare DB (di grandi dimensioni) tuttavia, comprendere i principi di strutturazione dei DB è indispensabile per poterli utilizzare correttamente e per poter estrarre informazioni da essi in laboratorio, sfrutteremo le conoscenze teoriche di questa lezione per capire come sia possibile estrarre dei dati da un DB Informatica di base – Linea 1

Esercizi, logica booleana Considera le seguenti proposizioni e calcola il valore di verità dell’espressione che segue: a = “un quadrato ha un lato più lungo degli altri” b = “la popolazione Italiana nell’anno 2000 era di 10 abitanti” c = “5-2=3” NOT ((a AND (b OR c)) AND ((NOT c) OR (NOT b))) Informatica di base – Linea 1

Esercizi, logica booleana Considera le proposizioni proposte nella slide precedente e calcola il valore di verità delle seguenti espressioni: a AND (NOT b) a OR (b AND c) (a AND b) or (b AND c) a AND (NOT A) a OR (NOT a) (a AND (NOT b)) OR (c AND (a OR b)) Informatica di base – Linea 1

Esercizi, operazioni su tabelle Usando le tabelle riportate in questa slide, calcola le seguenti operazioni: project Nome, Anno from Studenti select Ruolo = “Ricercatore” from Professori Studenti x Professori Tabella: Studenti Tabella: Professori Nome Cognome Anno Mario Bianchi 2 Anna Verdi Lucia Rossi 1 Nome Cognome Ruolo Andrea Blu Ricercatore Carla Viola Ordinario Informatica di base – Linea 1