Estratto del documento

Una base di dati (o database in lingua Inglese) è una collezione di dati coerenti creata allo scopo

speci co di rappresentare e memorizzare adeguatamente le informazioni di una realtà d’interesse.

Come anticipato nella precedente scheda, un database memorizza i dati in modo strutturato, cioè

organizzati secondo schemi e tabelle dotati di una precisa e rigida de nizione. Ad esempio, la

base di dati relativa al portale web cinematogra co conterrà tabelle per memorizzare dati su lm,

attori, registi e così via.

Un’ulteriore caratteristica fondamentale delle basi di dati è quella di sempli care il continuo

aggiornamento dei dati memorizzati, al ne di fornire dati sempre attuali agli utenti e alle

applicazioni che ne hanno necessità per lo svolgimento delle loro speci che attività. Ad esempio,

ogni volta che uno studente supera un esame, questa nuova informazione viene registrata nella

base di dati universitaria.

I sitemi di gestione di base di dati (DBMS)

Un sistema di gestione di basi di dati (DBMS, database management system) è un sistema

software realizzato per supportare la de nizione e la manipolazione della base di dati da parte di

di erenti tipologie di utenti, specialistici e non. Di conseguenza ogni utente può accedere al

DBMS, a patto che abbia gli opportuni diritti di lettura ed eventualmente scrittura (cioè modi ca)

sul database o, in alternativa, può essere associato al garantire sicurezza dei dati, ovvero che

solamente chi autorizzato hanno accesso alla base di dati, compiendo operazioni autorizzate e

inoltre fornisce agli utenti una visione di alto livello dei dati contenuti nella base di dati attraverso

l’uso di un modello dei dati, nascondendo i dettagli di basso livello relativi alla memorizzazione

sica dei dati.

In particolare, un DBMS o re le seguenti funzionalità:

- Fornisce agli utenti una visione di alto livello dei dati contenuti nella base di dati attraverso l’uso

di un modello dei dati, nascondendo i dettagli di basso livello relativi alla memorizzazione sica

dei dati.

- Fornisce supporto per la condivisione della base di dati da parte di molteplici utenti e

applicazioni diverse, garantendo la corretta gestione degli accessi anche contemporanei ai dati

da parte di utenti diversi.

fi

fi ff ff fi ff fi

fi fi ffl fi fi fi fi fi fi

- Garantisce la sicurezza dei dati, ovvero che solamente utenti autorizzati abbiano accesso alla

base di dati, compiendo operazioni autorizzate.

- Fornisce la possibilità di de nire una visione personalizzata dei dati per le diverse tipologie di

utenti/applicazioni, contenente il sottoinsieme di dati di utilità per quell’utente/applicazione.

- Può integrare le funzionalità di salvataggio e ripristino (backup e recovery) dei dati contenuti

nella base di dati, per garantire che non ci siano perdite di dati anche in caso di guasti e

malfunzionamenti del software o dei dispositivi hardware del sistema di elaborazione.

- È in grado di assicurare la consistenza dei dati contenuti nella base di dati, facendo in modo

che vengano rispettati i vincoli di integrità sui dati stessi.

Negli anni ‘80/90 si assiste all'a ermazione della tecnologia dei DBMS relazionali, che sono

diventati uno standard di mercato e una componente essenziale per la gestione delle informazioni

nell’ambito di organizzazioni pubbliche e private. Esistono numerosi esempi di DBMS relazionali,

tra i quali vale la pena menzionare Oracle, MySQL, Microsoft SQL Server, PostgreSQL, MariaDB.

Scrittura e organizzazione di una base di dati

Per modello dei dati si intende la descrizione della struttura dei dati che caratterizzano la realtà di

interesse a cui si riferisce la base di dati. Un modello dei dati comprende:

- Un insieme di costrutti

- Una notazione per speci care i dati tramite i suddetti costrutti,

- Un insieme di operazioni per esprimere le interrogazioni e le modi che da eseguire sui dati

organizzati secondo quel modello.

Un modello dei dati deve permettere la rappresentazione degli (insiemi di) oggetti del mondo

reale, dei legami (associazioni) fra tali oggetti e delle

