Che materia stai cercando?

Gestione dati e archivi - le basi di dati - introduzione al corso Appunti scolastici Premium

Dispense per l'esame di gestione dati e archivi della professoressa Barbara Carminati, cdl in scienze della comunicazione. Le slide sono un'introduzione al corso e gli argomenti trattati sono gli aspetti introduttivi dei database, il modello relazionale, il linguaggio sql e la progettazione della base di dati..

Esame di Gestione dati e archivi docente Prof. B. Carminati

Anteprima

ESTRATTO DOCUMENTO

Problemi 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 e` in esecuzione, un

cliente per cui il conteggio e` gia` 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 programmi

applicativi 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 ha

noleggiato 33

Problemi di protezione dei dati

E’ 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 34 17

Problemi di protezione dei dati

Non vedremo questi aspetti nel corso 35

Problemi di integrita` dei dati

Per riflettere correttamente una certa realta` applicativa, e`

necessario che i dati rispettino determinate condizioni, note

come vincoli di integrita` semantica

Un insieme di dati è semanticamente corretto se verifica tutti i

vincoli di integrità semantica ad esso associati

I file system non consentono la specifica e la verifica automatica

di tali vincoli

Devono quindi essere implementati come codice applicativo

L’aggiunta di nuovi vincoli o la modifica di un qualche vincolo

richiede costose modifiche ai programmi applicativi 36 18

Problemi di integrita` 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 37

Problemi di integrita` dei dati

I DBMS offrono adeguati strumenti per la

specifica di vincoli e la loro verifica

automatica

I vincoli vengono specificati dall’utente una

sola volta

E’ poi il sistema a preoccuparsi di verificarli

sui dati

Nel corso vedremo come questo sia possibile 38 19

La carta vincente dei DBMS

Il meccanismo fondamentale di un DBMS che

permette di risolvere le problematiche prima

delineate è lo (o schema logico)

schema

della base di dati

Uno schema logico 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 39

Vantaggi

Unica rappresentazione centralizzata e condivisa

No ridondanze e inconstenze

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

Possibilitaà 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à 40 20

Servizi di un DBMS

Esterni (invocabili dagli utenti)

Interni al DBMS 41

Modello dei dati

Un modello dei dati è un insieme di strumenti

concettuali, o formalismo, che consta di tre

componenti fondamentali:

un 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 42 21

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à 43

Modello dei dati: concetti di

base Proprieta` significativa di

Attributo.

un’entita`, ai fini della descrizione della realta`

applicativa di interesse

Ogni entita` e` caratterizzata da uno o piu`

attributi

Un attributo di un’entita` assume uno o piu` valori

per ciascuna delle istanze dell’entita`, detti valori

dell’attributo, in un insieme di possibili valori, detto

dominio dell’attributo 44 22

Modello dei dati: concetti di

base Corrispondenza tra un certo

Associazione.

numero di entita`

Anche le associazioni possono avere degli

attributi che corrispondono a proprieta`

dell’associazione Corrispondenza tra

Istanza di associazione.

le istanze di un certo numero di entita` 45

Modello dei dati: esempio

videoteca

Cliente, Noleggio, Video e Film.

Entita`:

L’entita` Cliente rappresenta l’insieme dei clienti della videoteca

Istanza di entita`:

anna rossi istanza di Cliente,

pulp fiction istanza di Film

Attributi:

Il nome di un cliente attributo dell’entita` Cliente

la data di restituzione del video noleggiato attributo dell’entita`

Noleggio

il regista di un film attributo dell’entita` 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” di

Quentin Tarantino con l’istanza di Cliente relativa al cliente con

numero di tessera 6610 e` un’istanza dell’associazione Consiglia 46 23

Modello dei dati

Qualsiasi modello dei dati deve rispondere a due

domande fondamentali:

(a) come rappresentare le entità e i loro attributi

(b) 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 47

Il modello relazionale

E'

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 entita`

Tupla = entita` 48 24

Esempio Attributo

Relazione Tupla 49

Il modello relazionale

Il modello relazionale utilizza una

rappresentazione cosiddetta per valore delle

associazioni

non sono rappresentate esplicitamente (mediante

costrutti quali puntatori) ma implicitamente tramite

La replica di alcune colonne di una tabella in quella

