Estratto del documento

Corso di Laurea in Ingegneria Gestionale

Sapienza Università di Roma

Corso di Basi di Dati

A.A. 2020/2021

1 Nozioni Preliminari

Tiziana Catarci, Francesco Leotta

Ultimo aggiornamento : 05/10/2020

Risorse di una organizzazione

un’organizzazione

 Nello svolgimento di ogni attività, deve

disporre di determinate risorse per perseguire gli scopi che si è

prefissa :

▪ persone

▪ denaro

▪ materiali

▪ dati e informazioni

 Ogni organizzazione dispone di un sistema informativo che

organizza e gestisce un gran numero di informazioni

rappresentate per mezzo di dati. dell’invenzione

▪ I sistemi informativi esistono da molto prima dei

calcolatori. …

▪ Esempio : elenchi di utenze telefoniche, archivi anagrafici

2 Basi di Dati 20/21 1 – Nozioni Preliminari

Funzioni di un Sistema Informativo

 Principali funzioni di un Sistema Informativo :

▪ Raccolta e acquisizione delle informazioni;

▪ archiviazione, conservazione delle informazioni;

▪ elaborazione delle informazioni;

▪ distribuzione, scambio di informazioni.

Il concetto di Sistema Informativo è indipendente da

qualsiasi forma di automatizzazione!

 Un Sistema Informatico è quella porzione automatizzata del

Sistema Informativo che gestisce le informazioni con

tecnologia informatica.

3 Basi di Dati 20/21 1 – Nozioni Preliminari

Sistema Informatico

Sistema azienda

Sistema organizzativo La diffusione capillare

dell’informatica fa sì che gran

parte dei sistemi informativi siano

Sistema informativo anche, in buona misura, sistemi

informatici.

Sistema informatico

Basi di dati

4 Basi di Dati 20/21 1 – Nozioni Preliminari

Dati e Informazioni

 Nelle attività umane, le informazioni vengono gestite in forme

diverse:

▪ idee informali, linguaggio naturale (scritto o parlato, formale o colloquiale), mente

umana, carta, dispositivi elettronici, disegni, grafici, schemi, numeri e codici.

 Nei sistemi informatici, le informazioni vengono rappresentate

per mezzo di dati :

 informazione : notizia, dato o elemento che consente di avere conoscenza più o

meno esatta di fatti, situazioni, modi di essere.

 dato : ciò che è immediatamente presente alla conoscenza, prima di ogni

elaborazione. In informatica, un dato è un elemento di informazione costituito da

simboli che debbono essere elaborati.

Senza “interpretazione“, i

 dati hanno poca utilità.

 Se interpretati e correlati opportunamente, essi forniscono informazioni che

consentono di arricchire la nostra conoscenza del mondo.

5 Basi di Dati 20/21 1 – Nozioni Preliminari

Base di Dati

 Base di Dati :

(accezione generica) Collezione di dati, che tipicamente descrive le

informazioni di interesse di una o più organizzazioni correlate.

(accezione specifica) Collezione di dati in memoria secondaria

gestita da un apposito sistema software, chiamato DBMS (Data

Base Management System, o Sistema di Gestione di Basi di Dati).

▪ Un DBMS è in grado di gestire e interrogare grandi collezioni di dati.

▪ I dati costituiscono una risorsa strategica, perché più stabili

nel tempo di altre componenti (processi, tecnologie, ruoli

umani).

▪ Ad esempio, i dati delle banche o delle anagrafi hanno una struttura

sostanzialmente invariata da decenni, mentre le procedure che agiscono

su di essi variano con una certa frequenza.

6 Basi di Dati 20/21 1 – Nozioni Preliminari

Data Base Management System (DBMS)

 Sistema che gestisce collezioni di dati :

grandi

▪ persistenti

▪ condivise

garantendo

privatezza

▪ affidabilità

▪ efficienza

▪ efficacia

 Alcuni prodotti software disponibili sul mercato :

 DB2

 Oracle

 SQLServer

 MySQL

 PostgreSQL

 Microsoft Access

