Estratto del documento

Basi di dati

Sintesi e definizioni

CdL Informatica – Anno 2 – A.A. 2016/2017 (UniPa)

Capitolo 1 – Introduzione

Base di dati

Una Base di Dati è un insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività.

Sistema organizzativo

Un Sistema Organizzativo è un insieme di risorse e regole per lo svolgimento coordinato di attività al fine del perseguimento degli scopi.

Sistema informativo

Il Sistema Informativo è parte del sistema organizzativo ed esegue/gestisce processi informativi, cioè i processi che coinvolgono informazioni. Esso è un componente di un'organizzazione che si occupa di gestire le informazioni di interesse, cioè utilizzate per il perseguimento degli scopi dell'organizzazione:

  • Ogni organizzazione ha un sistema informativo;
  • Il sistema informativo è di solito suddiviso in sottoinsiemi più o meno fortemente integrati;
  • Quasi sempre, il sistema informativo è di supporto ad altri sottosistemi e va quindi studiato nel contesto in cui è inserito.

Funzioni di un sistema informativo

Le funzioni di un sistema informativo sono:

  • Raccolta e acquisizione delle informazioni;
  • Archiviazione e conservazione delle informazioni;
  • Elaborazione delle informazioni;
  • Estrazione, distribuzione e scambio di informazioni.

Sistema informatico

Un Sistema Informatico (o sistema informativo automatizzato) è la porzione automatizzata del sistema informativo, ossia la parte del sistema informativo che gestisce informazioni mediante la tecnologia informatica.

Componenti di un sistema informativo

  • Software e hardware di base;
  • Una base di dati contenente una rappresentazione del patrimonio informativo dell'organizzazione;
  • Uno schema, che descrive la struttura della base di dati, le operazioni per agire su essa, le restrizioni sui valori memorizzabili nella base di dati e sui modi in cui essi si possono evolvere nel tempo (vincoli di integrità). Lo schema della BD viene usato dal sistema per garantire un uso corretto della BD;
  • I programmi applicativi, che forniscono servizi agli utenti eseguendo un certo insieme di operazioni sulla BD;
  • La comunicazione, che permette l'accesso ai servizi del sistema informatico ad utenti e programmi.

Gestione delle informazioni

Nelle attività umane, le informazioni vengono gestite in forme diverse:

  • Idee informali;
  • Linguaggio naturale;
  • Disegni, grafici e schemi;
  • Numeri e codici;

E su vari supporti: memoria umana, carta, dispositivi elettronici.

Informazioni e dati

Nei sistemi informatici, le informazioni vengono rappresentate in modo essenziale attraverso i dati. Informazione: notizia o elemento che consente di avere una conoscenza più o meno esatta di fatti, situazioni, modi di essere. Dato: ciò che è immediatamente presente alla conoscenza, prima di ogni elaborazione; in informatica, i dati sono elementi di elaborazione costituiti da simboli che devono essere elaborati. I dati hanno bisogno di essere interpretati. I dati vengono usati perché costituiscono spesso una risorsa strategica e sono più stabili nel tempo di altre componenti.

Accezione generica e specifica di base di dati

Accezione Generica (Metodologica): insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività di un ente.

Accezione Specifica (Metodologica e Tecnologica): insieme dei dati gestito da un DBMS.

Sistema di gestione di basi di dati (DBMS)

Un DBMS (DataBase Management System) è un sistema (prodotto software) in grado di gestire collezioni di dati che siano:

  • Grandi: di dimensioni molto maggiori della memoria centrale dei sistemi di calcolo utilizzati;
  • Persistenti: con un periodo di vita indipendente dalle singole esecuzioni dei programmi che le utilizzano;
  • Condivise: utilizzate da applicazioni diverse.

Un DBMS garantisce:

  • Affidabilità: resistenza a malfunzionamenti hardware e software-recovery;
  • Privatezza: con una disciplina e un controllo degli accessi.

Un DBMS deve essere:

  • Efficiente: utilizzando al meglio le risorse di spazio e tempo del sistema;
  • Efficace: rendendo produttive le attività dei suoi utilizzatori.

Condivisione

Ogni organizzazione è divisa in settori o svolge diverse attività. A ciascun settore o attività corrisponde un sottosistema informativo. Possono esistere sovrapposizioni tra i dati di interesse dei vari settori. Una base di dati è una risorsa integrata, condivisa fra i vari settori.