caratteristiche (attributi) degli oggetti e/o delle loro

associazioni. Un attributo consiste quindi in un

campo non scomponibile il cui insieme di valori

possibili è de nito dagli oggetti che appartengono a

quest’ultimo. Allo scopo di de nire correttamente lo

schema della base di dati è necessario procedere a

una concettualizzazione delle informazioni che

riguardano la realtà osservata. Per

concettualizzazione intendiamo qui la

rappresentazione di una realtà di interesse in termini

di insiemi di oggetti, caratteristiche e legami.

B3- basi di dati relazionali

Il modello relazionale

Come esempio di modello dei dati per basi di dati, consideriamo il modello relazionale introdotto

nel 1970 da Ted Codd, che rappresenta il modello dei dati sul quale si basa la maggior parte dei

DBMS oggi disponibili.

In un modello relazionale i dati sono memorizzati in tabelle, dette relazioni, composte da un certo

numero di colonne, dette attributi, e da un certo numero di righe, dette tuple. Ad esempio, la

tabella seguente, denominata regista, rappresenta un insieme di registi di lm.

Ogni riga della tabella rappresenta un

singolo regista. Osserviamo inoltre che

in una tabella di una base di dati

relazionale, tutti i valori presenti in una

colonna appartengono allo stesso tipo

di dato o dominio. Ad esempio, il nome

di un regista è un valore di tipo

testuale, come anche il cognome e la

nazione. In generale, le righe di una

tabella di una base di dati relazionale

rappresentano speci ci oggetti o

legami fra oggetti del mondo reale; gli

attributi de niti per la tabella forniscono l’interpretazione dei dati che compaiono nelle varie righe.

fi fi fi fi fi fi ff fi fi

Basi di dati relazionali

Una base di dati relazionale è quindi una collezione di

tabelle che rappresentano gli oggetti e le associazioni

fra oggetti che caratterizzano la realtà di interesse.

Osserviamo che i legami fra i dati di tabelle diverse

vengono espressi per mezzo di valori comuni presenti

nelle tuple di tali tabelle. Questi valori dovranno per

forza essere univoci in entrambe le tabelle. Un esempio,

è costituito dalla seguente base di dati che descrive

registi e lm e l'associazione che sussiste fra i lm e i

corrispondenti registi.

Schema di una base di dati relazionale

Vediamo ora come è de nito lo schema di una base di dati relazionale.

Per prima cosa, introduciamo

la nozione di schema di

relazione, che è costituito dal

nome r della relazione e

dall'insieme degli attributi che

costituiscono la relazione. Ad

esempio, lo schema di

relazione della relazione

"regista" è de nito come segue

Istanza di una base di dati relazioni

I dati che compongono le relazioni di una base di dati ne costituiscono l’istanza. In particolare, si

de nisce istanza di una relazione r l’insieme delle tuple de nite sugli attributi di r.

Si de nisce istanza di base di dati l’insieme delle istanze di relazione di ciascuna relazione che

costituisce la base di dati.

Vincoli del modello relazionale

Questi vincoli obbligano a seguire un determinato criterio di inserimento o forniscono delle regole

di inserimento per i valori degli attributi. Alcuni esempi di vincoli sono:

- Not null: richiede di inserire un valore per l’attributo sul quale è impostato il vincolo. Ad

esempio, nel caso della relazione regista, speci care un vincolo not null sull’attributo cognome

signi ca che non sarà possibile memorizzare una tupla nella relazione qualora essa sia priva di

valore sull’attributo cognome.

- Default: comporta l’inserimento di un valore prede nito nel caso in cui non sia stato speci cato

alcun valore per l’attributo in fase di inserimento o modi ca. Ad esempio, nel caso della

relazione attore, impostare il valore di default “USA” per l’attributo nazione signi ca che qualora

si intenda memorizzare una tupla in questa relazione e qualora essa sia priva di valore

sull’attributo nazione, il valore USA sarà inserito come valore dell’attributo per quella tupla.

- Unique: richiede di inserire un valore univoco per l’attributo sul quale è impostato il vincolo.

Questo signi ca che non sarà possibile avere due tuple della relazione con il medesimo valore

