Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Slides:



Advertisements
Presentazioni simili
Modulo 5 DataBase ACCESS.
Advertisements

Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
DBMS (DataBase Management System)
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità B1 Introduzione alle basi di dati.
Una Introduzione alle Basi di Dati
Introduzione ai sistemi di basi di dati
Basi di Dati prof. A. Longheu
Informatica (conoscenza) - Introduzione al corso (I. Zangara)
Gestione Dati & Archivi
ESEMPI DI ARCHIVI DI DATI
Archivio Cé necessità di immagazzinare in modo permanente grandi quantità di dati. Esempio: anagrafe dei cittadini di un comune.
L’uso dei database in azienda
Tipo Documento: unità didattica 1 Modulo 14 Compilatore: Antonella Bolzoni Supervisore: Data emissione: Release: Indice: A.Scheda informativa B.Introduzione.
1 IT FOR BUSINESS AND FINANCE ACCESS INTRODUCTION.
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,
Basi di dati. Vantaggi degli archivi digitali Risparmio di spazio: sono facilmente trasferibili e duplicabili Risparmio di tempo: si può accedere ai dati.
Struttura dei sistemi operativi (panoramica)
Basi di dati Università Degli Studi Parthenope di Napoli
Appunti informatica- prof. Orlando De Pietro
Modello Relazionale Definisce tipi attraverso il costruttore relazione, che organizza i dati secondo record a struttura fissa, rappresentabili attraverso.
Programma del Corso Dati e DBMS DBMS relazionali SQL
Progettazione di una base di dati
Daniel Stoilov Tesi di Laurea
Labortaorio informatica 2003 Prof. Giovanni Raho 1 INFORMATICA Termini e concetti principali.
DBMS ( Database Management System)
Corso di Informatica - Basi di Dati Introduzione alle basi di dati Gabriella Pasi
Introduzione alle Basi di Dati. Overview Informazione = contenuto + struttura Informazione non strutturata Molto contenuto, poca struttura Un romanzo.
Implementare un modello di dati
Database & Information Retrieval
STRUTTURA GENERALE DI UN ELABORATORE
DAGLI ARCHIVI AI DATABASE
ACCESS Introduzione Una delle necessità più importanti in informatica è la gestione di grandi quantità di dati. I dati possono essere memorizzati.
Progettare un database
Introduzione alle basi di dati
Dati e DBMS DBMS relazionali SQL Progettazione di una base di dati Programma del Corso.
Laboratorio informatico I
Programma di Informatica Classi Prime
Informatica Lezione 4 Scienze e tecniche psicologiche dello sviluppo e dell'educazione Anno accademico:
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
DB- Sistemi Informativi
Microsoft Access (parte 5) Introduzione alle basi di dati Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:
Corso di Laurea in Ingegneria per l’Ambiente e il Territorio Informatica per l’Ambiente e il Territorio Docente: Giandomenico Spezzano Tutor: Alfredo Cuzzocrea.
ITCG “V. De Franchis” - PON FSE Modulo G/1 l’informatica”
IV D Mercurio DB Lezione 1
Modulo 5 DataBase ACCESS. Informazioni e Dati INFORMAZIONI vengono scambiate con linguaggio scritto o parlato DATI rappresentazione di informazioni in.
I DATABASE.
Introduzione alle basi di dati
I DBMS BASI DI DATI (DATABASE) Insieme organizzato di dati utilizzati
SCHEDA INFORMATIVA DI UNITÀ. comuni file system Data Base Management System criticità superamento criticità Potenziale immagine per file system Per DBMS.
IV D Mercurio DB Lezione 2
Dati e DBMS DBMS relazionali SQL Progettazione di un DBMS Normalizzazione Programma del Corso di Basi di Dati.
Informatica Lezione 1 Scienze e tecniche psicologiche dello sviluppo e dell'educazione Anno accademico:
Basi Dati e Laboratorio (6 + 6) crediti – curriculum Sistemi e Reti Basi dati 1 e Basi dati 2 prec.ordin. docenti: Barbara Demo Giuseppe Berio mail :
Introduzione alle basi di dati
Dati e DBMS DBMS relazionali SQL Progettazione di una base di dati Normalizzazione Programma del Corso.
Dati e DBMS DBMS relazionali SQL Progettazione di una base di dati Normalizzazione Programma del Corso.
Progettazione di basi di dati: metodologie e modelli
Basi di dati: introduzione parte prima Ernesto Damiani.
Corso integrato di Matematica, Informatica e Statistica Informatica di base Linea 1 Daniela Besozzi Dipartimento di Informatica e Comunicazione Università.
Informatica Introduzione alle basi di dati Lezione 1 Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:
Corso integrato di Matematica, Informatica e Statistica Informatica di base Linea 1 Daniela Besozzi Dipartimento di Informatica e Comunicazione Università.
Tipo Documento: unità didattica 1 Modulo 14 Compilatore: Antonella Bolzoni Supervisore: Data emissione: Release: Indice: A.Scheda informativa B.Introduzione.
ICT e Sistemi informativi Aziendali Materiale di supporto alla didattica.
Le basi di dati.
Linguaggi per basi di dati Linguaggi di definizione dei dati Utilizzati per definire gli schemi e le autorizzazioni per l’accesso Linguaggi di manipolazione.
Normalizzazione. Introduzione Nell’organizzazione tradizionale degli archivi, si verificano alcuni problemi, quali: Ridondanza dei dati (gli stessi dati.
Modulo 5 – Database ACCESS LICEO SCIENTIFICO “ B. RESCIGNO COMPUTER SCUOLA PIANO INTEGRATO 2008/09 ESPERTO prof.ssa Rita Montella.
Transcript della presentazione:

Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico:

Docente Jeremy Sproston –Specificare anno di corso e corso di laurea Telefono: Ufficio 33, Dipartimento di Informatica, Corso Svizzera 185 (entrata: via Pessinetto 12) Ore di ricevimento: Mercoledì 10:00 – 12:00 Sito web: (oppure )

Orario Venerdì 16:00 – 19:00, Aula 10, corso San Maurizio 31/a Da confermare: seconda parte del corso nell’aula informatica

Pagina web Indirizzo: Psicologia/0809/magistrale0809.html Variazioni e avvisi comunicati sulla pagina web del corso

Chi siete voi? Computer a casa? Corso di informatica precedente? ECDL?

Programma previsto Introduzione (1a lezione) –Dati e informazioni –Dati strutturati, dati non strutturati Basi di dati (2a, 3a, 4a e 5a lezione) –Introduzione –Schema –Entity-Relationship –Chiavi –SQL –Esercitazioni con Microsoft Access

Programma previsto Cenni di HTML (6a e 7a lezione) –WWW –URL –Linguaggi di markup e principali tag –CSS [Cenni di XML (8a e 9a lezione)] Algoritmi (9a lezione) Sicurezza informatica (9a lezione) Excel avanzato (10a lezione) Il programma può subire variazioni

Esame Esito: superato, oppure non superato Prova scritta –Domande a risposta multipla –Domande aperte e esercizi –Accesso all’orale se sufficienza in entrambe le parti –Se le domande a risposta multipla non sono sufficienti, la domande aperte non vengono corrette –Ha validità per la sessione Prova orale e discussione di esercizi presentati a lezione e rielaborati autonomamente Dettagli maggiori verranno forniti più avanti

Materiale didattico consigliato P. Manghi et al., Le basi di dati per Medicina e Farmacia, Collana IT4PS, McGraw-Hill Italia, 2006 L. Snyder, Fluency - Conoscere e usare l'informatica, Addison Wesley, 2006 Dispense del prof. Roversi su Modello Entità Associazione (pagina web del corso) Dispense della dott.ssa Picardi su HTML e CSS (pagina web del corso) M. Carducci, XML Pocket, Apogeo, 2005 Guide su HTML, CSS e XML disponibili su web Queste slide

Materiale didattico consigliato Attenzione! –Queste slide sono solo una traccia delle lezioni –Sono utili per fissare le idee e integrare i testi, ma sono incomplete e non sostituiscono né il materiale consigliato, né le lezioni

Obiettivi del corso Un approfondimento dei concetti di base dell’informatica Parte teorica: –Approfondire nostra conoscenza dei computer Sicurezza? Algoritmi? –Quindi, lavorare con il computer in un modo più consapevole ed efficiente Parte applicativa: –Avere (più) esperienza con alcuni programmi applicativi (in particolare Access, un programma per le basi di dati, e Excel) spesso usati all’università e al lavoro –Per sapere come sono create, e come creare, semplici pagine web (HTML)

FAQ “Sono computer-fobico: come posso fare?” –Per la maggior parte il corso è incentrata sui concetti dell’informatica, anziché i programmi “E’ necessario frequentare? Il programma è diverso?” –Stesso programma per frequentanti e non –Frequenza vivamente consigliata: l’esperienza dei corsi di Informatica insegna che gli studenti che hanno frequentato studiano più facilmente e conseguono voti più alti “Posso fare una domanda sugli argomenti della lezione?” –Sì!

Come studiare per questo corso Non sottovalutare il corso Non basta leggere/imparare a memoria il materiale didattico Non basta “sapere ripetere la lezione” –Le domande di esame richiedono rielaborazione e ragionamento critico Bisogna fare propri i concetti: –Capirli –Fare esercizi Non sostenere l’esame “tanto per provare” –Si innesca un circolo vizioso e non ci si riesce più a rapportare nel modo giusto alla materia

Il computer Computer: macchina programmabili, multiuso Accetta informazioni e li elabora o manipola creando informazioni utili Programma, una sequenza di istruzioni che descrive come il computer elabora o manipola informazioni Informazioni (cifre, testi, immagini, suoni, ecc.) Informazioni utili (per esempio riepiloghi, totali, ecc.) Programma

Informatica L'informazione: la sua codifica; le tecniche per raccoglierla, memorizzarla, distribuirla, trasformarla... Il computer: il suo funzionamento, le possibilità che offre per la trasformazione dell’informazione, le tecniche di utilizzo... La comunicazione: tra computer, tra persone (mediata dal computer) Informatica: la scienza della rappresentazione e dell'elaborazione dell'informazione

Hardware +Software Computer

Hardware e software Hardware: –Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche Software - componente del calcolatore costituita dai: –Programmi di base per la gestione del sistema –Programmi applicativi per l’uso del sistema (possono usare i programmi di base)

Hardware: architettura dei computer (in breve) In un computer possiamo distinguere quattro unità funzionali: –Il processore –La memoria principale –La memoria secondaria –I dispositivi di input (inserimento)/output (restituzione di risultati) Il processore e la memoria principale costituiscono l’unità centrale del computer

Componenti principali di un computer Processore Stampante Periferiche di input/output Memoria secondaria (o di massa) Unità centrale Memoria principale Tastiera e monitor

L’uso dell’informazione Un computer deve: –Memorizzare l’informazione Usando la memoria principale/secondaria –Elaborare l’informazione Usando il processore –Fare l’input/output dell’informazione Usando i dispositivi di input/output

Basi di dati (Database, DB) Una delle applicazioni informatiche più utilizzate, ma meno conosciute dai non informatici Avete già interagito con DB: anagrafe, biblioteca, banca, voti degli esami, prenotazioni voli, treni, cinema, concerti … Problema: memorizzare grandi quantità di informazioni in modo da facilitare la modifica e il reperimento

Basi di dati Prima soluzione: il file system (magari in file di testo) Svantaggi: –Organizzazione dei file a carico dell’utente (categorizzazione dei dati per poterli reperire) –Dati non strutturati: come confrontarli e elaborarli? –Quando si hanno molti dati, i file diventano difficili da gestire

Basi di dati Seconda soluzione: foglio elettronico –Per esempio, i file di Excel Svantaggi: –Difficile condivisione tra più utenti –Difficile reperire informazioni Quindi: basi di dati

Sistemi informativi e basi di dati I sistemi informativi organizzano e gestiscono le informazioni necessarie alle attività di un’organizzazione: –Inizialmente non erano automatizzati (per esempio, gli archivi bancari) –Informatica  gestione automatica dei dati  basi di dati –Informazione memorizzata in modo rigoroso

Informazione e dati Distinzione tra informazione e dati: –Dati = elementi di informazione, che di per sé non hanno interpretazione Mario Rossi  nome e cognome  numero matricola? Numero di abitanti di una città? CAP? Numero di telefono?

Informazione e dati Distinzione tra informazione e dati: –Dati + interpretazione = informazione Domanda: “Chi è il responsabile del ufficio tecnico e qual è il suo numero di telefono?”  interpretazione della risposta Risposta: Mario Rossi,  dati Domanda + risposta: informazione –Nei sistemi informatici, le informazioni vengono rappresentate per mezzo di dati

Dati e applicazioni I dati possono variare nel tempo (per esempio, importo conto corrente) Le modalità con cui i dati sono rappresentati in un sistema sono di solito stabili Le operazioni sui dati variano spesso (per esempio, ricerche)  separare i dati dalle applicazioni che operano su essi

Dati strutturati e dati non strutturati È utile che i dati siano strutturati per facilitare il reperimento e l’elaborazione delle informazioni Per esempio, con il file di testo seguente non ho modo di ottenere esclusivamente i libri il cui autore sia Dante Alighieri: cercando “Dante” ottengo anche l’opera di Boccaccio Giovanni Boccaccio, Vita di Dante / Giovanni Boccaccio - \S.l. : s.n., s.d.! (L'Aquila : G.T.E.) - 67 p. ; 24 cm Dante Alighieri, La divina commedia di Dante Alighieri con tauole in rame. Tomo primo.-quarto - Firenze : nella Stamperia all'insegna dell'Ancora, v ((Tutti i front. sono inc)) Dante Alighieri, La vita nuova e il canzoniere / Dante Alighieri ; a cura di Luigi Di Benedetto - XLVIII, 179 p. ; 18 cm - Collezione di classici italiani con note - 47

Dati non strutturati Ricerca in un documento di testo

Dati non strutturati Ricerca in una pagina web

Dati strutturati Esempio: ricerca in PsychNET dell’American Psychological Association

Basi di dati DB: “magazzini” di dati Un DB è un grande insieme di dati organizzati e memorizzati in forma strutturata e omogenea –Strutturata: es. anagrafe: nome, cognome, data di nascita, … –Omogenea: es. anagrafe: per ogni persona mantengo le stesse informazioni

Basi di dati DB adatti a memorizzare dati omogenei che devono essere strutturati –Ad esempio: –OK: dati anagrafe –No: testo di un libro DB gestiti da DBMS (DataBase Management System, sistema di gestione di basi di dati)

Vantaggi dei DBMS Permettono di considerare i dati come risorsa di un’organizzazione –Una risorsa comune: a disposizione di molteplici utenti e applicazioni Offrono un modello formale della realtà di interesse –Preciso, riutilizzabile Controllo centralizzato dei dati –Riduzione di ridondanze e inconsistenze Indipendenza dei dati –Sviluppo di applicazioni flessibili e modificabili

Svantaggi dei DBMS Complessi, costosi, hanno specifici requisiti in termini di software e hardware Difficile separare servizi utili da quelli inutili Inadatti alla gestione di poche informazioni condivise da un numero basso di utenti

Basi di dati Un DBMS gestisce insiemi di dati: a. grandi b. persistenti c. condivisi garantendo d. affidabilità e. privatezza f. efficienza g. efficacia

Le basi di dati sono … grandi a. a. Dimensioni: un DB può avere dimensioni di migliaia di Gigabyte  un DBMS deve gestire i dati sulla memoria secondaria

Le basi di dati sono … persistenti b. b. Persistenza: i dati hanno un tempo di vita che non è limitato a quello delle singole esecuzioni delle applicazioni

Le basi di dati sono … condivise c. c. Condivisione: i dati di un DB devono essere condivisibili da più utenti che utilizzano varie applicazioni (ad esempio, azienda con magazzino) L’accesso si deve svolgere secondo opportune modalità

Le basi di dati sono … condivise Applicazione Utente 1Utente 2Utente 3Utente 4 DBMS DB

Le basi di dati sono … condivise La condivisione permette di evitare ridondanza e incoerenza Ridondanza: informazioni ripetute Incoerenza: errori di “allineamento” dei dati Ad esempio: se due assegni vengono incassati contemporaneamente sullo stesso c/c, non bisogna trascurarne nessuno

Le basi di dati sono … condivise Condivisione  concorrenza Concorrenza: nello stesso momento più applicazioni possono accedere al medesimo dato; tali accessi non devono interferire tra loro per garantire l’integrità dei dati I DB forniscono meccanismi per gestire la concorrenza e regolamentare gli accessi

I DBMS garantiscono … affidabilità d.Affidabilità: il DBMS garantisce il contenuto del DB in caso di malfunzionamenti hardware o software I DBMS danno backup e recovery

I DBMS garantiscono … privatezza e.Privatezza: gli utenti svolgono solo determinate azioni sui dati, con meccanismi di autorizzazione Es. biblioteca: a.il lettore ha diritto di lettura e ricerca dei dati, ma non di modifica/inserimento b.il bibliotecario ha diritto di modificare i dati: deve aggiungere/togliere libri e segnalare i prestiti

I DBMS garantiscono … efficienza f.Efficienza: le operazioni devono essere svolte in tempi accettabili per l’utente (molto brevi!) nonostante la grande mole di dati

I DBMS garantiscono … efficacia g.Efficacia: cercano di rendere produttiva l’attività dell’utente, offrendo funzionalità articolate, potenti e flessibili

Utenti del Database L’amministratore della base di dati (database administrator, DBA) è il responsabile della progettazione, controllo e amministrazione della base di dati Progettisti e programmatori di applicazioni Utenti

Modello logico dei dati Sottintende una specifica rappresentazione dei dati (tabelle, alberi, grafi, oggetti …) Descrive i dati a un livello intermedio, tra ciò che vede l’utente e il livello dell’implementazione Molte proposte in DBMS commerciali Implemen- tazione Modello logico Utente

Modello concettuale Per la progettazione di un base di dati: analisi della realtà di interesse Modello astratto Indipendente dal modello logico Modello concettuale = rappresentazione dei concetti Modello logico = rappresentazione dei dati

Modello logico dei dati Modello gerarchico (anni ‘60) = struttura gerarchica (albero) Modello reticolare (inizio anni ‘70) = struttura a grafo Modello relazionale (fine anni ‘70) = struttura a tabelle Modello orientato agli oggetti (anni ‘80) = struttura a classi/oggetti

Modello logico dei dati Modello gerarchico (anni ‘60) = struttura gerarchica (albero) Modello reticolare (inizio anni ‘70) = struttura a grafo Modello relazionale (fine anni ‘70) = struttura a tabelle Modello orientato agli oggetti (anni ‘80) = struttura a classi/oggetti Per esempio: Microsoft Access

Modello relazionale Introdotto nel 1970 Affermato negli anni ’80 Attualmente è il modello di DB più diffuso: probabilmente ogni DB che incontrerete sarà relazionale Come nei fogli elettronici, sono organizzati in tabelle Esempio: tabella Studenti del database di una università

Modello relazionale: struttura dei dati Le entità (i fatti) compongono le righe (record) Le caratteristiche delle entità sono le (intestazioni delle) colonne (attributi o campi) Il valore di un attributo per una specifica entità compone le celle Tutti i record di una tabella hanno lo stesso formato, cioè gli stessi attributi

Modello relazionale: struttura dei dati record dato atomico attributo

Modello relazionale Basato sul concetto di relazione Relazione = rappresentazione di un’entità complessa tramite attributi Graficamente, una relazione può essere rappresentata da una tabella: –Colonna = attributo (oppure campo) –Riga = valori degli attributi di un individuo appartenente all’entità

Schema di una relazione Schema di una relazione = definizione della struttura della relazione È formata dall’intestazione della relazione: NomeRelazione(Attr 1,…, Attr n ) Non varia nel tempo (modulo ristrutturazione del DB) Per esempio: nella relazione Studenti Studenti(Matricola, Cognome, Nome, Sesso, DataDiNascita, LuogoDiNascita)

Istanza di una relazione Istanza di una relazione = dati che descrivono gli individui appartenenti alla relazione (sono le righe della tabella) Varia nel tempo (aggiunta, modifica, eliminazione dei dati riguardanti gli individui)

Schema e istanza di un base di dati Schema di un base di dati = insieme degli schemi delle relazioni (struttura) Istanza (o stato) di un base di dati = valori dei dati nelle tabelle

Livelli di astrazione nel DBMS Architettura standard su 3 livelli: Livello esterno: descrizione di una porzione del base di dati (per vedere i dati da punti di vista diversi a seconda dell’utente) Livello logico: descrizione del base di dati tramite le strutture-dati del modello logico del DBMS (per esempio, le tabelle del modello relazionale) Livello interno: “mapping” tra schema logico e strutture fisiche di memorizzazione (file)

Livelli di astrazione nel DBMS Livello esterno (viste) Livello interno (file) Livello logico (tabelle) Utente Organizzazione fisica di memorizzazione corsodocente Informatic a Bianchi EconomiaRossi Architettur a Verdi cdlmateriaanno InformaticaBasi di dati2 MatematicaAnalisi I1 LettereLatino1 InformaticaProgramm azione 1 Docenza OrganizzCorsidiLaurea

Livelli di astrazione nel DBMS Livello esterno (viste) Livello interno (file) Livello logico (tabelle) Utente Organizzazione fisica di memorizzazione corsodocente Informatic a Bianchi EconomiaRossi Architettur a Verdi cdlmateriaanno InformaticaBasi di dati2 MatematicaAnalisi I1 LettereLatino1 InformaticaProgramm azione 1 Docenza OrganizzCorsidiLaurea Il DBMS lavora per “mettere d’accordo” i livelli

Indipendenza dei dati Garantita dai livelli di astrazione: –Indipendenza fisica: permette di interagire con DB in modo indipendente da struttura fisica in cui sono memorizzati i dati Se i dati vengono riorganizzati fisicamente, le applicazioni funzionano lo stesso –Indipendenza logica: permette di accedere al DB in modo indipendente da struttura logica dei dati (per esempio, tabelle) Modificare livello logico senza modificare le viste (livello esterno) Estendere le viste senza alterare livello logico

Linguaggi per basi di dati Data Definition Language (DDL) = definisce livelli fisici, logici, esterni del DB (tratta anche le autorizzazioni di accesso) Data Manipulation Language (DML) = per formulare interrogazioni e aggiornamenti delle istanze del base di dati

DDL e DML relazionali Due paradigmi: –Dichiarativo  SQL (Structured Query Language) –Procedurale  algebra relazionale Varie proposte commerciali (non viene usato un unico “standard SQL”, sintassi un po’ diverse)

Accesso ai dati Mediante linguaggi testuali (per esempio, SQL) Un esempio di codice SQL: SELECT Disco,GruppoMusicale FROM Gruppi WHERE GruppoMusicale=“Radiohead” OR GruppoMusicale=“Franz Ferdinand”

Accesso ai dati Mediante linguaggi testuali (per esempio, SQL) Tramite comandi speciali integrati nei linguaggi di programmazione

Accesso ai dati Mediante linguaggi testuali (per esempio, SQL) Tramite comandi speciali integrati nei linguaggi di programmazione Tramite interfacce “amichevoli” (per esempio, Wizards, in Access, ecc.)

Tabelle, Record e Campi A ogni attributo sono associati: – nome (es. “Sesso”) – lunghezza (es. 1 carattere) – tipo di dato (numero, data, caratteri) Es. attributo “Sesso”: – nome: Sesso – lunghezza: 1 carattere – tipo di dato: caratteri

Chiave primaria In una tabella devono essere definiti uno o più campi attraverso i quali è possibile distinguere sempre qualsiasi coppia di record di una stessa tabella Esempi: –In una tabella di studenti: numero di matricola –In una tabella di cittadini: nome, cognome, data di nascita e luogo di nascita (forse insufficiente) o codice fiscale

Utilità dei DB I programmi che abbiamo visto finora (word processor, fogli elettronici) possiedono funzionalità in comune con i DB: ordinamento, tabelle di dati; ma … I dati rappresentati da questi programmi sono difficilmente condivisibili da applicazioni diverse Questo comporta ridondanza e duplicazione di informazioni

Esempio di ridondanza in un DB Ridondante: i dati anagrafici degli studenti sono ripetuti per ogni esame Se uno studente cambiasse domicilio, bisognerebbe modificare più record

Svantaggi della ridondanza La ridondanza comporta svantaggi: –Aumenta i dati da gestire –Aumenta il rischio di errori (coerenza dei dati: per esempio, stessa data di nascita per la stessa persona, ovunque sia inserita) –Usa più spazio di memoria secondaria

Esempio di ridondanza in un DB Come eliminare la ridondanza? Usando più tabelle legate tra loro Congiuntamente, le tabelle contengono le stesse informazioni della tabella iniziale, ma senza ridondanze Tabella StudentiTabella Esami

Basi di Dati vs file system Tecnicamente, i DB sono insiemi di file, ma i DB sono qualcosa di più di semplici file Si potrebbero usare direttamente i file per memorizzare i dati, ma si perderebbero le proprietà garantite dai DB Normalmente i file sono pensati per una specifica applicazione, e non per servire più applicazioni, magari in parallelo

Query Per reperire le informazioni di interesse da un DB, un utente non può semplicemente leggere le tabelle: –Le tabelle sono molto grosse –Può essere necessario utilizzare più tabelle contemporaneamente Si usano le query

Query Una query permette di specificare: –Cosa cercare all’interno del DB (criteri di selezione) –Quali informazioni (campi) visualizzare Una query crea una nuova tabella temporanea con i campi e i record di interesse

Query: esempio Vogliamo avere tutti gli esami superati dagli studenti con i dati degli studenti Nota: la tabella risultante è ridondante, ma è generata dinamicamente, quindi nessun problema

Query Le query possono essere create in vari modi, in funzione dei programmi Due “paradigmi”: – Basato su esempi (QBE) Uso di maschere predefinite di interrogazione che costruiscono la query automaticamente Utilizzato da utenti poco esperti – Linguaggi di interrogazione (ad esempio, SQL) Vero e proprio linguaggio (testuale) strutturato Usato dai programmi e dagli utenti più esperti

Query In una query si specificano – i campi da includere nel risultato – i criteri di selezione delle informazioni, specificati attraverso operatori di confronto

Query (operatori di confronto) >120 maggiore di < minore di = <>120>= <= uguale adiverso da maggiore o uguale a minore o uguale a

Query: esempio Vogliamo spedire una lettera di congratulazioni agli studenti che hanno superato l’esame di Informatica A (L0507) Criterio di selezione: CodiceCorso=L0507

Query: esempio Vogliamo spedire una lettera di congratulazioni agli studenti che hanno superato un esame con voto almeno 27 Criterio di selezione: Voto>=27

Query (operatori logici) Composizione di operatori logici AND, OR, NOT Consente di selezionare i record che soddisfano una combinazione di criteri AND: devono essere vere entrambe le condizioni (congiunti) OR: deve essere vera una condizione (disgiunto) o l’altra (o entrambi) NOT: la condizione deve essere falsa (cioè vera la negazione) ABA and B FFF FVF VFF VVV ABA or B FFF FVV VFV VVV Anot A FV VF

Query (operatori logici) Valore maggiore di 120 e minore di >120 AND 120 AND < >120 OR 120 OR < ANDORNOT NOT(>120 OR 120 OR <110) Valore maggiore di 120 o minore di 140 Valore non maggiore di 120 o minore di 140

Query: esempio Elenco studenti che hanno superato Informatica A (L0507) con voto almeno 27 Criterio di selezione: CodiceCorso=L0507 AND Voto>=27

Query: esempio Elenco studenti che hanno superato Informatica (L0014) o Informatica A (L0507) con voto almeno 27 Criterio di selezione: (CodiceCorso=L0507 OR CodiceCorso=L0014) AND Voto>=27