Estratto del documento

Sistemi informativi, informazioni e dati

Nello svolgimento di ogni attività sono essenziali la disponibilità di informazioni e la capacità di gestirle in modo efficace; ogni organizzazione è dotata di un sistema informativo. La porzione automatizzata del sistema informativo viene chiamata sistema informatico. Le informazioni vengono rappresentate per mezzo di dati che devono essere interpretati per fornire informazioni.

Definizioni chiave

  • Informazione: notizia, dato o elemento che consente di avere conoscenza più o meno esatta di fatti, situazioni, modi di essere; elaborazione di dati per rispondere a esigenze specifiche.
  • Dato: ciò che è immediatamente presente alla conoscenza prima di ogni elaborazione; unità elementare di informazione.
  • Base di dati: collezione di dati, utilizzati per rappresentare le informazioni di interesse per un sistema informativo.

Processo e classificazione

Processo: successione di attività svolte da uno o più sottoinsiemi su oggetti materiali e/o immateriali che risponde alle richieste di servizio o di prodotto di uno o più clienti e produce uno o più prodotti o servizi. Classificazione a piramide: strategico (prevedere, decidere), controllo (programmare, eseguire), operativo (controllare).

La gestione dei dati

L'approccio convenzionale alla gestione dei dati sfrutta la presenza di archivi o file per memorizzare i dati in modo persistente sulla memoria di massa. Un file fornisce solo semplici meccanismi di accesso e condivisione. Se ogni soggetto gestisse separatamente le informazioni di proprio interesse, avremmo molte duplicazioni. Le basi di dati sono state concepite per superare questo tipo di inconveniente limitando i rischi di ridondanza e incoerenza.

Sistema di gestione di basi di dati (DBMS)

Un sistema di gestione di basi di dati (DBMS) è un sistema software in grado di gestire le collezioni di dati che siano grandi (senza porre limiti alle dimensioni), condivise (utenti diversi devono poter accedere a dati comuni), persistenti (tempo di vita non limitato), affidabili (conserva intatto il contenuto), private (ogni utente abilitato a svolgere solo determinate azioni sui dati), efficienti (tempi accettabili per svolgere le operazioni), efficaci (rende produttive le attività degli utenti).

Schema e istanza della base di dati

Nella base di dati esiste una parte sostanzialmente invariante nel tempo, detta schema della base di dati, costituita dalle caratteristiche dei dati, e da una parte variabile nel tempo, detta istanza o stato della base di dati, costituita dai valori effettivi.

Architettura standard dei DBMS

  • Schema logico: descrizione dell'intera base di dati per mezzo del modello logico adottato dal DBMS.
  • Schema interno: rappresentazione dello schema logico per mezzo di strutture fisiche di memorizzazione.
  • Schema esterno: descrizione di una porzione della base di dati di interesse, per mezzo del modello logico.

L'architettura a livelli così definita garantisce l'indipendenza dei dati, principale proprietà dei DBMS. Questa proprietà permette di interagire ad un alto livello di astrazione. L'indipendenza può essere caratterizzata in:

  • Indipendenza fisica: consente di interagire con il DBMS in modo indipendente dalla struttura fisica dei dati.
  • Indipendenza logica: consente di interagire con il livello esterno della base di dati in modo indipendente dal livello logico.

Gli accessi alla base di dati vengono effettuati solo al livello esterno.

Modello relazionale

Si basa su due concetti:

  • Relazione: proviene dalla matematica, in particolare dalla teoria degli insiemi.
  • Tabella: concetto semplice e intuitivo per la realizzazione delle relazioni.

Il modello relazionale risponde al requisito di indipendenza dei dati che prevede una distinzione, nella descrizione dei dati, tra livello fisico e livello logico. Gli utenti che accedono ai dati e i programmatori che sviluppano le applicazioni fanno riferimento al solo livello logico. I dati descritti a livello logico sono poi realizzati per mezzo di opportune strutture fisiche, ma per accedere ai dati non è necessario conoscere le strutture fisiche stesse.