7 Basi di Dati 20/21 1 – Nozioni Preliminari

Approccio Convenzionale : i file

L’approccio convenzionale alla gestione dei dati sfrutta la presenza di

 archivi o file

per memorizzare i dati in modo persistente sulla memoria secondaria.

Secondo quest’approccio, eventuali dati di interesse per più programmi sono

 replicati tante volte quanti sono i programmi che li utilizzano.

Ad esempio, in un’università, le informazioni relative ai docenti possono essere

 utilizzate in vario modo e da diverse persone o uffici.

responsabile Archivio 1:

Ufficio del Personale informazioni relative alla

carriera del personale

Tiene conto della distinzione fra

Ricercatori, Professori, ecc.

responsabile Archivio 2:

Ufficio Stipendi informazioni relative agli

stipendi del personale

Utilizza le informazioni sulla

carriera e sugli incarichi didattici

8 Basi di Dati 20/21 1 – Nozioni Preliminari

per calcolare le retribuzioni.

Problemi nella gestione dei file

 Cosa accade se ciascun ufficio gestisce separatamente le informazioni di proprio interesse?

 Presenza di duplicati (eventuali dati di interesse per più programmi sono replicati tante volte

quanti sono i programmi che li utilizzano).

Difficoltà nell’aggiornamento dei dati

 (a causa della presenza di duplicati, a lungo andare ci

sarebbero molti dati con le copie non aggiornate allo stesso modo).

 Possibile incoerenza nelle varie copie dei dati per ciascun archivio (potremmo trovare

nell’Ufficio Stipendi una qualifica diversa da quella corretta presente nei dati dell’Ufficio del

Personale). responsabile Archivio 1:

Ufficio del Personale informazioni relative alla

carriera del personale

responsabile Archivio 2:

Ufficio Stipendi informazioni relative agli

stipendi del personale

9 Basi di Dati 20/21 1 – Nozioni Preliminari

Architettura del Sistema Informatico

DBMS

Ufficio del Personale Base di Dati

Ufficio Stipendi

 Le basi di dati sono state concepite principalmente per superare questo tipo

di inconvenienti, gestendo in modo integrato e flessibile le informazioni di

interesse per diversi soggetti, limitando i rischi di ridondanza e

incoerenza.

l’unico responsabile

 Il DBMS è della gestione della base di dati: i dati sono

accessibili all’esterno solo tramite il DBMS.

10 Basi di Dati 20/21 1 – Nozioni Preliminari

Esempio di rappresentazione dei dati

11 Basi di Dati 20/21 1 – Nozioni Preliminari

Le basi di dati sono…grandi

 Dimensioni (molto) maggiori della memoria centrale

dei sistemi di calcolo utilizzati.

 Il limite deve essere solo quello fisico dei dispositivi.

 I DBMS devono prevedere una gestione dei dati in

memoria secondaria.

 Esempi di dimensioni molto grandi :

500 Gigabyte (dati transazionali)

▪ 10 Terabyte (dati decisionali)

500 Terabyte (dati scientifici)

▪ 100 miliardi di record

12 Basi di Dati 20/21 1 – Nozioni Preliminari

Le basi di dati sono…condivise

 Ogni organizzazione (specie se grande) è divisa in

settori o comunque svolge diverse attività. Perciò

utenti e applicazioni diversi devono poter accedere,

secondo opportune modalità, a dati comuni.

 Ciascun settore/attività ha un (sotto)sistema

informativo (non necessariamente disgiunto).

 In questo modo si riduce la ridondanza dei dati

(poichè si evitano ripetizioni) e conseguentemente si

riduce anche la possibilità di inconsistenze.

l‘accesso

 Per garantire condiviso, il DBMS dispone di

un meccanismo apposito, detto controllo di

concorrenza.

13 Basi di Dati 20/21 1 – Nozioni Preliminari

