Informatica-documentale-Slides PDF

Title Informatica-documentale-Slides
Author Giulia Rodolfi
Course Informatica documentale (i)
Institution Università degli Studi di Verona
Pages 77
File Size 1.9 MB
File Type PDF
Total Downloads 336
Total Views 879

Summary

Informatica Documentale Prof Margherita Zorzi Ricevimento ME 15-17 Ufficio: stanza 1, Cà Vignal 2, Facoltà di Scienze, strada Le Grazie 15 lunedì 04/10/2010 Lezione 1 Testo di riferimento: P. Atzeni, S. Ceri, S. Paraboschi e R. Torlone. Basi di Dati: modelli e linguaggi di interrogazione. McGraw-Hil...


Description

Informatica Documentale Prof.ssa Margherita Zorzi Ricevimento ME 15-17 Ufficio: stanza 1.80, Cà Vignal 2, Facoltà di Scienze, strada Le Grazie 15 lunedì 04/10/2010 Lezione 1 Testo di riferimento: P. Atzeni, S. Ceri, S. Paraboschi e R. Torlone. Basi di Dati: modelli e linguaggi di interrogazione. McGraw-Hill, 2009 Lunedì 3 novembre: non ci sarà lezione, verrà recuperata un martedì o un mercoledì pomeriggio Introduzione – CAP 1 Studio delle Basi di Dati, ovvero insiemi organizzati di dati. Da un punto di vista informatico, le basi di dati sono un supporto digitale su cui immagazzinare i dati, un software che permetta di recuperare i dati e una rete che ne permetta la condivisione. Contenuto del corso: • •

• •

modelli per l'organizzazione dei dati ◦ modello relazionale linguaggi per l'utilizzo dei dati ◦ SQL ◦ algebra relazionale sistemi per la gestione dei dati metodologie di progettazione di basi di dati ◦ come viene affrontata la progettazione di una base di dati

Il modello relazionale è il modello più diffuso e lo andremo a rappresentare tramite tabelle, in modo molto intuitivo. Il linguaggio SQL serve per definire le basi di dati e per recuperare i sottoinsiemi di dati che interessano per determinati compiti. Le domande per ottenere determinate informazioni si chiamano interrogazioni. Perché studiare informatica documentale? • •

la comunicazione prevede lo scambio e quindi la trasmissione e il recupero di informazioni le informazioni devono essere conservate, aggiornate e gestite in modo efficiente.

1

“Non ci sono informazioni migliori delle altre, il potere sta nello schedarle tutte, e poi cercare le connessioni...” (Umberto Eco, Il Pendolo di Focault) Parole Chiave Base di dati: insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente, azienda, ufficio, persona). Informatica: Scienza del trattamento razionale, specialmente per mezzo di macchine automatiche, dell'informazione, considerata come supporto alla conoscenza umana e alla comunicazione (Accademia Di Francia). Definizione molto “aulica”. In realtà l'informatica è un'insieme di diverse scienze, in quanto gli interessi sono altamente diversificati. Le basi di dati hanno due anime: • •

metodologica tecnologica

Noi vedremo l'anima metodologica. Sistema informativo •

• •