Le relazioni nel modello relazionale

Tre accezioni di relazione:

  • Relazione matematica: definizione dalla teoria degli insiemi.
  • Relazione: secondo il modello relazionale.
  • Relazione (relationship): nel modello ER rappresenta un legame tra entità del mondo reale.

Definizioni:

  • Dati n>0 insiemi D1...Dn, non necessariamente distinti, il prodotto cartesiano di D1xD2x...xDn, è costituito dall'insieme delle n-uple (v1...vn) tali che vi appartiene a D1 per 1<=i<=n.
  • Una relazione matematica sui domini D1...Dn è un sottoinsieme del prodotto cartesiano D1x...xDn.

Il numero n delle componenti del prodotto cartesiano viene detto grado. Il numero di elementi della realizzazione è chiamato cardinalità della relazione. Le relazioni possono essere rappresentate attraverso tabelle.

Proprietà delle relazioni

Una relazione matematica è un insieme di n-uple ordinate (v1...vn) con v1 D1...vn Dn. Non è definito alcun ordinamento fra le n-uple (due tabelle con le stesse righe, ma in ordine diverso, rappresentano la stessa relazione). Le n-uple sono distinte l'una dall'altra in quanto tra gli elementi di un insieme non possono essere presenti due elementi uguali. Una tabella rappresenta una relazione solo se le sue righe sono l'una diversa dall'altra. Ciascuna n-upla è ordinata al proprio interno: l'i-esimo valore di ciascuna proviene dall'i-esimo dominio. È cioè definito un ordinamento fra i domini.

Relazioni e basi di dati

Una base di dati è definita da un insieme di relazioni collegate fra loro le cui tuple contengono valori comuni. Una delle caratteristiche del modello relazionale è che è basato su valori: i riferimenti fra dati in relazioni diverse sono rappresentati per mezzo di valori dei domini che compaiono nelle tuple.

Vantaggi modello relazionale basato su valori rispetto a puntatori

  • Si rappresenta solo ciò che è rilevante dal punto di vista dell'applicazione; i puntatori sono qualcosa di aggiuntivo legato ad aspetti realizzativi.
  • La rappresentazione logica dei dati (solo i valori) non fa alcun riferimento a quella fisica, che può anche cambiare nel tempo: indipendenza fisica dei dati.
  • Tutta l'informazione è contenuta nei valori quindi è relativamente semplice trasferire una base di dati. Nel caso dei puntatori è più complessa perché hanno un significato locale al singolo sistema.

Definizioni nel modello relazionale

  • Uno schema di relazione è costituito da un simbolo R, detto nome della relazione, e da un insieme di attributi di X={A1...An}, tutto di solito indicato con R(x).
  • Uno schema di base di dati è un insieme di schemi di relazione con nomi diversi R={R1(X1),...,Rn(Xn)}.
  • Una istanza di relazione su uno schema R(X) è un insieme r di tuple su X.
  • Una istanza in una base di dati su uno schema R={R1(X1)...Rn(Xn)} è un insieme di relazioni z={r1...rn} dove ogni ri cn 1<=i<=n è una relazione sullo schema Ri(Xi).

Valori nulli

Per rappresentare in modo semplice la non disponibilità di valori, il concetto di relazione viene di solito esteso prevedendo che una tupla possa assumere, su ciascun attributo, un valore del dominio, oppure un valore speciale detto valore nullo che denota l'assenza di informazione. Non viene fatta distinzione tra valore inesistente o sconosciuto. Sappiamo solo che non c'è informazione. Quando si definisce una relazione, è possibile specificare che i nulli sono ammessi solo su alcuni attributi e non su altri.

Vincolo d'integrità

