Informatica per le discipline umanistiche 2 lezione 10
Parte III: il computer come strumento per l interazione e la comunicazione Si è parlato di identità
Parte III: il computer come strumento per l interazione e la comunicazione aspetti fisici aspetti mentali aspetti anagrafici
Parte III: il computer come strumento per l interazione e la comunicazione Lʼidentità è definita anche dal comportamento
che cosa mi piace che cosa compro che cosa guardo che cosa ascolto che cosa indosso che cosa leggo che cosa dico
User profile (profilo utente): una raccolta di dati personali associati a uno specifico utente di un servizio Lʼinformazione contenuta in un profilo utente può essere usata per adattare il servizio fornito alle caratteristiche e alle preferenze dellʼutente. User profiling (profilazione utente): il processo di costruzione del profilo di un utente mediante estrazione di informazioni da una collezione di dati.
Database
Database: collezione strutturata di dati riguardanti un certo aspetto della realtà, unʼentità, o unʼorganizzazione. Esempi di database: i voti degli esami degli studenti di UniBG dalla fondazione dellʼuniversità ad oggi; i nomi degli abitanti della Svezia; la targhe delle auto immatricolate in Italia nel marzo 2006. Database Management System (DBMS): sistema informatico che gestisce un database. Database system: il sistema complessivo che include un database e il suo DBMS.
Data model, o modello dei dati Per costruire un database e il relativo DBMS bisogna innanzitutto fissare un data model, ossia la struttura con cui vengono organizzati i dati, la quale determina come tali dati verranno immagazzinati, letti, e comunicati. Il data model è importante per le applicazioni che usano e scambiano dati perché ne determina le modalità di comunicazione e la precisione. Di fatto, crea un contesto comune allo scambio di informazione, quindi la facilità dʼuso e la minimizzazione delle ambiguità sono fondamentali. Il data model più diffuso è il modello relazionale.
Edgar F. Codd (1923 2003)
Il modello relazionale Proposto nel 1969 da Edgar Codd, un informatico inglese che lavorava per IBM. Come dice il suo nome stesso, il modello si basa sul concetto di relazione: i dati vengono organizzati secondo delle relazioni che legano tra loro determinati attributi. Una relazione viene rappresentata sotto forma di tabella, le cui colonne corrispondono agli attributi legati da tale relazione. I dati nel database vengono organizzati secondo tali attributi, i cui valori riempiono le righe della tabella, chiamate tuple.
nome della tabella attributi/colonne testata valore corpo tupla/riga
Esempio
Il linguaggio SQL SQL (Structured Query Language, sequel ) è il linguaggio più diffuso per la creazione e gestione su computer di database SQL è composto da due sottolinguaggi: DDL (Data Definition Language) per specificare lo schema delle tabelle con cui organizzare il database; DML (Data Manipulation Language) per inserire, modificare, esaminare, cancellare i dati nelle tabelle.
Schema di una tabella Lo schema di una tabella si specifica assegnando: il nome della tabella, lʼelenco degli attributi della tabella, ciascuno con il relativo dominio (ovvero, il tipo dei dati che possono essere assegnati come valori dellʼattributo). Ad esempio: CREATE TABLE Studente ( matricola INTEGER(5), cognomevarchar(20), nome VARCHAR(20), data-iscr DATE, facoltà CHAR(3), ) Studente matricola INTEGER(5) cognome VARCHAR(20) nome VARCHAR(20) data-iscr DATE facoltà CHAR(3)
Inserimento di una tupla Una volta definitone lo schema, si inseriscono tuple nella tabella con specifici dati corrispondenti agli attributi. Ad esempio: INSERT INTO Studente VALUES (23456,ʼBiniʼ,ʼLauraʼ,2010-07-25,ʼing') Studente matricola cognome nome data-iscr facoltà 12649 Aldi Annalisa 2009-07-12 eco 19797 Dotti Paolo 2008-08-01 ing 21215 Grossi Danilo 2007-07-05 let Studente matricola cognome nome data-iscr facoltà 12649 Aldi Annalisa 2009-07-12 eco 23456 Bini Laura 2010-07-25 ing 19797 Dotti Paolo 2008-08-01 ing 21215 Grossi Danilo 2007-07-05 let
Studente Cancellazione di una tupla È possibile cancellare le tuple che soddisfano una determinata condizione. Ad esempio: DELETE FROM Studente WHERE facoltà = ʼecoʼ matricola cognome nome data-iscr facoltà 12649 Aldi Annalisa 2009-07-12 eco 23456 Bini Laura 2010-07-25 ing 19797 Dotti Paolo 2008-08-01 ing 21215 Grossi Danilo 2007-07-05 let Studente matricola cognome nome data-iscr facoltà 23456 Bini Laura 2010-07-25 ing 19797 Dotti Paolo 2008-08-01 ing 21215 Grossi Danilo 2007-07-05 let
Studente Modifica di una tupla È possibile modificare il valore di un attributo di una tupla identificata tramite una determinata condizione Ad esempio: UPDATE Studente SET facoltà = ʼletʼ WHERE matricola = 19797 matricola cognome nome data-iscr facoltà 23456 Bini Laura 2010-07-25 ing 19797 Dotti Paolo 2008-08-01 ing 21215 Grossi Danilo 2007-07-05 let Studente matricola cognome nome data-iscr facoltà 23456 Bini Laura 2010-07-25 ing 19797 Dotti Paolo 2008-08-01 let 21215 Grossi Danilo 2007-07-05 let
Query / interrogazioni I dati contenuti nel database vengono recuperati tramite query, o interrogazioni. Le query si eseguono inserendo nel DBMS delle istruzioni scritte in SQL. Ogni query SQL è eseguita su un insieme di tabelle appartenenti al database, e restituisce come risposta una nuova tabella, costruita secondo precise regole.
Studente Selezione di attributi Da una tabella può essere estratta una sottotabella costituita da determinati attributi. Ad esempio: dammi matricola e facoltà di tutti gli studenti SELECT matricola, facoltà FROM Studente matricola cognome nome data-iscr facoltà 23456 Bini Laura 2010-07-25 ing 19797 Dotti Paolo 2008-08-01 let 21215 Grossi Danilo 2007-07-05 let matricola 23456 19797 21215 facoltà ing let let
Selezione di tuple Da una tabella si possono estrarre le tuple con certi valori in corrispondenza di determinati attributi. Ad esempio: dammi tutti gli attributi degli studenti di ingegneria SELECT * FROM Studente WHERE facoltà = ʼing' Studente matricola cognome nome data-iscr facoltà 23456 Bini Laura 2010-07-25 ing 19797 Dotti Paolo 2008-08-01 let 21215 Grossi Danilo 2007-07-05 let matricola cognome nome data-iscr facoltà 23456 Bini Laura 2010-07-25 ing
Selezione di attributi e tuple Le due operazioni possono essere combinate. Ad esempio: dammi il nome e il cognome degli studenti di ingegneria SELECT nome, cognome FROM Studente WHERE facoltà = ʼing' Studente matricola cognome nome data-iscr facoltà 23456 Bini Laura 2010-07-25 ing 19797 Dotti Paolo 2008-08-01 let 21215 Grossi Danilo 2007-07-05 let nome Laura cognome Bini