La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

1 Modulo Gestione Informazione. 2 Termine ‘informatica’ informazione automatica elaboratore automatismo dati due parole tre concetti “L’elaborazione dei.

Presentazioni simili


Presentazione sul tema: "1 Modulo Gestione Informazione. 2 Termine ‘informatica’ informazione automatica elaboratore automatismo dati due parole tre concetti “L’elaborazione dei."— Transcript della presentazione:

1 1 Modulo Gestione Informazione

2 2 Termine ‘informatica’ informazione automatica elaboratore automatismo dati due parole tre concetti “L’elaborazione dei dati, attraverso il computer, è una elaborazione automatica; Le operazioni una volta avviate, vengono svolte attraverso un meccanismo in grado di portarle a termine anche senza l’intervento diretto dell’uomo. Ovviamente il sistema di elaborazione deve in qualche modo “conoscere” il processo che porta dai dati di partenza al risultato finale.”

3 3 Struttura elaboratore unità di ingresso: per l’inserimento dei dati unità di elaborazione: per effettuare manipolazioni dei dati unità di uscita: per comunicare i dati all’esterno unità di memoria di massa: per la conservazione di dati unità di elaborazione unità di ingresso unità di uscita unità di memoria di massa

4 4 Elaboratore: macchina programmabile All’elaboratore vengono forniti: dati sui quali operare insieme di azioni da svolgere modalità di svolgimento programma elaboratore risultati dati

5 5 L’elaboratore ‘tratta’ dati L’uomo interpreta i dati ed ottiene informazioni. “Il dato in sé (indicatore), da solo non ha alcun senso. Perché il dato assuma significato e quindi si trasformi in informazione deve essere associato ad almeno un descrittore.” –75 da solo non ha alcun senso, lo assume se lo associamo ad una unità di misura, ad esempio km –Le cifre non comunicano nulla se non sappiamo che si tratta di un numero telefonico, … Cristoforo Colombo 125 Non ci dicono nulla se non pensiamo al nome di una via e ad un numero civico dato vs informazione

6 6 dati: elementi che derivano dai fenomeni e dagli oggetti. –dati elementari, dati “grezzi” informazioni: dati selezionati, elaborati, confezionati, presentati e distribuiti in modo tale da avere un significato ed essere di utilità per un particolare compito o attività 1.http://www2.gest.unipd.it/labtesi/eb-didattica/ERCE/KM.ppt

7 7 Dati: –Mario; 12,00; 36,5; 21,00; 38,5 Informazione –Mario: ore 12.00, febbre: 36.5; ore 21.00, febbre: http://www2.gest.unipd.it/labtesi/eb-didattica/ERCE/KM.ppt

8 8 Dati: –FF150, 1500, 1200 Informazione: –Codice: FF150, richiesta: 1500 pezzi,disponibilità: 1200 pezzi 1.http://www2.gest.unipd.it/labtesi/eb-didattica/ERCE/KM.ppt

9 9 Un dato che assume significato diventa informazione Informazione = dato + semantica* * Significato che il dato assume in un particolare contesto di riferimento L’aggregazione di più informazioni genera, a sua volta, altre informazioni

10 10 kmda_cittaa_citta 255RomaAncona 500AnconaVenezia 300NapoliFoggia 90MacerataSpinetoli …………………..………… km ………… L’aggregazione di più informazioni genera, altre informazioni

11 11 Una base di dati è un insieme di dati organizzati secondo uno schema prefissato La progettazione si sviluppa attraverso tre fasi: 1° fase: progettazione concettuale 2° fase: progettazione logica 3° fase: progettazione fisica Ciascuna fase restituisce un schema di dati: progettazione concettuale  schema concettuale progettazione logica  schema logico progettazione fisica  schema fisico Lo schema è il risultato di una progettazione

12 12 Progettazione concettuale Si parte da una descrizione verbale del problema, fatta da un esperto, del problema in questione. Dalla descrizione verbale si deve ottenere uno schema, chiamato Entità-Relazioni (Entity-Relationships), che rappresenta le principali entit๠nel dominio del problema, gli attributi 2 delle entità e le relazioni tra le entità Esempio: rappresentare in un diagramma E-R l’insieme degli studenti di una Università, prendendo in considerazione i Corsi di Laurea e le Dipartimenti di appartenenza. Le entità sono: studenti, corsi_laurea, dipartimenti. Le entità hanno degli attributi che le definiscono: studenti: matricola, cognome, nome, indirizzo dipartimenti: codice_dipartimenti, nome, indirizzo corsi_laurea: codice_corso_laurea, nome, indirizzo Le entità sono rappresentate nel seguente modo: [1] oggetto del mondo reale distinguibile da altri oggetti cod_f [2] gli attributi rappresentano le proprietà elementari delle entità dipartimenti