Le basi di dati sono…persistenti

 Hanno un tempo di vita indipendente dalle singole

esecuzioni dei programmi che le utilizzano.

 In contrasto, i dati gestiti da un programma in

memoria centrale hanno una vita che inizia e termina

con l‘esecuzione del programma.

14 Basi di Dati 20/21 1 – Nozioni Preliminari

I DBMS garantiscono…affidabilità

 Capacità del sistema di conservare sostanzialmente intatto il

contenuto della Base di Dati (o almeno di permetterne la

ricostruzione) in caso di malfunzionamenti hardware e

software.

 Una base di dati è una risorsa pregiata e quindi deve essere

conservata a lungo termine a fronte di qualsiasi guasto del

sistema, errore umano o anche evento catastrofico.

 A questo scopo i DBMS gestiscono, in modo controllato,

funzionalità di salvataggio e ripristino (backup e recovery).

 In alcuni casi, i DBMS gestiscono in modo controllato, versioni

replicate dei dati, collocate su dispositivi fisici diversi, così da

garantire maggiore affidabilità complessiva.

15 Basi di Dati 20/21 1 – Nozioni Preliminari

I DBMS garantiscono…privatezza

 Ciascun utente, riconosciuto in base a un nome utente che

è specificato all‘atto di interagire con il DBMS, viene

abilitato a svolgere solo determinate azioni sui dati,

attraverso meccanismi di autorizzazione.

 Si possono definire meccanismi di autorizzazione :

l'utente A è autorizzato a leggere tutti i dati e a modificare X.

▪ l'utente B è autorizzato a leggere dati X e a modificare Y.

16 Basi di Dati 20/21 1 – Nozioni Preliminari

I DBMS sono efficienti

 I DBMS sono capaci di svolgere le operazioni utilizzando

un insieme di risorse (tempo e spazio) che sia accettabile

per gli utenti.

 Va sottolineato che i DBMS forniscono un insieme

piuttosto ampio di funzionalità che richiedono molte

risorse, e quindi possono garantire efficienza solo a

condizione che il sistema informatico su cui sono installati

sia adeguatamente dimensionato.

17 Basi di Dati 20/21 1 – Nozioni Preliminari

I DBMS sono efficaci

 I DBMS sono capaci di rendere produttive, in ogni senso,

le attività dei loro utenti.

 Questa definizione è chiaramente generica e non

corrisponde ad un aspetto specifico. L‘attività di

progettazione della base di dati e delle applicazioni che la

utilizzano mira essenzialmente a garantire una buona

efficacia complessiva del sistema.

18 Basi di Dati 20/21 1 – Nozioni Preliminari

Architettura a tre livelli del Sistema Informatico

Livello della Livello della logica Livello dei dati

dell’applicazione

Presentazione DBMS

Applicazione 1

Ufficio del Personale

. .

. . Base di Dati

Ufficio Stipendi Applicazione n

 Una base di dati viene utilizzata dai vari uffici (e persone), ciascuno

con le proprie competenze, attraverso programmi diversi.

 Il DBMS garantisce integrazione e condivisione coordinando i vari

flussi di informazioni che giungono dalle varie sorgenti.

19 Basi di Dati 20/21 1 – Nozioni Preliminari

DBMS vs File System

 La gestione di insiemi di dati grandi e persistenti è

possibile anche attraverso sistemi più semplici - i classici

file system dei sistemi operativi.

 Un file consente di memorizzare e ricercare dati, ma

fornisce solo semplici meccanismi di accesso e

condivisione.

 I DBMS estendono le funzionalità dei file system,

fornendo più servizi ed in maniera integrata.

 I file, a loro volta, sono fondamentali per gestire insiemi

di dati localmente a una specifica procedura o

applicazione.

20 Basi di Dati 20/21 1 – Nozioni Preliminari

Descrizione dei Dati

 Nei programmi tradizionali che accedono a file, ogni programma

contiene una descrizione della struttura del file stesso, con i