componente di una organizzazione che gestisce le informazioni di interesse (cioè utilizzate per il perseguimento degli scopi dell'organizzazione). ogni organizzazione ha un sistema informativo, eventualmente non esplicitato nella struttura. il sistema informativo è di supporto ad altri sottoinsiemi, e va quindi studiato nel contesto in cui è inserito.

Gestione delle informazioni • • • •

raccolta, acquisizione; archiviazione, conservazione; elaborazione, trasformazione, produzione; distribuzione, comunicazione, scambio.

Sistemi informativi e automazione • •

il concetto di “sistema informativo” è indipendente da qualsiasi automatizzazione esistono organizzazioni la cui ragion d'essere è la gestione di informazioni (es. servizi anagrafici e banche) e che operano da secoli

2

Sistema informatico Porzione automatizzata del sistema informativo: parte del sistema informativo che gestisce informazioni con tecnologia informatica. •

Sistema comprende: ◦ Sistema Organizzativo comprende: ▪ Sistema Informativo comprende: • Sistema Informatico.

Gestione delle Informazioni •

• • •

Nelle attività umane, le informazioni vengono gestite in forme diverse ◦ idee informali; ◦ linguaggio naturale (scritto o parlato, formale o colloquiale, in varie lingue); disegni, grafici, schemi; numeri e codici. E su vari supporti ◦ mente umana, carta, dispositivi elettronici...

Informazioni e dati Nei sistemi informatici (e non solo), le informazioni vengono rappresentate in modo essenziale, spartano: attraverso i dati. (definizioni dal Vocabolario della lingua italiana 1987) • •

informazione: notizia, dato o elemento che consente di avere conoscenza più o meno esatta di fatti, situazioni, modi d'essere. dato: ciò che è immediatamente presente alla conoscenza, prima di ogni elaborazione; (in informatica) elementi di informatica costituiti da simboli che debbono essere elaborati.

Dato = informazione contestualizzata Dati e informazioni divieto di sosta 8-18 lunedì – venerdì; divieto di sosta 8-13 sabato; divieto di sosta 8-14 festivo. • • • •

Che cosa significano questi numeri? Cartelli stradali, in Finlandia; sono orari. Ma la differenza? Senza “interpretazione”, il dato serve a ben poco. 3

Gestione delle informazioni • •

i dati sono spesso il risultato di forme di organizzazione e codifica delle informazioni Esempio: nei servizi anagrafici e nel riferimento a persone ◦ descrizioni discorsive ◦ nome e cognome ◦ estremi anagrafici ◦ codice fiscale

Perché i dati? • • •

la rappresentazione precisa di forme più ricche di informazione e conoscenza è difficile i dati costituiscono spesso una risorsa strategica perché più stabili nel tempo e di altri componenti (processi, tecnologie, ruoli umani): ad esempio, i dati delle banche o delle anagrafi.

Base di dati •



(accettazione generica, metodologica) ◦ insieme organizzato di dati utilizzati per il supporto allo svolgimento delle attività di un ente (azienda, ufficio, persona) (accezione specifica, metodologica e tecnologica) ◦ insieme di dati gestiti da un DBMS (DataBase Management System)

In Esame. Cos'è una Base di dati: insieme di dati gestito da un DBMS. Sistema di gestione di basi di dati DataBase Management System (DBMS) Sistema che gestisce collezioni di dati: ◦ grandi, persistenti, condivise • garantendo ◦ privatezza, affidabilità, efficienza, efficacia. DBMS •

prodotti software complessi disponibili sul mercato; esempi: • DB2 • Oracle • SQLServer • MySQL • PostgreeSQL • Access

4

Le basi di dati sono … grandi • • •

dimensioni molto maggiori della memoria centrale dei sistemi di calcolo utilizzati il limite deve essere solo quello fisico dei dispositivi esempi di dimensioni molto grandi ◦ 500 gigabyte (dati transazionali) ◦ 10 terabyte (dati decisionali) ◦ 500 terabyte (dati scientifici) ◦ 100 miliardi di record.

Le basi di dati sono … persistenti Hanno un tempo di vita indipendente dalle singole esecuzioni dei programmi che le utilizzano. Le base di dati sono … condivise • •

una base di dati è una risorsa integrata, condivisa fra applicazioni conseguenze ◦ attività diverse su dati condivisi ▪ meccanismi di autorizzazione ◦ accessi di più utenti ai dati condivisi: ▪ controllo della concorrenza (se due persone fanno la stessa operazione sullo stesso dato, bisogna che le due operazioni vengano fatte una prima dell'altra e non contemporaneamente).

Problemi • •

ridondanza: ◦ informazioni ripetute rischio di incoerenza: ◦ le versioni possono non coincidere

Archivi e basi di dati Gestione orario lezioni → Archivio 1: orario lezioni Gestione ricevimento → Archivio 2: ricevimento Per evitare ridondanza si usa un solo archivio: Gestione orari lezioni → base di dati Gestione ricevimento → base di dati

5

I DBMS garantiscono ... privatezza Ciascun utente, riconosciuto in base ad un nome utente che è specificato all'atto di interagire con il DBMS, viene abilitato a svolgere solo determinate azioni sui dati, attraverso meccanismi di autorizzazione. I DBMS garantiscono ... affidabilità affidabilità per le basi di dati: resistenza a malfunzionamenti hardware e software. • •

Una base di dati è una risorsa pregiata e quindi deve essere conservata a lungo termine. Tecnica fondamentale: gestione delle transazioni.

Definizione di Transazione: Insieme di operazioni da considerare indivisibile (“atomico”), corretto anche in presenza di concorrenza e con effetti definitivi. Lunedì 11/10/2010 Lezione 2 Operazioni tra Insiemi Le principali operazioni tra insiemi sono: L'unione di due insiemi A e B: si indica con A∪B ed è l'insieme formato da tutti gli elementi di A e B presi una sola volta. L'intersezione di due insiemi A e B: si indica con A∩B ed è data dall'insieme formato da tutti gli elementi che appartengono sia all'insieme A che all'insieme B contemporaneamente. La differenza B meno A si indica con B\A o con B-A ed è data dall'insieme formato dai soli elementi di B che non appartengono ad A. B-A viene anche detto insieme complementare di A in B. La differenza simmetrica tra due insiemi è l'insieme degli elementi che appartengono ad A e non a B oppure che appartengono a B e non ad A. Si indica con A Δ B = ( A B ) ∪ ( B - A) Il prodotto cartesiano di due insiemi A e B è l'insieme di tutte le possibili coppie ordinate (a,b) con a ∈ A e b ∈ B

6

Descrizioni dei dati nei DBMS •



Rappresentazioni dei dati a livelli diversi ◦ permettono l'indipendenza dei dati dalla rappresentazione fisica ▪ i programmi fanno riferimento alla struttura a livello più alto, e le rappresentazioni sottostanti possono essere modificate senza necessità di modifica dei programmi precisiamo attraverso il concetto di ◦ modello dei dati

Modelli dei dati • • •



insieme di costrutti utilizzati per organizzare i dati di interesse e descrivere la dinamica componente fondamentale: meccanismi di strutturazione (o costruttori di tipo) come nei linguaggi di programmazione esistono meccanismi che permettono di definire nuovi tipi così ogni modello dei dati prevede alcuni costruttori Esempio: il modello relazionale prevede il costruttore relazione, che permette di definire insiemi di record omogenei.

Organizzazione dei dati in una base di dati Orario insegnamento

docente

aula

ora

Analisi 1

LUIGI NERI

N1

8:00

BASI DI DATI

PIERO ROSSI

N2

9:00

Chimica

NICOLA MORI

N1

9:45

Lo schema degli attributi di dati è l'insieme degli attributi che decido di utilizzare per la mia base di dati. I dati che vado a visualizzare sono l'istanza della base di dati. In ogni base di dati esistono: • •

lo schema, invariante nel tempo, che ne descrive la struttura. L'istanza, variabile nel tempo, ovvero i dati stessi.

7

I modelli logici •



adottati dal DBMS esistenti per l'organizzazione dei dati ◦ utilizzati dai programmi ◦ indipendenti dalle strutture fisiche esempi: relazionale, reticolare, gerarchico, a oggetti, basato su XML...

I modelli concettuali •



permettono di rappresentare i dati in modo indipendente da ogni sistem ◦ cercano di descrivere i concetti del mondo reale ◦ sono utilizzati nelle fasi preliminari di progettazione il più diffuso è il modello Entity-Relationship.

Utente → schema logico → schema interno → Base di Dati Lo schema logico astrae lo schema interno in modo che l'utente possa interagire con esso senza dover usare il linguaggio macchina dello schema interno. (Ad esempio, la struttura della tabella). Schema logico: descrizione della base di dati nel modello logico schema interno (o fisico): rappresentazione dello schema logico per mezzo di strutture di memorizzazione (file; ad esempio, record con puntatori, ordinati in un certo modo). Linguaggi per basi di dati •

un altro contributo all'efficacia: disponibilità di vari linguaggi e interfacce ◦ linguaggi testuali interattivi (SQL) ◦ comandi (SQL) immersi in un linguaggio ospite (Pascal, Java, C …) ◦ comandi (SQL) immersi in un linguaggio ad hoc, con anche altre funzionalità (p.es. Per grafici o stampe strutturate) ◦ con interfacce amichevoli (senza linguaggio testuale, es. Access)

SQL, un linguaggio interattivo Il modello relazionale è basato sui valori, esiste un collegamento tra il dato in una tabella (es. aula N3 nell Corsi Corso

Docente

Aula

Basi di dati

Rossi

DS3

sistemi

Neri

N2

Reti

Bruni

N3

controlli

Bruni

G 8

Aule Nome

Edificio

Piano

DS1

OMI

Terra

N3

OMI

Terra

G

Pincherle

Primo

Domanda: “trovare i corsi tenuti in aule a piano terra” SELECT Corso, Aula, Piano FROM Aule, Corsi WHERE Nome = Aula AND Piano = 'Terra' Corso

Aula

Piano

Sistemi

N3

Terra

Reti

N3

Terra

SQL è il nostro futuro amico. :-) Una distinzione sui linguaggi (separazione fra dati e programmi) In Esame. SQL è un linguaggio che ha due caratteristiche. – data manipulation language (DML) – per interrogazione e l'aggiornamento di istanze di basi di dati – data definition language (DDL) – per la definizione di schermi (logici, esterni, fisici) e altre operazioni generali Un'operazione DDL (sullo schema) CREATE TABLE orario ( insegnamento docente aula ora

CHAR(20) CHAR(20) CHAR(4) CHAR(5)

, , , )

All'interno del linguaggio di programmazione ci sono delle parole chiave, riservate al programma come istruzione. CREATE TABLE, parola chiave: crea una tabella. orario: nome della tabella che viene creata. Per ogni tabella inserisce l'attributo che vuole utilizzare e da un'informazione sul dato che verrà contenuto all'interno della tabella. 9

CHAR(n) → parola riservata per definire un stringa di caratteri lunga n CHAR(20) → 20 caratteri ; CHAR(4) → 4 caratteri Modelli logici, caratteristiche RELAZIONALE “è basato sui valori” anche i riferimenti fra i dati in strutture (relazioni) diverse sono rappresentati per mezzo dei valori stessi. Studenti Matricola 6554

cognome

nome

Data di nascita

Rossi

Mario

05/12/78

Esami Studente

Voto

Corso

26

1

Codice

Titolo

Docente

1

Analisi

Mario

6554

Corsi

Il modello relazionale • • • •

proposto da E.F. Codd NEL 1970 per favorire l'indipendenza dei dati disponibile in DBMS reali nel 1981 (non è facile implementare l'indipendenza con efficienza e affidabilità) si basa sul concetto matematico di relazione (con una variante) le relazioni hanno naturale rappresentazione per mezzo di tabelle

Vedremo: • •

le strutture i vincoli di integrità 10

Relazione: tre accezioni • • •

relazione matematica, come nella teoria degli insiemi relazione, secondo il modello relazionale dei dati relazione (dall'inglese relationship) che rappresenta una classe di fatti, nel modello Entity-Relationship; tradotto anche con associazione o correlazione.

Relazione matematica, esempio • • •



D1 ={a,b} D2 = {x,y,z} prodotto cartesiano D1 x D2 ◦ a x ◦ a y ◦ a z ◦ b x ◦ b y ◦ b z una relazione r⊆D1xD2 ◦ a x ◦ a z ◦ b y

Una relazione è un sottoinsieme di un altro insieme, un insieme arbitrario delle coppie del prodotto cartesiano. Relazione matematica • •

d1,... Dn (n insiemi anche non distinti) prodotto cartesiano D1 × … ×Dn: ◦ insieme di tutte le n-uple (d1,... dn) tali che d1∈D1, …, dn ∈Dn ◦ relazione matematica su D1, …, Dn: ▪ un sottoinsieme di D1 × … × Dn. ◦ D1, …., Dn sono i domini della relazione.

Relazione matematica: proprietà • •

una relazione matematica è un insieme di n-uple ordinate ◦ (d1,... dn) tali che d1∈D1, …, dn ∈Dn una relazione è un insieme: ◦ non c'è un ordinamento tra le n-uple ◦ le n-uple sono distinte ◦ ciascuna n-upla è ordinata: l'i-esimo valore proviene dall'i-esimo dominio 11

In una tabella, quindi, non conta l'ordine delle righe. La coppia, però, è ordinata. Esiste un primo elemento ed un secondo elemento. E questo è il limite di usare le n-uple così come sono nelle basi di dati. Quello che si vuole è avere una notazione non posizionale, sia per le righe (tra n-upla e n-upla), sia all'interno delle coppie (delle singole n-uple). Relazione matematica, esempio Partite⊆string×string×int×int string: stringa di caratteri int: numero intero Juve

Lazio

3

1

Lazio

Milan

2

0

Juve

Roma

0

0

Roma

Milan

0

1

Ciascuno dei domini ha due ruoli diversi, distinguibili attraverso la posizione • •

la struttura è posizionale l'ordinamento non è una proprietà ottimale

In Esame. L'ordine delle colonna è irrilevante? Non è rilevante. Struttura non posizionale – a ciascun dominio si associa un nome unico nella tabella (attributo) che ne descrive il ruolo

CASA

FUORI

RetiCasa

RetiFuori

Juve

Lazio

3

1

Lazio

Milan

2

0

Juve

Roma

0

0

Roma

Milan

0

1

L'ordine delle colonne non conta, posso rimescolare l'ordine delle righe e l'ordine delle colonne. L'insieme delle n-uple (righe) è un insieme e l'insieme delle colonne è un'insieme. In base all'attributo si riesce sempre a capire a quale dominio appartiene la nupla. 12

Le prime sei domande dell'esame sono teoriche e si basano su tabelle, relazioni e affini. Tabelle e relazioni – in una tabella che rappresenta una relazione – l'ordinamento tra le righe è irrilevante – l'ordinamento tra le colonne è irrilevante – una tabella rappresenta una relazione se – le righe sono diverse tra loro – le intestazioni delle colonne sono diverse tra loro – i valori di ogni colonna sono fa loro omogenei – Es. se una colonna rappresenta un numero di matricola dato da numeri, nella colonna delle matricole mi devo aspettare che ci siano solo sequenze di numeri. Il modello è basato sui valori – i riferimenti fra i dati in relazioni diverse sono rappresentati per mezzo di valori dei domini che compaiono nelle n-uple. Studenti Matricola

cognome

nome

Data di nascita

6554

Rossi

Mario

05/12/78

8765

Neri

Paolo

03/11/76

... ... Esami Studente

Voto

Corso

6554

26

1

Corsi Codice

Titolo

Docente

1

Analisi

Mario

... ... ...

... ...

13

Lunedì 18/10/2010 Terza Lezione In Esame: Esercizio. Due schemi di relazione, fare interrogazioni usando tabelle diverse. Modello a puntatori. I puntatori sono collegamenti tra un certo campo di una certa tabella e un certo campo di un'altra tabella. Evito di duplicare i dati in varie tabelle, ma c'è un problema che lo rende più scomodo. Se in una tabella si cancella un dato, non si cancella più il dato, ma si eliminano tutti i collegamenti nelle altre tabelle, con una perdita “a catena” di informazioni. Struttura basa su valori: vantaggi • • • • •

Indipendenza dalle strutture fisiche (si potrebbero avere anche con puntatori i alto livello) che possono cambiare dinamicamente; Si rappresenta solo ciò che è rilevante dal punto di vista dell'applicazione (i valori, cioè la rappresentazione logica dei da...


Similar Free PDFs