13 13 Fra gli insiemi esistono delle relazioni; esse possono essere: 1:1  ad un elemento in un insieme corrisponde un solo elemento nell’altro insieme e viceversa; 1:n  ad un elemento del primo insieme corrispondono n elementi nel secondo e ad un elemento nel secondo corrisponde un solo elemento nel primo; n:m  ad una entità del primo insieme corrispondono n entità nel secondo e ad una entità nel secondo corrispondono m entità nel primo. Nel nostro esempio: fra dipartimenti e corsi_laurea  1:n, ad un dipartimento corrispondono più corsi di laurea; il viceversa è 1:1, un corso di laurea è di un dipartimento; fra corsi_laurea e studenti  1:n, ad un corso di laurea corrispondono più studenti; il viceversa è 1:1, uno studente è di un corso di laurea;

14 14 Il diagramma E-R risultante è il seguente codice_dipartimento 1n dipartimenti

15 15 Una relazione n:m (ad esempio fra studenti e materie) viene rappresentata nel seguente modo: (non sono stati riportati tutti gli attributi dell’entità studenti) Uno studente può studiare più materie e una materia può essere studiata da più studenti.

16 16 1n n m E-R finale, prendendo in considerazione anche l’insieme entità ‘esami dipartimenti dc

17 17 Progettazione logica Nella seconda fase della progettazione (progettazione logica), si sceglie il tipo di database che si vuole utilizzare per rappresentare la nostra realtà; è possibile scegliere fra database: gerarchico reticolare relazionale. Il modello che qui prendiamo in considerazione è quello relazionale. In esso il database è rappresentato come un insieme di tabelle chiamate ‘relazioni’. Relazione: tabella bidimensionale (chiamata semplicemente tabella). Una tabella è formata da righe chiamate record. Ciascun record è formato da campi. Esempio:

18 18 Nella progettazione logica occorre esplicitare le relazioni fra le entità individuate nel modello E-R. Una relazione uno-a-uno fra due tabelle viene realizzata introducendo, come attributo, in una qualsiasi delle due tabelle la chiave [1] dell'altra. [1] Chiave: campo del record il cui valore identifica in modo univoco il record nella tabella tab. nazioni cod_naznazione 10italia 20francia 30inghilterra tab. capitali cod_capcapitale 1parigi 2londra 3roma tab. nazioni cod_naznazione 10italia 20francia 30inghilterra tab. capitali cod_capcapitalecod_naz 1parigi20 2londra30 3roma10

19 19 Una associazione uno-a-molti tabella dipartimenti codice_dipart nome indirizzo 10 Scienze della Formazione ………… …. 20 Giurisprudenza ………… 30………… 40………… 50………… tabella corsi_laurea codice_c orso_laur ea nome indirizzo 10 Consulente del lavoro e per l'impresa …………… 20 Operatore giudiziario …………… 30 Scienze del servizio sociale ………… 40 Scienze giuridiche …………… 50 Scienze dell’amministrazione 60 Scienze dell’educazione e della formazione 70 Formazione e management dei sistemi turistici 80 Formatore per l'e-learning e la multimedialità viene realizzata introducendo, come attributo, nella tabella con cardinalità 'N' la chiave della tabella con cardinalità '1'. Ogni record della tabella 'N' avrà i suoi campi ed un valore che esprime l'associazione con il record corrispondente dell'altra tabella.

20 20 tabella dipartimenti codice_dipart nome indirizzo 10 Scienze della Formazione ………… 20 Giurisprudenza ………… 30………… 40………… 50………… tabella corsi_laurea codice_corso _laurea nome indirizzo codice_dipart 10 Consulente del lavoro e per l'impresa …………… 20 Operatore giudiziario …………… Scienze del servizio sociale ………… Scienze giuridiche …………… Scienze dell’amministrazione Scienze dell’educazione e della formazione Formazione e management dei sistemi turistici Formatore per l'e- learning e la multimedialità 10