con cui vogliamo stabilire un’associazione

creando una tabella ad-hoc per modellare

l’associazione contenente alcune colonne delle tabelle

che vogliamo mettere in relazione 50 25

Esempio 51

Il modello relazionale

insieme di attributi che identificano

Chiave:

univocamente le tuple di una relazione

(Titolo, regista) in Film

Colloc in Video gli attributi corrispondenti ad

Chiave esterna:

una chiave in un’altra relazione, inseriti per

modellare l’associazione tra le tuple delle due

relazioni

(Titolo, regista) in Video 52 26

chiave

Esempio chiave esterna

53

Il modello relazionale 54 27

Schema e istanza

Indipendentemente dal modello dei dati, in un DBMS

distinguiamo: descrizione dei dati, specificata tramite

Schema della base di dati:

il modelo dei dati

Cambia raramente

Descrizione intensionale insieme dei dati presenti in un dato

Istanza della base di dati:

momento in una base di dati

Cambia molto spesso nel tempo

Descrizione estensionale

In una base di dati relazionale:

Schema della base di dati = insieme degli schemi delle relazioni in

esso presenti

Schema di relazione: nome della relazione + nome e dominio per

ogni attributo 55

Esempio Schema

Istanza 56 28

Schema e istanza

Il primo passo nello sviluppo di una base di

dati è la definizione dello schema della base

di dati

successivamente vengono immessi i dati veri

e propri che devono conformarsi alla

definizione data dallo schema 57

Livelli nella rappresentazione

dei dati E` il livello piu` basso in cui viene definito lo

Livello fisico.

schema fisico della base di dati, precisando come i dati sono

effettivamente memorizzati tramite strutture di memorizzazione

(file, record, ecc.)

E` il secondo livello di astrazione in cui viene

Livello logico.

decritto lo schema logico

quali sono i dati memorizzati nella base di dati

eventuali associazioni tra di essi

vincoli di integrita` semantica e di autorizzazione

La base di dati e` descritta tramite le strutture del modello dei dati

E` il livello di astrazione

Livello esterno o livello delle viste.

piu` alto

descrive una porzione dell’intero schema della base di dati (vista)

possono essere definite piu` viste di una stessa base di dati 58 29

Livelli nella rappresentazione

dei dati Solo in DB

… Vista n

Vista 1 Vista 2 con schemi

medio-grandi

Livello

logico Sempre presenti

Livello

fisico 59

Esempio Vista_Video_Horror

Vista_Film_commedia Livello esterno

Film Video Livello logico

(1) File Film Livello fisico

(2) File Video 60 30

Indipendenza

L’introduzione di questi tre livelli assicura alcune importanti

proprieta` ai dati, che facilitano l’accesso ai dati e lo sviluppo di

applicazioni utenti ed applicazioni che accedono alla

indipendenza fisica:

rappresentazione logica dei dati sono indipendenti da qualsiasi

modifica a livello di rappresentazione fisica dei dati in quanto

modifiche a tale livello non influenzano la rappresentazione dei

dati al livello logico la presenza delle viste permette di

Indipendenza logica:

nascondere (entro certi limiti) modifiche alla rappresentazione dei

dati al livello logico alle applicazioni/utenti che vedono la

rappresentazione esterna (tramite vista) dei dati 61

Indipendenza fisica: esempio

Tempo T1

Film Video Livello logico

(1) File Film Livello fisico

(2) File Video 62 31


PAGINE

39

PESO

295.65 KB

AUTORE

Menzo

PUBBLICATO

+1 anno fa


DETTAGLI
Corso di laurea: Corso di laurea in scienze della comunicazione
SSD:
A.A.: 2013-2014

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à Insubria Como Varese - Uninsubria o del prof Carminati Barbara.

Acquista con carta o conto PayPal

Scarica il file tutte le volte che vuoi

Paga con un conto PayPal per usufruire della garanzia Soddisfatto o rimborsato

Recensioni
Ti è piaciuto questo appunto? Valutalo!

Altri appunti di Gestione dati e archivi

Gestione dati e archivi - progettazione di basi di dati / metodologie e modelli
Appunto
Esame luglio 2006
Esercitazione
Esame giugno 2006
Esercitazione
Esame settembre 2006
Esercitazione