Possibili problemi

Se i dati non venissero gestiti in maniera organica, si potrebbero avere problemi di:

  • Ridondanza: informazioni ripetute, con problemi di utilizzo ridondante di memoria e problemi con gli aggiornamenti delle informazioni ripetute;
  • Rischio di incoerenza: le versioni possono non coincidere, se gli aggiornamenti dei dati ridondanti non sono tenuti sincronizzati.

Conseguenza della condivisione della base di dati

Dato che una BD è una risorsa condivisa tra le varie applicazioni, si possono avere conseguenze come:

  • Attività diverse su dati in parte condivisi: meccanismi di autorizzazione;
  • Attività multi-utente su dati condivisi: controllo della concorrenza.

Efficienza

L'efficienza si misura in tempo di esecuzione e spazio di memoria. I DBMS non sono necessariamente più efficienti dei file-system. L'efficienza è il risultato della qualità del DBMS e delle applicazioni che lo utilizzano. La BD è solitamente memorizzata in memoria secondaria (disco rigido). Un DBMS permette di creare file ausiliari che permettono l'accesso veloce ai dati sul disco. Un DBMS mantiene porzioni della BD in memoria centrale velocizzando l'accesso ai dati. Ogni interrogazione, prima di essere eseguita, viene ottimizzata scegliendo un piano efficiente di esecuzione sulla base degli indici esistenti.

DBMS vs File System

I file system prevedono di memorizzare in maniera persistente grandi quantità di dati, ma il loro reperimento è difficile se non è nota a priori la loro posizione; inoltre, i file system prevedono forme rudimentali di condivisione: tutto o niente. Nei DBMS c'è maggiore flessibilità. Si pensi all'accesso concorrente di diversi utenti sullo stesso file. Il file system non è in grado di gestire la concorrenza. I DBMS estendono le funzionalità dei file system fornendo più servizi in maniera integrata. Nei DBMS esiste una porzione della BD (catalogo o dizionario) che contiene una descrizione centralizzata dei dati, che può essere utilizzata dai vari programmi.

Descrizione dei dati nei DBMS

Descrizioni e rappresentazioni dei dati a livelli diversi permettono l'indipendenza dei dati dalla rappresentazione fisica:

  • Il livello più basso è detto fisico (interno) e descrive COME i dati sono fisicamente archiviati.
  • Il livello superiore è detto logico e descrive QUALI dati sono archiviati e quali vincoli di integrità essi devono soddisfare.

Un DBMS permette ai programmi di accedere ai dati logici indipendentemente dalla loro rappresentazione fisica che può cambiare senza che i metodi di accesso ai dati logici debbano essere modificati. Tutto ciò è possibile attraverso il concetto di modello dei dati.

Modello dei dati

Un Modello dei Dati è un insieme di costrutti utilizzati per organizzare i dati di interesse e descriverne la dinamica. Componente fondamentale: meccanismi di ristrutturazione. Ogni modello dei dati prevede un costruttore, come, ad esempio, il modello relazionale che prevede il costruttore relazione, che permette di definire insiemi di record omogenei.

Due tipi principali di modelli

Modelli Logici: utilizzati nei DBMS esistenti per l'organizzazione dei dati; sono utilizzati dai programmi e sono indipendenti dalle strutture fisiche. Alcuni esempi sono: relazionale, reticolare, gerarchico, ad oggetti, XML.

Modelli Concettuali: permettono di rappresentare i dati in modo indipendente da ogni sistema e dalla scelta del modello logico:

  • Cercano di descrivere i concetti del mondo reale;
  • Sono utilizzati nelle fasi preliminari di progettazione;

Il modello più noto è quello Entity-Relationship (E-R).

Architettura semplificata di un DBMS: Schemi

  • Schema logico: descrizione della base di dati nel modello logico (es. struttura della tabella).
  • Schema fisico: rappresentazione dello schema logico per mezzo di strutture di memorizzazione.

Nota: Il modello logico è indipendente da quello fisico, quindi si parla di indipendenza dei dati: una tabella è utilizzata nello stesso modo qualunque sia la sua realizzazione fisica.