21 21 Una relazione molti-a-molti tab. studenti matricolastudente 1 10Bianchi 20rossi 30neri 40verdi 50viola tab. materie cod_materdenominazione_mat 1materia1 2materia2 3materia3 4materia4 5materia5 fra due tabelle viene realizzata introducendo un'apposita tabella, i cui record contengono le chiavi dei record che si corrispondono nelle due tabelle. tab. studenti matricolastudente 10Bianchi 20rossi 30neri 40verdi 50viola tab. materie_studenti matricolacod_mater tab. materie cod_materdenominazione_mat 1materia1 2materia2 3materia3 4materia4 5materia5.... [1] facendo riferimento agli attributi della entità ‘studenti’, descritta in precedenza, avremmo dovuto inserire gli attributi: cognome, nome, indirizzo

22 22 Il diagramma per il nostro esempio (materie, studenti, corsi di laurea, dipartimenti) sarà quindi: Mettendo a confronto questo diagramma con quello realizzato nella progettazione concettuale, si notano i nuovi attributi ‘codice_dipart’, in ‘corsi_laurea’, ‘codice_corso_laurea’, in ‘studenti’, infine i nuovi attributi ‘matricola’ e ‘cod_mater’ in ‘stu_mat’; tutti questi attributi sono stati inseriti per esplicitare le associazioni. dipartimenti dc codice_dipart

23 23 Schema restituito dalla progettazione concettuale Schema restituito dalla progettazione logica notare dipartimenti codice_dipart

24 24 Vengono definite le strutture di memorizzazione dei dati: Progettazione fisica dipartimenti(codice_dipart: testo(20 ch 1 ), nome: testo(100 ch), indirizzo: testo(255 ch)) corsi_laurea(codice_corso_laurea: testo(20 ch), nome: testo(100 ch), indirizzo: testo(255 ch)) studenti(matricola: testo(10 ch), cognome: testo(80 ch), nome: testo(60 ch), indirizzo: testo(255 ch)) materie(cod_mater: intero, descrizione_mat: testo(200 ch)) stu_mat( cod_mater: intero, matricola: testo(10 ch)) Si tenga presente che quando il database viene creato su calcolatore occorre: 1.creare le tabelle 2.nella creazione delle tabelle occorre specificare l’elenco dei campi e, per ciascun campo, quale dato potrà contenere(insieme di caratteri, numero intero o con la virgola, valore logico, data,..) [1] ch sta per carattere, intero per numero intero

25 25 Fasi della progettazione: dipartimenti(codice_dipart: testo(20 ch 1 ), nome: testo(100 ch), indirizzo: testo(255 ch)) corsi_laurea(codice_corso_laurea: testo(20 ch), nome: testo(100 ch), indirizzo: testo(255 ch)) studenti(matricola: testo(10 ch), cognome: testo(80 ch), nome: testo(60 ch), indirizzo: testo(255 ch)) materie(cod_mater: intero, descrizione_mat: testo(200 ch)) stu_mat( cod_mater: intero, matricola: testo(10 ch)) 1.fase: progettazione concettuale; restituisce modello concettuale 2.fase: progettazione logica; restituisce modello logico 3.fase: progettazione fisica; restituisce modello fisico codice_dipart dipartimenti

26 26 Dopo aver progettato il db, utilizzando un DBMS (Data Base Management System), si passa alla sua costruzione sull’elaboratore. Un DBMS per un database di tipo relazionale è essenzialmente costituito da tre insiemi di comandi: DDL:Data Definition Language; DML:Data Manipulation Language; DCL:Data Control Language. DDL serve a creare, modificare o eliminare gli oggetti in un database. Sono i comandi DDL a definire la struttura del database e quindi dei dati ivi contenuti. Ma non fornisce gli strumenti per modificare i dati stessi: per tale scopo di usa il DML 1 DML fornisce i comandi per inserire, modificare, eliminare o leggere i dati all'interno delle tabelle di un database. La struttura di questi dati deve già essere stata definita tramite il DDL 2. DCL permette di gestire gli utenti e i permessi. [1][2]