conseguenti rischi di incoerenza fra le descrizioni (ripetute in ciascun

programma) e i file stessi.

 Nei DBMS, esiste una porzione della base di dati (il catalogo o

dizionario) che contiene una descrizione centralizzata dei dati,

utilizzabile dai vari programmi.

 La rappresentazioni dei dati avviene livelli diversi

l‘indipendenza

 in modo da permettere dei dati dalla rappresentazione

fisica:

 i programmi fanno riferimento alla struttura a livello più alto, e le

rappresentazioni sottostanti possono essere modificate senza necessità

di modifica dei programmi

E‘

 fondamentale il concetto di modello dei dati.

21 Basi di Dati 20/21 1 – Nozioni Preliminari

Modello dei Dati

 Insieme di costrutti utilizzati per organizzare i dati di

interesse all‘interno del DBMS e descriverne la dinamica.

 Come nei linguaggi di programmazione esistono

meccanismi che permettono di definire nuovi tipi, così

ogni modello dei dati prevede alcuni costruttori.

 Ad esempio, il modello relazionale prevede il

costruttore relazione, che permette di definire insiemi

di record omogenei

 Una relazione viene rappresentata per mezzo di una

tabella, le cui righe rappresentano specifici record e le cui

colonne corrispondono ai campi del record.

22 Basi di Dati 20/21 1 – Nozioni Preliminari

Il Modello Relazionale

 Una relazione viene rappresentata per mezzo di una tabella, le cui righe

rappresentano specifici record e le cui colonne corrispondono ai campi del

record.

E‘ il più diffuso nell‘ambito delle Basi di Dati. Sarà anche il nostro modello

 di riferimento. Intestazione della tabella: nome della relazione

Attributo

Squadra

Nome Cognome Posizione Squadra Età

31

Tommaso Rocchi Attaccante S.S.Lazio 34

Alessandro Del Piero Attaccante Juventus F.C. 32

Francesco Totti Attaccante A.S. Roma

Tupla o Record

23 Basi di Dati 20/21 1 – Nozioni Preliminari

Schemi e Istanze

 In ogni base di dati si distinguono :

lo schema, sostanzialmente invariante nel tempo, che ne descrive

▪ nell’esempio,

la struttura (aspetto intensionale); le intestazioni

delle tabelle :

Giocatore (Nome, Cognome, Posizione, Squadra, Età)

Squadra (Nome, Anno di Fondazione)

l’istanza,

 costituita dai valori attuali, che possono cambiare molto

nell’esempio, il “corpo”

rapidamente (aspetto estensionale); di

ciascuna tabella :

Tommaso Rocchi Attaccante S.S. Lazio 31

Alessandro Del Piero Attaccante Juventus F.C. 34

Francesco Totti Attaccante A.S. Roma 32

24 Basi di Dati 20/21 1 – Nozioni Preliminari

Due tipi (principali) di modelli

 Modelli Logici: utilizzati nei DBMS esistenti per

l’organizzazione dei dati; ad essi fanno riferimento i

programmi e gli utenti. I modelli logici sono indipendenti

dalle strutture fisiche.

(basato sull’uso di strutture ad albero) –

 Modello Gerarchico

anni 60 (basato sull’uso di grafi) –

 Modello Reticolare anni 70

 Modello Relazionale anni 70/80

 Modello ad Oggetti (estende alle basi di dati il paradigma di

programmazione ad oggetti) anni 80

 Modello XML (rivisitazione del modello gerarchico, in cui i

dati devono essere presentati assieme alla loro descrizione)

25 Basi di Dati 20/21 1 – Nozioni Preliminari

Due tipi (principali) di modelli

 Modelli Concettuali: permettono di rappresentare i dati

in modo indipendente da ogni sistema, cercando di

descrivere i concetti del mondo reale, piuttosto che i dati

utili a rappresentarli.

▪ Il più noto è il modello Entità-Relazione.

 Essi vengono utilizzati nelle fasi preliminari del processo

di progettazione della base di dati.