Viene introdotto il vincolo d'integrità, come proprietà che deve essere soddisfatta dalle istanze che rappresentano informazioni corrette per l'applicazione. Un vincolo è un predicato che associa a ogni istanza il vero o falso (boolean). A uno schema di base di dati associamo un insieme di vincoli e consideriamo corrette (lecite o ammissibili) le istanze che soddisfano tutti i vincoli. È possibile classificare i vincoli a seconda degli elementi di una base di dati che ne sono coinvolti.

Tipologie di vincoli

  • Vincoli intrarelazionale: se il suo soddisfacimento è definito rispetto a singole relazioni della base di dati.
  • Vincolo di tupla = vincolo che può essere valutato su ciascuna tupla indipendentemente dalle altre.
  • Vincolo su valori o su dominio = vincolo definito con riferimento a singoli valori che impone una restrizione sul dominio.

Vincoli interrelazionali: vincolo che coinvolge più relazioni. Vincoli di tupla = esprimono condizioni sui valori di ciascuna tupla, indifferentemente dalle altre tuple. Una possibile sintassi per esprimere questi valori sono espressioni booleane o espressioni aritmetiche sui valori di attributo.

Chiave e vincoli di chiave

Intuitivamente una chiave è un insieme di attributi utilizzato per identificare univocamente le tuple di una relazione. Definizioni:

  • Un insieme K di attributi è superchiave di una relazione r se r non contiene due tuple distinte t1 e t2 con t1[k] = t2[k].
  • K è una chiave di r se è una superchiave minimale di r (cioè se esiste un'altra superchiave k' di r che sia contenuta in k come sottoinsieme proprio)

Definendo uno schema associamo a essi dei vincoli d'interesse, corrispondenti a proprietà del mondo reale modellato dalla base di dati. I vincoli sono definiti a livello di schema, con riferimento a tutte le istanze: consideriamo corrette solo le istanze che soddisfano tutti i vincoli. Ogni relazione e ogni schema di relazione hanno sempre almeno una chiave.

L'esistenza di almeno una chiave garantisce l'accessibilità a tutti i valori di una base di dati e la loro univoca identificabilità. Le chiavi permettono di stabilire efficacemente corrispondenze tra dati contenuti in relazioni diverse. I valori attraverso cui vengono stabilite le corrispondenze fra tuple di relazioni diverse sono valori delle chiavi delle relazioni. Bisogna porre dei limiti alla presenza di valori nulli nelle chiavi delle relazioni. Ad una delle chiavi (detta chiave primaria) si vieta la presenza di valori nulli. Sulle altre in genere sono ammessi. Si evidenziano le chiavi primarie sottolineando gli attributi. I riferimenti tra relazioni avvengono tramite la chiave primaria. Quando non è possibile trovare attributi che siano chiavi primarie si introduce un attributo aggiuntivo (codice, id...).

Vincolo d'integrità referenziale (foreign key) fra un insieme di attributi X di una relazione R1 è un'altra relazione R2 è soddisfatta se i valori su X di ciascuna tupla dell'istanza R1 compaiono come valori della chiave primaria dell'istanza di R2.

Algebra relazionale

È un linguaggio procedurale, basato su concetti di tipo algebrico. Sostanzialmente, è costituito da un insieme di operatori, definiti su relazioni che producono ancora relazioni come risultati. In questo modo è possibile costituire espressioni che coinvolgono più operatori, allo scopo di formulare interrogazioni anche complesse.

Operatori insiemistici

Le relazioni sono insiemi, quindi ha senso definire su di esse gli operatori insiemistici tradizionali di unione, differenza e intersezione. Per ottenere come risultato una relazione (cioè un insieme di tuple omogenee) consideriamo ammissibili solo applicazioni degli operatori insiemistici a coppie di operandi definite sugli stessi attributi. L'unione di relazioni su schemi diversi sarebbe un insieme di tuple disomogenee. Un insieme di tuple non omogenee non è una relazione.

  • L'unione di due relazioni r1 e r2 definite sullo stesso insieme di attributi X è indicata con r1Ur2 ed è una relazione ancora su X contenente le tuple che appartengono a r1 oppure a r2, oppure ad entrambe.
  • L'intersezione di r1(x) e r2(x) è indicata con r1 ∩ r2 ed è una relazione su X contenente le tuple che appartengono sia a r1 che a r2.
  • La differenza di r1(x) e r2(x) è indicata con r1-r2 ed è una relazione su X contenente te tuple che appartengono a r1 e non appartengono a r2.