27 27 Come esempio vediamo alcuni comandi del secondo insieme: selezione(restrizione), proiezione, join. La selezione, su una tabella, restituisce un insieme di righe che è la totalità o un sottoinsieme delle righe della tabella che si interroga. L’insieme di righe restituito è determinato da un criterio di selezione. Il criterio di selezione è una espressione logica che viene valutata (vero/falso) su ciascuna riga: le righe per cui l’espressione vale “vero” sono selezionate e fanno parte del risultato, le altre, per cui l’espressione vale “falso” sono scartate. Se si vuole che l’insieme sia l’intera tabella si omette il criterio. Esprimiamo i comandi in linguaggio naturale ricordando che, dovendo interagire concretamente con un dbms relazionale (ad es. Access), i comandi vanno scritti utilizzando il linguaggio SQL (Structured Query Language) Esempio 1 ricercare nella seguente tabella ‘studenti_con_esami’, gli studenti con media maggiore di 21. MatricolaCognomeNomeEsami_sostmedia 100bianchinicola verdifranca rossienrica nerimario violaandrea524 Il comando da impostare è il seguente: seleziona matricola, cognome, nome, esami_sost, media da studenti_con_esami dove media>21 e la tabella che verrà restituita sarà: MatricolaCognomeNomeEsami_sostmedia 100bianchinicola rossienrica nerimario violaandrea524

28 28 Il comando da impostare è il seguente: seleziona matricola, cognome, nome, esami_sost, media da studenti_con_esami e la tabella restituita sarà l’intera tabella ‘studenti_con_esami’ Esempio 2 Visualizzare tutti gli studenti della tabella ‘studenti_con_esami’. MatricolaCognomeNomeEsami_sostmedia 100bianchinicola verdifranca rossienrica nerimario violaandrea524 Nel primo caso è stato impostato il criterio di selezione (‘dove media>21’); nel secondo non è stato impostato. La struttura del comando ‘seleziona’ è la seguente: seleziona da dove Il criterio di selezione può essere omesso o può anche essere formato da più condizioni; ad es:

29 29 Il comando da impostare è il seguente: seleziona matricola, cognome, nome, esami_sost, media da studenti_con_esami dove media > 21 e media < 28 e la tabella restituita sarà: Esempio 3 Visualizzare tutti gli studenti della tabella ‘studenti_con_esami’ con media > 21 e < 28. MatricolaCognomeNomeEsami_sostmedia 100bianchinicola violaandrea524 Il comando da impostare è il seguente: seleziona matricola, cognome, nome, esami_sost, media da studenti_con_esami dove media = 25 o media = 28 e la tabella restituita sarà: Esempio 4 Visualizzare tutti gli studenti della tabella ‘studenti_con_esami’ con media = 25 o media = 28 MatricolaCognomeNomeEsami_sostmedia 100bianchinicola rossienrica1028

30 30 L’operazione di proiezione consente di effettuare la scelta di particolari attributi di una relazione. Mentre la selezione elimina, se si applica un criterio di selezione, delle righe dalla tabella indicata, la proiezione elimina delle colonne. Contrariamente al caso della selezione il criterio di eliminazione non dipende da un’espressione da valutare, bisogna specificare direttamente l’insieme degli attributi che vanno selezionati Esempio: visualizzare gli attributi cognome, nome, media della seguente tabella ‘studenti_con_esami’ MatricolaCognomeNomeEsami_sostmedia 100bianchinicola verdifranca rossienrica nerimario violaandrea524 Il comando da impostare è il seguente: seleziona cognome, nome, media da studenti_con_esami e la tabella che verrà restituita sarà: CognomeNomemedia bianchinicola25 verdifranca21 rossienrica28 nerimario29 violaandrea24

31 31 Il join è una operazione fra due o più tabelle e rappresenta un sottoinsieme del prodotto cartesiano fra le due o più tabelle. Il prodotto cartesiano crea una relazione avente per righe tutte le possibili combinazioni ottenibili combinando una riga del primo operando con una riga del secondo. Prodotto cartesiano fra R e S: Il prodotto cartesiano raramente è utile, perché generalmente si vogliono ottenere solo le combinazioni di righe per le quali vale una certa proprietà. Esistono diversi tipi di join; vediamo il ‘natural join’: si combinano tra loro solo le righe in cui i valori delle relazioni in due attributi verificano la proprieta’ di uguaglianza nella tabella risultante; supponendo che gli attributi che debbono verificare l’uguaglianza siano ‘cr1’ e ‘cs1’, avremo Tabella RTabella S cr1cr2cr3 aa1a2 bb1b2 cc1c2 cs1cs2 xx1 yy1 aaa1 ccc1 Tabella T =(RxS) cr1cr2cr3cs1cs2 aa1a2xx1 aa1a2yy1 aa1a2aaa1 aa1a2ccc1 bb1b2xx1 bb1b2yy1 bb1b2aaa1 bb1b2ccc1 cc1c2xx1 cc1c2yy1 cc1c2aaa1 cc1c2ccc1