Architettura ANSI/SPARC: Schemi

  • Schema logico: descrizione dell'intera BD nel modello logico principale del DBMS.
  • Schema fisico: rappresentazione dello schema logico per mezzo di strutture di memorizzazione.
  • Schema esterno: descrizione di parte della BD in un modello; possono esserci anche schemi esterni diversi, secondo il tipo di utente.

Indipendenza dei dati

L'Indipendenza dei Dati è conseguenza dell'articolazione in livelli: l'accesso avviene solo tramite il livello esterno. Esistono due forme di indipendenza:

  • Indipendenza fisica;
  • Indipendenza logica;

Indipendenza fisica

Il livello logico e quello esterno sono indipendenti dal livello fisico, quindi:

  • Una relazione è utilizzata nello stesso modo qualunque sia la sua realizzazione fisica;
  • La realizzazione fisica può cambiare senza che debbano essere modificati i programmi.

Indipendenza logica

Il livello esterno è indipendente da quello logico, di conseguenza:

  • Aggiunte o modifiche alle viste non richiedono modifiche al livello logico;
  • Modifiche allo schema logico, che lasciano inalterato lo schema esterno, sono trasparenti all'utente finale.

Schemi e istanze

In ogni base di dati si distinguono:

  • Lo schema: sostanzialmente invariante nel tempo, che ne descrive la struttura (aspetto intensionale): le intestazioni delle tabelle;
  • L'istanza: i valori attuali, che possono cambiare anche molto rapidamente (aspetto estensionale): il corpo di una tabella.

Linguaggi per basi di dati

Esistono diversi linguaggi e interfacce come:

  • Linguaggi testuali interattivi (SQL);
  • Comandi immersi in un linguaggio ospite;
  • Comandi immersi in un linguaggio ad hoc (PL/SQL di Oracle), anche con altre funzionalità e con l'ausilio di strumenti di sviluppo;
  • Con interfacce amichevoli (senza linguaggio testuale).

Una distinzione terminologica

Nei linguaggi di interrogazione di BD distinguiamo tra:

  • Data Manipulation Language (DML) per l'interrogazione (data query language) e l'aggiornamento di (istanze di) basi di dati;
  • Data Definition Language (DDL) per la definizione di schemi (logici, esterni, fisici) e altre operazioni generali.

Personaggi e interpreti

  • Progettisti e realizzatori di DBMS;
  • Progettisti della BD e amministratori della BD (DBA);
  • Progettisti e programmatori di applicazioni;
  • Utenti:
    • Utenti finali (terminalisti): eseguono applicazioni predefinite (transizioni);
    • Utenti casuali: eseguono operazioni non previste a priori, usando linguaggi interattivi.

Database Administrator (DBA)

Un DBA è una persona, o gruppo di persone, responsabile del controllo centralizzato e della gestione del sistema, delle prestazioni, dell'affidabilità, delle autorizzazioni. Le funzioni del DBA includono quelle di progettazione (anche se in progetti complessi ci possono essere distinzioni).

Transazioni

Le transazioni sono programmi che realizzano attività frequenti e predefinite, con poche eccezioni, previste a priori. Esse sono realizzate, di solito, con programmi in linguaggio ospite (tradizionale o ad hoc). Nota: Il termine transizione ha un'altra accezione più specifica: sequenza indivisibile di operazioni (o tutte o nessuna).

Vantaggi e svantaggi dei DBMS

Pro:

  • Dati come risorsa comune, BD come modello della realtà;
  • Gestione centralizzata con possibilità di standardizzazione ed 'economia di scala';
  • Disponibilità di servizi integrati;
  • Riduzione di ridondanze e inconsistenze;
  • Indipendenza dei dati;

Contro:

  • Costo dei prodotti e della transizione verso di essi;
  • Non scorporabilità delle funzionalità (con riduzione di efficienza).

Capitolo 2 – Modelli di dati per sistemi di database

I modelli logici dei dati

Un Modello dei Dati è un insieme di concetti utilizzati per organizzare i dati e descriverne la struttura in modo che essa risulti comprensibile ad un elaboratore.

Modelli logici

  • Gerarchico e reticolare: questi modelli usano riferimenti espliciti (puntatori) tra record ed è vietata la ridondanza.
  • Relazionale: il modello relazionale è basato su valori; anche i riferimenti tra dati in strutture diverse sono rappresentati per mezzo dei valori stessi.
  • A oggetti: modello di recente introduzione.