Altri operatori

Ridenominazione: operatore monadico (con un solo argomento). Ha come obiettivo quello di adeguare i nomi degli attributi a seconda delle necessità, in particolare al fine di facilitare le operazioni insiemistiche. Modifica lo schema lasciando inalterata l'istanza dell'operando. RENattr.rid+attr(relazione)

Selezione e Proiezione

Operatori monadici. Svolgono funzioni che potremmo definire complementari (ortogonali). Sono entrambe definite su un operando e producono come risultato una porzione dell'operando. Più precisamente, la selezione produce un sottoinsieme di tuple, su tutti gli attributi, mentre la proiezione dà un risultato cui contribuiscono tutte le tuple, ma su un sottoinsieme di attributi.

  • Selezione: SELcondizione(operando) il risultato contiene tutte le tuple dell'operando che soddisfano la condizione
  • Proiezione: PROSlistaattributi (operando) il risultato contiene tuple che si ottengono applicando l'operatore restrizione t[x] ad ognuna delle tuple dell'operando. Una proiezione contiene al più tante tuple quante l'operando. Se la proiezione è fatta su una superficie allora contiene tutte le tuple dell'operazione.

Join

È l'operatore che permette di correlare dati contenuti in relazioni diverse, confrontando i valori contenuti in esse e utilizzando quindi la caratteristica fondamentale del modello, quella di essere basato su valori.

Join naturale: è un operatore che correla dati in relazione sull'unione degli insiemi di attributi degli operandi e le sue tuple sono ottenute combinando le tuple degli operandi con valori uguali sugli attributi comuni.

Definizione: il join naturale r1 join r2 è una relazione definita su x1 U x2, come segue: R1 join R2 = { T | T1 ∈ R1 e T2 ∈ R2 con T[X1] = T1 e T[X2] = T2}

Il grado della relazione ottenuta come risultato è minore o uguale della somma dei gradi dei due operandi perché gli attributi omonimi degli operandi compaiono una sola volta nel risultato. Cardinalità join: compresa tra 0 e |R1| x |R2|.

  • Se il join è completo contiene un numero di tuple pari al massimo tra |R1| e |R2|.
  • Se X1 ∩ X2 contiene una chiave per R2 allora il join di R1(X1) e R2(X2) contiene al massimo |R1| tuple.
  • Se X1 ∩ 2 coincide con una chiave per R2 e sussiste il vincolo di riferimento tra X1 ∩ 2 in R1 e la chiave primaria di R2.
Anteprima
Vedrai una selezione di 6 pagine su 21
Riassunto Basi Dati Pag. 1 Riassunto Basi Dati Pag. 2
Anteprima di 6 pagg. su 21.
Scarica il documento per vederlo tutto.
Riassunto Basi Dati Pag. 6
Anteprima di 6 pagg. su 21.
Scarica il documento per vederlo tutto.
Riassunto Basi Dati Pag. 11
Anteprima di 6 pagg. su 21.
Scarica il documento per vederlo tutto.
Riassunto Basi Dati Pag. 16
Anteprima di 6 pagg. su 21.
Scarica il documento per vederlo tutto.
Riassunto Basi Dati Pag. 21
1 su 21
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher luckylucianooo di informazioni apprese con la frequenza delle lezioni di Basi di dati e sistemi informativi e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università Politecnica delle Marche - Ancona o del prof Diamantini Claudia.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community