Anteprima
Vedrai una selezione di 9 pagine su 39
Gestione dati e archivi - le basi di dati - introduzione al corso Pag. 1 Gestione dati e archivi - le basi di dati - introduzione al corso Pag. 2
Anteprima di 9 pagg. su 39.
Scarica il documento per vederlo tutto.
Gestione dati e archivi - le basi di dati - introduzione al corso Pag. 6
Anteprima di 9 pagg. su 39.
Scarica il documento per vederlo tutto.
Gestione dati e archivi - le basi di dati - introduzione al corso Pag. 11
Anteprima di 9 pagg. su 39.
Scarica il documento per vederlo tutto.
Gestione dati e archivi - le basi di dati - introduzione al corso Pag. 16
Anteprima di 9 pagg. su 39.
Scarica il documento per vederlo tutto.
Gestione dati e archivi - le basi di dati - introduzione al corso Pag. 21
Anteprima di 9 pagg. su 39.
Scarica il documento per vederlo tutto.
Gestione dati e archivi - le basi di dati - introduzione al corso Pag. 26
Anteprima di 9 pagg. su 39.
Scarica il documento per vederlo tutto.
Gestione dati e archivi - le basi di dati - introduzione al corso Pag. 31
Anteprima di 9 pagg. su 39.
Scarica il documento per vederlo tutto.
Gestione dati e archivi - le basi di dati - introduzione al corso Pag. 36
1 su 39
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

Modifica del numero di tessera del cliente

Se il numero di tessera di un cliente viene modificato, a seguito dello smarrimento della vecchia tessera, è necessario riportare tale cambiamento non solo nel file dei clienti ma anche in tutti i record relativi ai noleggi effettuati dal cliente in questione.

Ridondanza ed inconsistenza

Nel corso vedremo quali strumenti gli attuali DBMS forniscono per limitare inconsistenze e ridondanze dei dati:

  • a livello di rappresentazione dei dati
  • a livello di strumenti di progettazione della base di dati

Difficoltà nell'accesso ai dati

La mancanza di una descrizione ad alto livello e centralizzata dei dati rende estremamente difficoltoso l'utilizzo al fine di rispondere a nuove esigenze applicative. Nuove esigenze applicative possono richiedere lo sviluppo di nuovi programmi applicativi o la modifica di quelli esistenti.

Nella videoteca, supponiamo che sia necessario stampare periodicamente la lista dei clienti VIP ordinata in ordine alfabetico.

(cliente VIP = cliente che ha accumulato un certo numero di punti sulla base dei noleggi effettuati)

Non esiste un programma per la generazione della lista dei clienti VIP, ma esiste però un programma che stampa la lista di tutti i clienti in ordine alfabetico.

Difficoltà nell'accesso ai dati:

  • Per risolvere il problema si può: stampare la lista di tutti i clienti ed estrarre manualmente dalla lista quella relativa ai clienti VIP.
  • Tempi molto lunghi in presenza di molti clienti.
  • Richiedere che sia sviluppato un nuovo programma.

Supponiamo che dopo qualche tempo sia necessario stampare la lista di tutti i clienti VIP ordinata per numero di punti accumulati. Tale programma non esiste. Si torna al problema di partenza.

Difficoltà nell'accesso ai dati:

  • Un DBMS supera queste limitazioni, mettendo a disposizione:
  • Linguaggi che facilitano l'accesso ai dati secondo modalità non necessariamente note a priori.
  • Strutture ausiliarie di accesso che consentono di rispondere più efficientemente.

alle richieste di utenti ed applicazioni

Problemi nell'accesso concorrente ai dati

Per migliorare le prestazioni, tutti i sistemi permettono a più utenti di eseguire accessi concorrenti ai dati

I SO forniscono meccanismi per garantire la mutua esclusione nella modifica dei dati

Tali meccanismi devono però essere estesi in un ambiente di basi di dati

L'interazione di modifiche concorrenti, se non opportunamente controllata, può causare inconsistenze dei dati e può portare utenti ed applicazioni ad agire su dati non corretti

28 14Problemi nell'accesso concorrente ai dati

Nella videoteca:

Supponiamo che esista un'applicazione che, ad intervalli regolari, conti il numero di noleggi effettuati da ogni cliente della videoteca e generi un report con queste informazioni

Supponiamo che, mentre l'applicazione è in esecuzione, un cliente per cui il conteggio è già stato effettuato, noleggi un video