32 32 cr1cr2cr3cs1cs2 aa1a2xx1 aa1a2yy1 aa1a2aaa1 aa1a2ccc1 bb1b2xx1 bb1b2yy1 bb1b2aaa1 bb1b2ccc1 cc1c2xx1 cc1c2yy1 cc1c2aaa1 cc1c2ccc1 e quindi la tabella T(RxS) sara: cr1cr2cr3cs1cs2 aa1a2aaa1 cc1c2ccc1 Il comando da impostare è il seguente: seleziona cr1, cr2, cr3, cs1, cs2 da R, S dove cr1=cs1

33 33 Esempio: visualizzare i dipartimenti con i propri corsi di laurea; le tabelle interessate sono: dipartimenti e corsi_laurea codice_dipartnomeindirizzo sdfScienze della Formazione………… let_filLettere e Filosofia………… ……………………….………… corsi_laurea codice_corso_laureanomeindirizzocodice_dipart sfpScienze della Formazione Primaria …………sdf fgruFormazione Gestione Risorse Umane …………sdf letLettere…………let_fil filFilosofia…………let_fil ……………………. ………..….………….. ………………………..…………..……………… dipartimenti Il comando da impostare è il seguente: seleziona dipartimenti.nome, corsi_laurea.nome, corsi_laurea.indirizzo da dipartimenti, corsi_laurea dove dipartimenti.codice_dipart=corsi_laurea.codice_dipart¹ e la tabella risultato sarà: dipartimenti.nomecorsi_laurea.nomecorsi_laurea.indirizzo Scienze della Formazione Primaria …………….. Scienze della Formazione PrimariaFormazione Gestione Risorse Umane………………….. Lettere e FilosofiaLettere…………………….. Lettere e FilosofiaFilosofia………………….. [1] quando i nomi dei campi sono uguali, nelle due tabelle, occorre qualificarli attraverso il nome della tabella, secondo la notazione [nome tabella].[nome campo] Il comando Join viene utilizzato quando si ha la necessità di gestire dati che appartengono a tabelle diverse che sono in relazione fra loro. In questo caso occorre inserire nella clausola ‘dove’, l’elenco delle tabelle da prendere in considerazione e nel criterio la condizione (o le condizioni se le tabelle in join sono più di 2) di join.

34 34 Select Col comando select abbiamo la possibilità di estrarre i dati, in modo mirato, dal database. Sintassi del comando select SELECT [ ALL | DISTINCT ] lista_elementi_selezione FROM lista_riferimenti_tabella [ WHERE espressione_condizionale ] [ GROUP BY lista_colonne HAVING Condizione] [ ORDER BY lista_colonne ]; dove lista_elementi_selezione è l'elenco dei campi da estrarre, lista_riferimenti_tabella è l'elenco delle tabella da cui estrarre i dati, espressione_condizionale rappresenta l'elenco delle condizioni, ovvero dei requisiti che un campo deve rispettare per poter essere prelevato dall' interrogazione; lista_colonne è la colonna o le colonne che devono essere prese come riferimento per l'ordinamento dei dati in uscita. Un esempio è il seguente: SELECT cognome, nome, citta_residenza FROM utenti WHERE anni >= 18 ORDER BY citta_residenza Questa query estrae l'elenco di tutti gli utenti maggiorenni ordinando l'output in base alla città di residenza. La definizione di select è comunque molto più ampia, prevede molte altre opzioni ma in linea di massima con queste opzioni si compongono la maggior parte delle interrogazioni. Da riportiamo la sintassi del comando ‘seleziona’ espressa in SQL


Scaricare ppt "1 Modulo Gestione Informazione. 2 Termine ‘informatica’ informazione automatica elaboratore automatismo dati due parole tre concetti “L’elaborazione dei."

Presentazioni simili


Annunci Google