Il modello relazionale

Il Modello Relazionale fu proposto, nel 1970, per favorire l'indipendenza dei dati. Esso si basa sul concetto matematico di relazione. Le relazioni hanno naturale rappresentazione per mezzo di tabelle.

Le tre accezioni di relazione

  • Relazione matematica: come nella teoria degli insiemi;
  • Relazione (relationship): rappresenta una classe di fatti, nel modello Entity-Relationship (E-R), tradotto anche con associazione o correlazione;
  • Relazione secondo il modello relazionale dei dati.

Relazione matematica

Siano D1,...,Dn, n insiemi anche non distinti. Allora D1×...×Dn (prodotto cartesiano) è l'insieme di tutte le n-uple (d1,...,dn) tali che d1∈D1,...,dn∈Dn. La relazione matematica su D1,...,Dn è un sottoinsieme di D1×...×Dn, dove D1,...,Dn sono i domini della relazione.

Proprietà: una relazione matematica è un insieme di n-uple ordinate tali che d1∈D1,...,dn∈Dn. Osservazione: una relazione è un insieme, quindi:

  • Non c'è ordinamento tra le n-uple;
  • Le n-uple sono distinte;
  • Ciascuna n-upla è ordinata: l'i-esimo valore proviene dall'i-esimo dominio.

Struttura posizionale e non posizionale

Nella struttura posizionale ciascuno dei domini ha due ruoli diversi, distinguibili tramite la posizione. Nella struttura non posizionale a ciascun dominio si associa un nome (attributo) che ne descrive il ruolo.

Tupla

Una tupla su un insieme di attributi X è una funzione t che associa a ciascun attributo A in X un valore del suo dominio. Una relazione su X è un insieme di t-uple su X. t[A] denota il valore della t-upla t sull'attributo A.

Tabelle e relazioni

Una tabella rappresenta una relazione se:

  • I valori di ogni colonna sono tra loro omogenei;
  • Le righe sono diverse tra loro;
  • Le intestazioni delle colonne sono diverse tra loro.

In una tabella che rappresenta una relazione:

  • L'ordinamento tra le righe è irrilevante;
  • L'ordinamento tra le colonne è irrilevante.

Il modello basato su valori

Il modello relazionale è basato su valori. Ciò significa che i riferimenti fra dati in relazioni diverse sono rappresentati per mezzo di valori dei domini che compaiono nelle n-uple.

Vantaggi della struttura dati basata su valori

  • Indipendenza dalle strutture fisiche che possono cambiare dinamicamente. La rappresentazione logica dei dati non fa riferimento a quella fisica;
  • Si rappresenta solo ciò che è rilevante dal punto di vista dell'applicazione;
  • I dati sono portabili più facilmente da un sistema ad un altro;
  • I puntatori sono direzionali.

Istanze

Un'istanza di relazione o relazione su uno schema R(x) è l'insieme r di tuple su X. Un'istanza di BD su uno schema R={R1(X1),...,Rn(Xn)} è l'insieme delle relazioni r={r1,...,rn} (con r relazione su R).

Informazione incompleta

Il modello relazionale impone ai dati una struttura rigida: le informazioni sono rappresentate per mezzo di n-uple;&nda

Anteprima
Vedrai una selezione di 8 pagine su 32
Sintesi basi dati Pag. 1 Sintesi basi dati Pag. 2
Anteprima di 8 pagg. su 32.
Scarica il documento per vederlo tutto.
Sintesi basi dati Pag. 6
Anteprima di 8 pagg. su 32.
Scarica il documento per vederlo tutto.
Sintesi basi dati Pag. 11
Anteprima di 8 pagg. su 32.
Scarica il documento per vederlo tutto.
Sintesi basi dati Pag. 16
Anteprima di 8 pagg. su 32.
Scarica il documento per vederlo tutto.
Sintesi basi dati Pag. 21
Anteprima di 8 pagg. su 32.
Scarica il documento per vederlo tutto.
Sintesi basi dati Pag. 26
Anteprima di 8 pagg. su 32.
Scarica il documento per vederlo tutto.
Sintesi basi dati Pag. 31
1 su 32
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 astrex di informazioni apprese con la frequenza delle lezioni di Basi di dati 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à degli Studi di Palermo o del prof Mantaci Sabrina.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community