In questo caso, l'esecuzione concorrente delle due applicazioni genera un

conteggio non esatto

Non permettere l'esecuzione concorrente di applicazioni degraderebbe invece in modo non accettabile le prestazioni del sistema 29

Problemi nell'accesso concorrente ai dati porzione di programma applicativo a Transazione: cui il DBMS assicura particolari proprietà durante la sua esecuzione tra cui la consistenza dei dati in presenza di transazioni concorrenti, senza che il programmatore debba preoccuparsi della gestione di tali problematiche 30 15

Problemi nell'accesso concorrente ai dati Il corso non introdurrà il concetto di transazione 31

Problemi di protezione dei dati Non tutti gli utenti devono poter accedere a tutti i dati presenti nel sistema I file system tipicamente non hanno meccanismi di controllo dell'accesso adeguati a supportare tali requisiti di protezione Questi controlli devono essere implementati a livello di programmi applicativi ma difficile verificare che tali controlli siano effettivamente e correttamente incorporati in tutti i

programmiapplicativi 32 16

Problemi di protezione dei dati

Nella videoteca: un commesso della videoteca potrebbe essere autorizzato a conoscere la data in cui un cliente ha effettuato un noleggio. Per motivi di privacy, potrebbe non potere conoscere il titolo del film che hanno noleggiato.

Problemi di protezione dei dati

È necessario disporre di meccanismi che consentano un accesso selettivo ai dati:

  • solo a determinati record
  • solo a determinati campi di ogni record

Un DBMS offre tali meccanismi per gestire efficacemente il controllo dell'accesso senza dover ricorrere allo sviluppo di programmi ad-hoc

Problemi di protezione dei dati

Non vedremo questi aspetti nel corso

Problemi di integrità dei dati

Per riflettere correttamente una certa realtà applicativa, è necessario che i dati rispettino determinate condizioni, note come vincoli di integrità semantica.

Un insieme di dati è semanticamente corretto se verifica tutti i vincoli di integrità semantica ad esso associati.

  1. file system non consentono la specifica e la verifica automatica di tali vincoli. Devono quindi essere implementati come codice applicativo.
  2. L'aggiunta di nuovi vincoli o la modifica di un qualche vincolo richiede costose modifiche ai programmi applicativi.
  3. Problemi di integrità dei dati:
    • Nella videoteca:
    • Esempio di vincolo: la data di restituzione di un video non deve essere antecedente alla data di noleggio.
    • Il vincolo deve essere implementato in ogni programma che gestisce inserimenti e modifiche ai noleggi.
  4. I DBMS offrono adeguati strumenti per la specifica di vincoli e la loro verifica automatica.
  5. I vincoli vengono specificati dall'utente una sola volta. È poi il sistema a preoccuparsi di verificarli sui dati.
  6. La carta vincente dei DBMS è lo schema logico della base di dati.