▪ Rappresentano il modo migliore per analizzare la realtà

d’interesse, senza “contaminazioni” di tipo realizzativo.

26 Basi di Dati 20/21 1 – Nozioni Preliminari

Architettura semplificata per un DBMS

utente Modello Relazionale

Schema logico

Schema fisico Lo schema fisico riassume come

le relazioni descritte nello schema

logico sono realmente registrate

BD su dispositivi di memorizzazione

DBMS di massa.

27 Basi di Dati 20/21 1 – Nozioni Preliminari

Architettura standard a tre livelli per DBMS

E’ possibile associare utente utente utente

utente

ad uno schema logico

utente

vari schemi esterni. Schema Schema Schema

esterno esterno esterno

Schema Esterno :

costituisce la descrizione di Schema logico

una porzione della base di dati

di interesse. Può prevedere

organizzazioni dei dati diverse Schema fisico

a quelle utilizzate nello

schema logico, che riflettono

il punto di vista di un BD

particolare insieme di

utenti.

28 Basi di Dati 20/21 1 – Nozioni Preliminari

Indipendenza dei dati l’accesso avviene

 Conseguenza della articolazione in livelli:

solo tramite il livello esterno (che può coincidere con il livello

logico).

 Nei sistemi moderni, lo schema esterno non è esplicitamente

presente, ma è possibile definire relazioni derivate (o viste).

 Due forme di indipendenza dei dati :

▪ fisica: il livello logico e quello esterno sono indipendenti da quello

fisico; una relazione è utilizzata nello stesso modo qualunque sia la

sua realizzazione fisica (che può anche cambiare nel tempo senza che

debbano essere modificate le forme di utilizzo).

▪ logica: il livello esterno è indipendente da quello logico

 aggiunte o modifiche alle viste non richiedono modifiche al livello logico.

 modifiche allo schema logico che lascino inalterato lo schema esterno

sono trasparenti.

29 Basi di Dati 20/21 1 – Nozioni Preliminari

Esempio : Una Vista

Corsi Aule

Docente Aula

Corso Nome Edificio Piano

Marrella DS1

Basi di dati DS1 Meschini Primo

Neri N3

Sistemi N3 Meschini Terra

Bruni N3

Reti G Pincherle Primo

Bruni G

Controlli

CorsiIstitutoMeschini Corso Aula Piano

Sistemi N3 Terra

Reti N3 Terra

Basi di Dati DS1 Primo

30 Basi di Dati 20/21 1 – Nozioni Preliminari

Controllo di Concorrenza

L’esecuzione concorrente di programmi utente è

Anteprima
Vedrai una selezione di 10 pagine su 487
Appunti completi Base di dati Pag. 1 Appunti completi Base di dati Pag. 2
Anteprima di 10 pagg. su 487.
Scarica il documento per vederlo tutto.
Appunti completi Base di dati Pag. 6
Anteprima di 10 pagg. su 487.
Scarica il documento per vederlo tutto.
Appunti completi Base di dati Pag. 11
Anteprima di 10 pagg. su 487.
Scarica il documento per vederlo tutto.
Appunti completi Base di dati Pag. 16
Anteprima di 10 pagg. su 487.
Scarica il documento per vederlo tutto.
Appunti completi Base di dati Pag. 21
Anteprima di 10 pagg. su 487.
Scarica il documento per vederlo tutto.
Appunti completi Base di dati Pag. 26
Anteprima di 10 pagg. su 487.
Scarica il documento per vederlo tutto.
Appunti completi Base di dati Pag. 31
Anteprima di 10 pagg. su 487.
Scarica il documento per vederlo tutto.
Appunti completi Base di dati Pag. 36
Anteprima di 10 pagg. su 487.
Scarica il documento per vederlo tutto.
Appunti completi Base di dati Pag. 41
1 su 487
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 nagosc27 di informazioni apprese con la frequenza delle lezioni di Base 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 Roma La Sapienza o del prof Catarci Tiziana.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community