per l’attributo de nito unique. As esempio, nel caso della relazione lm, speci care un vincolo

unique sull’attributo titolo signi ca che non potranno essere memorizzate due pellicole distinte

con il medesimo valore sull’attributo titolo.

I legami tra di erenti tabelle sono espressi attraverso valori univoci comuni in entrambe le

tabelle.

Il vincolo permanent non esiste!!!!

fi fi fi fi fi ff

fi fi fi fi fi fi fi fi fi fi fi fi fi

Chiavi primarie

Un concetto di fondamentale importanza nelle basi di dati relazionali è la nozione di chiave

primaria (primary key) utilizzata per identi care in modo univoco ogni tupla di una tabella (cioè ID).

Una chiave primaria può essere costituita da un singolo attributo oppure può essere composta da

più attributi. Ogni tabella possiede una chiave primaria; in questo modo ogni tupla della tabella è

univocamente riconoscibile.

Se un utente tentasse di inserire una tupla con un valore di chiave primaria già presente in una

certa tabella, il sistema di gestione della base di dati, cioè il DBMS, impedirebbe l’inserimento e

segnalerebbe un errore. L’utente dovrà modi care il valore della chiave primaria per poter

concludere con successo l’inserimento della nuova tupla.

Valori nulli

Ogni tupla di una relazione possiede la struttura de nita nello schema di quella relazione anche

quando uno o più valori non sono presenti. Ad esempio, supponiamo di non conoscere la nazione

del regista Gray. La tupla memorizzata nella tabella regista sarà comunque caratterizzata dagli

attributi id_regista, nome, cognome e sesso, come previsto dalla relazione regista. Quale valore

dovrà essere dunque speci cato in corrispondenza dell'attributo nazione?

A tale scopo, nelle basi di dati relazionali, si usa un particolare valore, detto valore NULL.

Livelli di astrazione nei DBMS

Una base di dati gestita da un DBMS può essere vista a tre livelli di astrazione, a ciascuno dei

quali corrisponde una descrizione dei dati sotto forma di uno speci co schema.

- Lo schema logico fornisce la descrizione dell'intera base di dati per mezzo del modello dei dati

del DBMS utilizzato. Nel nostro caso, abbiamo considerato DBMS relazionali, nei quali il

modello dei dati utilizzato è appunto quello relazionale.

- Lo schema sico descrive l'organizzazione sica dei dati in termini di st

Anteprima
Vedrai una selezione di 10 pagine su 41
Domande e lezioni Idoneità relativa a conoscenze informatiche Pag. 1 Domande e lezioni Idoneità relativa a conoscenze informatiche Pag. 2
Anteprima di 10 pagg. su 41.
Scarica il documento per vederlo tutto.
Domande e lezioni Idoneità relativa a conoscenze informatiche Pag. 6
Anteprima di 10 pagg. su 41.
Scarica il documento per vederlo tutto.
Domande e lezioni Idoneità relativa a conoscenze informatiche Pag. 11
Anteprima di 10 pagg. su 41.
Scarica il documento per vederlo tutto.
Domande e lezioni Idoneità relativa a conoscenze informatiche Pag. 16
Anteprima di 10 pagg. su 41.
Scarica il documento per vederlo tutto.
Domande e lezioni Idoneità relativa a conoscenze informatiche Pag. 21
Anteprima di 10 pagg. su 41.
Scarica il documento per vederlo tutto.
Domande e lezioni Idoneità relativa a conoscenze informatiche Pag. 26
Anteprima di 10 pagg. su 41.
Scarica il documento per vederlo tutto.
Domande e lezioni Idoneità relativa a conoscenze informatiche Pag. 31
Anteprima di 10 pagg. su 41.
Scarica il documento per vederlo tutto.
Domande e lezioni Idoneità relativa a conoscenze informatiche Pag. 36
Anteprima di 10 pagg. su 41.
Scarica il documento per vederlo tutto.
Domande e lezioni Idoneità relativa a conoscenze informatiche Pag. 41
1 su 41
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 ele1221 di informazioni apprese con la frequenza delle lezioni di Idoneità relativa a conoscenze informatiche 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 Milano o del prof Montanelli Stefano.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community