Un modello dei dati è un insieme di strumenti concettuali, o formalismo, che consta di tre componenti fondamentali:

  1. Descrive il contenuto della base di dati tramite un formalismo ad alto livello che esula dai dettagli della sua effettiva implementazione fisica, detto modello dei dati.
  2. Vantaggi:
    • Unica rappresentazione centralizzata e condivisa.
    • No ridondanze e inconsistenze.
    • Consente di introdurre un controllo centralizzato sugli stessi, minimizzando quindi i problemi di protezione dei dati.
    • Il DBMS mette a disposizione linguaggi (dichiarativi) per agire sui dati rappresentati secondo il modello.
    • Possibilità di interagire con i dati secondo modalità non anticipate al momento della definizione e realizzazione della base di dati.
    • Ottimizza le operazioni e quindi garantisce efficienza (l'utente non si preoccupa di come i dati sono memorizzati e gestiti su disco).
    • Garantisce affidabilità.
  3. Servizi di un DBMS:
    • Esterni (invocabili dagli utenti).
    • Interni al DBMS.

insieme di strutture dati

un linguaggio per specificare i dati tramite le strutture previste dal modello, per aggiornare tali strutture e per specificare vincoli su tali strutture

un linguaggio per manipolare i dati

Modello dei dati: concetti di base

Le strutture dati devono poter rappresentare i seguenti concetti:

  • Insieme di "oggetti" della realtà
  • Entità applicativa di interesse, aventi caratteristiche comuni
  • Singolo oggetto della realtà
  • Istanza di entità applicativa di interesse, modellato da una certa entità

Modello dei dati: concetti di base

Proprietà significativa di un'entità, ai fini della descrizione della realtà applicativa di interesse

Ogni entità è caratterizzata da uno o più attributi

Un attributo di un'entità assume uno o più valori per ciascuna delle istanze dell'entità, detti valori dell'attributo, in un insieme di possibili valori, detto dominio dell'attributo

Formattazione del testo

concetti di base

Corrispondenza tra un certo numero di entità

Anche le associazioni possono avere degli attributi che corrispondono a proprietà dell'associazione

Corrispondenza tra istanze di associazione e le istanze di un certo numero di entità

Modello dei dati: esempio videoteca

Entità:

L'entità Cliente rappresenta l'insieme dei clienti della videoteca

Istanza di entità: anna rossi istanza di Cliente, pulp fiction istanza di Film

Attributi:

Il nome di un cliente attributo dell'entità Cliente

La data di restituzione del video noleggiato attributo dell'entità Noleggio

Il regista di un film attributo dell'entità Film

Legame tra i clienti ed i film che consigliano

Associazione: (Consiglia) potrebbe avere un attributo giudizio, che modella il giudizio espresso dai clienti della videoteca sui film da loro consigliati

Istanza di associazione: relazione che lega l'istanza di Film relativa al film "Pulp Fiction" con l'istanza di Cliente anna rossi

fiction di Quentin Tarantino con l'istanza di Cliente relativa al cliente con numero di tessera 6610 è un'istanza dell'associazione Consiglia 46 23.

Modello dei dati

Qualsiasi modello dei dati deve rispondere a due domande fondamentali:

  1. come rappresentare le entità e i loro attributi
  2. come rappresentare le associazioni e i loro attributi

La maggioranza dei modelli usa strutture come il record, in cui ogni componente rappresenta un attributo. I modelli differiscono notevolmente in questo aspetto; la rappresentazione può avvenire tramite strutture, valori, puntatori.

Il modello relazionale

È basato su una singola struttura dati - la relazione. Una relazione può essere vista come una tabella con righe, dette tuple, e colonne contenenti dati di tipo specificato (ad esempio interi e stringhe).

Relazione = insieme di entità

Tupla = entità

Esempio

Attributo

Relazione

Tupla

Il modello relazionale utilizza una rappresentazione

re l'associazione. Questo approccio è noto come "associazione per valore". Nell'associazione per valore, i valori delle colonne della tabella di origine vengono copiati nelle colonne corrispondenti della tabella di destinazione. In questo modo, ogni riga della tabella di destinazione contiene una copia indipendente dei valori della riga corrispondente della tabella di origine. Per implementare l'associazione per valore, possiamo utilizzare i tag HTML e per creare le tabelle di origine e di destinazione. Utilizziamo il tag
per rappresentare le colonne delle tabelle. Ecco un esempio di come potrebbe essere formattato il testo utilizzando i tag HTML:
Colonna 1 Colonna 2 Colonna 3
Valore 1 Valore 2 Valore 3
In questo esempio, abbiamo una tabella di origine con tre colonne e una riga di valori. Questa tabella viene rappresentata utilizzando i tag , e
. Per rappresentare la tabella di destinazione, possiamo utilizzare gli stessi tag HTML:
Colonna 1 Colonna 2 Colonna 3
Valore 1 Valore 2 Valore 3
In questo caso, la tabella di destinazione contiene una copia indipendente dei valori della tabella di origine. Utilizzando i tag HTML, possiamo formattare il testo in modo chiaro e leggibile, rendendo più facile la comprensione dell'associazione per valore.
Dettagli
Publisher
A.A. 2012-2013
39 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher Menzo di informazioni apprese con la frequenza delle lezioni di Gestione dati e archivi 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 dell' Insubria o del prof Carminati Barbara.

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla più grande community di studenti
sendMessage
Tutor AI
tutorai_icon
Ciao! Sono il tuo Tutor AI, il compagno ideale per uno studio interattivo. Utilizzo il metodo maieutico per affinare il tuo ragionamento e la comprensione. Insieme possiamo:
  • Risolvere un problema di matematica
  • Riassumere un testo
  • Tradurre una frase
  • E molto altro ancora...
Cosa vuoi imparare oggi?
tutorai_icon
Il Tutor AI di Skuola.net usa un modello AI di Chat GPT.
Per termini, condizioni e privacy, visita la relativa pagina.