Estratto del documento

SISTEMI INFORMATIVI

(Appunti del corso Sistemi Informativi – Unibo, Ingegneria

Gestionale)

INDICE

PARTE 1: Le Basi di Dati Relazionali

Introduzione 2

 Modello Relazionale 4

 Algebra Relazionale 7

 SQL 12

 Normalizzazione di Schemi Relazionali 30

PARTE 2: Progettazione di Sistemi Informativi

La Progettazione della Base di Dati 36

 Il Modello Entity Relationship 39

 Progetto Logico da schemi E/R 47

 Analisi Funzionale e Diagrammi di Flusso dei dati 51

 Progetto Integrato di dati e funzioni 55

 Modellazione dei processi aziendali 58

PARTE 3: Tecnologia dei Sistemi Informativi

Sistemi Transazionali 61

 Controllo di Concorrenza 69

 +¿−Tree

Metodi di Accesso (Indici ) 74

 ¿

B

Calcolo del Costo di Accesso ai dati 81

 Calcolo del Costo di Join 88

 Tecnologia dei Sistemi Informativi 92

 Basi di Dati Distribuite 95

 Architetture Evolute nei Sistemi Informativi 102

 I sistemi ERP 107

 Formulario 111

 1

SISTEMI INFORMATIVI

Qualunque tipo di organizzazione, per poter funzionare, oggi si appoggia su un

flussi informativi:

Sistema Informativo, il quale gestisce i permette di spostare,

trovare, recuperare tutta l’informazione che serve per svolgere la nostra attività.

Definizione di Sistema Informativo: Insieme di Risorse (di qualunque Natura:

hardware, personale, sistemisti, utenti finali, archivi cartacei, …) e di Metodologie

finalizzate alla Raccolta, all'Uso e allo Scambio di Informazioni.

Un Sistema Informativo non significa soltanto Sistema Informatico, ma una parte,

tipicamente negli anni crescente, del Sistema Informativo può essere

automatizzata. Un Sistema Informatico è un sottoinsieme del Sistema

Informativo dove la sovrapposizione può essere più o meno spinta.

L'Informazione viene codificata e rappresentata nelle macchine sotto forma di

Dati.

Caratteristiche di una Base di Dati:

Grandi dimensioni

 Condivisione → utilizzate contemporaneamente da più utenti

 Persistenza → i dati devono essere protetti, sopravvivere qualunque cosa

 succeda, non possono essere persi

Caratteristiche di un DBMS (Data Base Management System):

Affidabilità → deve funzionare sempre

 Privatezza → devono esserci dei meccanismi che garantiscano a vari livelli

 la privatezza

Efficacia → devo poter trovare l’informazione che sto cercando

 Efficienza → per trovare la medesima informazione in un Sistema

 Informativo, a seconda di come il sistema è costruito ci sono diversi ordini

di grandezza sui tempi di risposta

SISTEMI INFORMATIVI AZIENDALI

Sistema Informativo: Insieme degli strumenti, risorse e procedure che

consentono la gestione delle informazioni aziendali.

è essenziale per il funzionamento dell'azienda

 è fortemente integrato con il sistema organizzativo

 comprende risorse umane

Sistema Informatico: insieme dei sistemi hardware e software presenti in una

azienda. Permette di gestire in maniera automatizzata l’informazione

(informazione codificata come dati gestiti dai programmi e memorizzati nelle

basi di dati).

assicura la generazione, l’elaborazione, la circolazione e la

 memorizzazione delle informazioni su supporti informatici.

Dato: unità elementare (grezza) di informazione.

Informazione: elaborazione dei dati per rispondere a esigenze specifiche

dell’impresa.

Approccio tecnologico alla gestione dell’informazione: due visioni fondamentali

(visione centrata sui dati o sulle applicazioni).

Compiti della tecnologia dell’informazione (visione centrata sui dati):

Immissione, Memorizzazione, Cancellazione dei dati

 Accesso, Elaborazione, Trasferimento: dai dati all'informazione

 2

Presentazione, Visualizzazione dell'informazione

Processo: procedura aziendale che risponde ad un particolare compito

applicativo.

Come analizzare i sistemi informativi?

a. Partendo dai dati

b. Partendo dai processi

Criterio principale: stabilità → i dati sono più stabili dei processi!

DBMS • Sistemi software dedicati alla gestione dei dati

• Esistono sul mercato alcune centinaia di prodotti

diversi

Confronto con architetture con/senza DBMS

Principale differenza: gestione dei dati unitaria e a più

alto livello (tramite linguaggi specializzati).

Disallineamento delle copie di dati significa

inconsistenza globale del database: quale dei due dati è

quello corretto?

Principali caratteristiche:

Condivisione dei dati

 - Assenza di replicazione nei file

- Concorrenza → es. due utenti non possono acquistare il medesimo

prodotto

Qualità dei dati

 - Vincoli di integrità → garantiscono che i dati rappresentino

un’informazione sensata

Efficienza

 - Caricamento, query, sort

Controllo dell’accesso

 - Privatezza (e accesso selettivo ai dati)

Robustezza → sistemi resilienti

Come si usa un DBMS?

a. Definendo la struttura generale dei dati

b. Definendo le specifiche operazioni sui dati

Schema dei dati: struttura comune a una famiglia di dati. È il tipo della base di

dati.

Istanza : contenuto delle variabili che vado a dichiarare.

Architettura a livelli degli schemi

Schema esterno (o delle viste): descrizione per specifiche applicazioni →

consente a ciascun settore aziendale di avere una vista personalizzata sul

database aziendale (anche se i dati sono gli stessi).

Schema logico: descrizione globale → progettare la base di dati aziendale. 3

Schema interno: descrizione dei meccanismi di gestione dei dati → riguarda la

struttura informatica, uso delle strutture dati per memorizzare e gestire come i

dati sono fisicamente memorizzati.

Questi tre livelli consentono all’interfaccia tra un livello e l’altro dei gradi di

libertà.

Indipendenza logica: capacità di offrire una visione dei dati differente ad utenti

differenti.

Indipendenza fisica: capacità di astrarre completamente dai meccanismi di

gestione dei dati. Mi garantisce di riutilizzare il progetto logico anche cambiando

la tecnologia che sta sotto.

I linguaggi del DBMS

DATA DEFINITION LANGUAGE (DDL) → contiene delle istruzioni che servono

 per agire sugli schemi e che quindi sarà usato dai database administrator

e dai progettisti.

Es: CREATE, DROP, ALTER

DATA MANIPULATION LANGUAGE (DML) → linguaggio utilizzato dagli utenti.

 Consente di inserire, modificare, cancellare e trovare l’informazione che

serve quando serve.

Es: SELECT, INSERT, UPDATE, DELETE

Gli utenti del DBMS

Database administrator: programma il DDL.

Programmatori applicativi: programmano le applicazioni, usando il DML. Quando

le applicazioni avranno bisogno di informazioni, saranno i programmi stessi e non

gli utenti a usare il DML per andare a recuperare l’informazione.

Utenti casuali: eseguono le versioni “amichevoli” del DML (query language,

interfacce grafiche).

Utenti finali (“terminalisti”): eseguono le applicazioni.

I moduli del DBMS

Un DBMS è un’architettura

software abbastanza complessa

fatta di moduli e sottomoduli.

Nel dizionario dati è presente la

definizione degli schemi (è una

piccola frazione del database

vero e proprio).

Il database vero e proprio

contiene le istanze dei dati,

contiene l’informazione codificata

sotto forma di dati.

IL MODELLO RELAZIONALE DEI DATI

Definizione formale 4

Dominio D: un qualunque insieme di valori

 D × D D

Prodotto cartesiano su n domini … (non

×

 1 2 n

d d

necessariamente distinti): insieme delle n-ple (tuple) < , , …

1 2

d d D

∈ ≤ ≤

> con , 1 i n

n i i

D × D D

Relazione R su … : un qualunque sottoinsieme di

×

 1 2 n

D × D D

× …

1 2 n

Esempio

D = (a,b)

1

D = (1,2,3)

2

D D

× = (<a,1>, <b,1>, <a,2>, <b,2>, <a,3>, <b,3>)

1 2

R1 = (<a,1>, <b,3>)

R2 = (<a,1>, <a,2>, <b,3>)

R3 = ( )

R4 = (<a,1>, <b,1>, <a,2>, <b,2>, <a,3>, <b,3>)

Proprietà

Grado della relazione: numero di domini (n)

 Cardinalità della relazione: numero di tuple

 Attributo: nome dato al dominio in una relazione

 [i nomi di attributi in una relazione devono essere tutti

distinti fra loro]

Schema (di una relazione): tabella (attributo1, … attributoN)

 [i nomi delle relazioni in uno schema devono essere tutti distinti fra loro]

Una differenza significativa:

Definizione formale → assenza di duplicati.

Definizione informale → possibili duplicati.

Esempio: gestione degli esami universitari.

Riflessioni

Differenza fra schema e istanza

 Due attività assai differenti:

 - Progetto dello schema

- Gestione dell’istanza 5

Passaggio dai dati all’informazione (Query language) → linguaggio di

 interrogazione

Lo schema definisce la struttura dei dati: nel modello formale sono i domini e i

nomi degli attributi, oltre il nome della relazione; nel modello informale sono i

nomi delle tabelle e le intestazioni, cioè i nomi delle colonne nello schema delle

tabelle.

Le istanze sono invece il contenuto, le tuple nel modello formale, le righe

all’interno della tabella.

L’informazione è contenuta nelle istanze.

Vincoli di integrità: escludono alcune istanze in quanto non rappresentano

correttamente il mondo applicativo.

- Chiavi

- Vincoli sui valori nulli (entity integrity)

- Integrità referenziale (referential integrity)

- Vincoli generici

Chiave: sottoinsieme degli attributi dello schema che ha la proprietà di unicità e

minimalità.

Unicità: non esistono due tuple con chiave uguale.

Minimalità: sottraendo un qualunque attributo alla chiave si perde la proprietà di

unicità.

Un insieme di attributi per cui vale solo la proprietà di unicità si chiama

superchiave (questo conferma che l’intero schema sia una superchiave, però

non è detto che sia una chiave).

Chiave esterna: attributi K in R1 e R2; se K è chiave primaria in R1 allora è

esterna in R2.

Entity integrity: non ci possono essere valori nulli in nessun componente di una

chiave.

Referential integrity: se K è chiave esterna in R2 e primaria in R1, i valori di K

in R2 sono compresi fra quelli che ha in R1 (devono essere un sottoinsieme o al

più nulli).

Notazioni

R(A, B, C) Schema di una relazione.

D D D

R(A: , B: , C: ) Domini in evidenza (normalmente si

A B C

sottintendono).

Tipicamente per i nomi di attributi e relazioni si utilizzano lettere maiuscole.

R “r” R

è il nome della relazione. Con si intende un’istanza di (un insieme di

tuple).

r = {(a, 1, x), (b, 2, y)}

s = (a, 1, x) e t = (b, 2, y) sono due tuple.

s, t appartenenti a r

s.B = s[B] = 1 valore dell’attributo B in s (due notazioni).

t.C = t[C] = y

AC = {A, C}, s.AC = s[AC] = (a, x) insieme degli attributi A e C.

t.BC = t[BC] = (2, y)

X = AC, s.X = s[X] = (a,x) X rappresenta l’insieme di attributi A e C.

R(X) relazione generica senza specificare i suoi attributi (A, B e C in questo

esempio)

Notazione di chiave

r

R(X) con istanza 6

Sia K un sottoinsieme di X, K è chiave di R sse:

s, t r: s[K] t[K] s t proprietà di

1. per ogni coppia tuple di = implica = (

unicità )

2. non esiste sottoinsieme H proprio di K t.c. per H vale la 1. ovvero possono

u, v r u v u[H] v[H] proprietà di minimalità

esistere in tali che e = ( )

Per indicare la chiave di una relazione si sottolineano gli attributi che vi

appartengono. R(A, B, C)

ALGEBRA è un linguaggio per DB costituito da un insieme di

RELAZIONALE (AR) operatori che si applicano a una o più relazioni e che

Linguaggi di producono una relazione.

interrogazione

linguaggi formali

 • Algebra relazionale

• Calcolo relazionale

• Programmazione logica

linguaggi “programmativi”

 • SQL: Structured Query Language

• QBE: Query By Example

Algebra relazionale

definite da Codd (70)

 molto utile per imparare a formulare query

 insieme minimo di 5 operatori che danno l’intero potere espressivo del

 linguaggio 7

Selezione

L’operatore di selezione σ permette di selezionare un sottoinsieme delle tuple di

una relazione, applicando a ciascuna di esse una formula booleana F (predicato

di selezione).

F si compone di predicati connessi da AND (), OR () e NOT ().

Ogni predicato è del tipo A c o A B, dove:

 

A e B sono attributi in X

 ∈

c dom(A) è una costante

 ∈ ¿

è un operatore di confronto, { }

, ≠ ,< ,>, ≤ ,≥

  

Il risultato della selezione sarà una relazione che avrà lo stesso schema di R,

t

quindi tutti gli attributi X, e come istanza sarà l’insieme delle tuple appartenenti

r

a tali per cui il predicato F risulta vero.

Proiezione

L’operatore di proiezione è ortogonale alla selezione, in quanto permette di

selezionare un sottoinsieme Y degli attributi di una relazione.

Il risultato della proiezione è una relazione con schema Y e come istanza tutte le

sottotuple relative agli attributi Y che posso estrarre da R.

La proiezione elimina eventuali duplicati. Tuple che prima erano diverse ma che

per effetto della proiezione diventano uguali, danno luogo a duplicati che devono

essere eliminati, perciò il risultato avrà meno tuple della relazione di partenza.

Proiezione: cardinalità del risultato

(

π r) r

In generale, la cardinalità di è minore o uguale a quella di (la

Y

proiezione “elimina i duplicati”).

L’uguaglianza è garantita se e solo se Y è una superchiave di R(X) (allora vale

l’unicità, quindi anche proiettando soltanto sugli attributi in Y le tuple sono tutte

diverse).

Dimostrazione:

(Se) Se Y è una superchiave di R(X), in ogni istanza legale r di R(X) non

esistono due tuple distinte t1 e t2 tali che t1[Y] = t2[Y].

(Solo se) Se Y non è superchiave allora è possibile costruire un’istanza

legale r con due tuple distinte t1 e t2 tali che t1[Y] = t2[Y]. Tali tuple

“collassano” in una singola tupla a seguito della proiezione. 8

Si noti che il risultato ammette la possibilità che “per caso” la cardinalità non vari

anche se Y non è superchiave.

Join naturale ⋈

L’operatore di join naturale combina le tuple di due relazioni sulla base

dell’uguaglianza dei valori degli attributi comuni alle due relazioni.

r r

Ogni tupla che compare nel risultato del join naturale di e , istanze

1 1

R X R X

rispettivamente di ( ) e ( ), è ottenuta come combinazione

1 1 2 2

r r

(“match”) di una tupla di con una tupla di sulla base dell’uguaglianza

1 2

X X

dei valori degli attributi comuni (cioè quelli in ).

1 2

Inoltre, lo schema del risultato è l’unione degli schemi degli operandi.

Osservazioni

È possibile che una tupla di una delle relazioni operande non faccia match

 con nessuna tupla dell’altra relazione; in tal caso tale tupla viene detta

“dangling”.

Nel caso limite è quindi possibile che il risultato del join sia vuoto; all’altro

 r

estremo è possibile che ogni tupla di si combini con ogni tupla di

1

r .

2 ⋈

r r r

Ne segue che la cardinalità del join, | |, è compresa tra 0 e | | *

 1 2 1

r

| |.

2 R X

Se il join è eseguito su una superchiave di ( ), allora ogni tupla di

 1 1

r r

fa match con al massimo una tupla di , quindi

2 1

¿ ∨≤∨r ∨¿

r r .

1 2 2

X X R X R

Se è la chiave primaria di ( ) e foreign key in (

 

1 2 1 1 2

X ) (e quindi c’è un vincolo di integrità referenziale) allora

2

| |

⋈r =¿ ∨¿

r r .

1 2 2

Join naturale e intersezione =

X X

Quando le due relazioni hanno lo stesso schema ( ) allora due tuple

1 2

fanno match se e solo se hanno lo stesso valore per tutti gli attributi, ovvero

sono identiche, per cui:

=

X X

Se il join naturale equivale all’intersezione () delle due relazioni.

1 2

Join naturale e prodotto Cartesiano =¿

X X

Viceversa, quando non ci sono attributi in comune ( Ø), allora

1 2

due tuple fanno sempre match, per cui:

=¿

X X R

Se Ø il join naturale equivale al prodotto Cartesiano

 

1 2 1

R .

2

In questo caso, a differenza del caso matematico, il prodotto Cartesiano non è

ordinato. 9

Unione e Differenza

Poiché le relazioni sono insiemi, sono ben definite le operazioni di unione e

,

−¿

differenza .

Entrambe si applicano a relazioni con lo stesso insieme di attributi.

r r r

Si noti che l’intersezione si può anche scrivere come: = – (

1 2 1

−r

r ).

1 2

Il problema dei nomi

Il join naturale, l’unione e la differenza operano (sia pur diversamente) sulla base

degli attributi comuni a due schemi.

Ridenominazione

L’operatore di ridenominazione modifi

Anteprima
Vedrai una selezione di 20 pagine su 127
Appunti di Sistemi informativi Pag. 1 Appunti di Sistemi informativi Pag. 2
Anteprima di 20 pagg. su 127.
Scarica il documento per vederlo tutto.
Appunti di Sistemi informativi Pag. 6
Anteprima di 20 pagg. su 127.
Scarica il documento per vederlo tutto.
Appunti di Sistemi informativi Pag. 11
Anteprima di 20 pagg. su 127.
Scarica il documento per vederlo tutto.
Appunti di Sistemi informativi Pag. 16
Anteprima di 20 pagg. su 127.
Scarica il documento per vederlo tutto.
Appunti di Sistemi informativi Pag. 21
Anteprima di 20 pagg. su 127.
Scarica il documento per vederlo tutto.
Appunti di Sistemi informativi Pag. 26
Anteprima di 20 pagg. su 127.
Scarica il documento per vederlo tutto.
Appunti di Sistemi informativi Pag. 31
Anteprima di 20 pagg. su 127.
Scarica il documento per vederlo tutto.
Appunti di Sistemi informativi Pag. 36
Anteprima di 20 pagg. su 127.
Scarica il documento per vederlo tutto.
Appunti di Sistemi informativi Pag. 41
Anteprima di 20 pagg. su 127.
Scarica il documento per vederlo tutto.
Appunti di Sistemi informativi Pag. 46
Anteprima di 20 pagg. su 127.
Scarica il documento per vederlo tutto.
Appunti di Sistemi informativi Pag. 51
Anteprima di 20 pagg. su 127.
Scarica il documento per vederlo tutto.
Appunti di Sistemi informativi Pag. 56
Anteprima di 20 pagg. su 127.
Scarica il documento per vederlo tutto.
Appunti di Sistemi informativi Pag. 61
Anteprima di 20 pagg. su 127.
Scarica il documento per vederlo tutto.
Appunti di Sistemi informativi Pag. 66
Anteprima di 20 pagg. su 127.
Scarica il documento per vederlo tutto.
Appunti di Sistemi informativi Pag. 71
Anteprima di 20 pagg. su 127.
Scarica il documento per vederlo tutto.
Appunti di Sistemi informativi Pag. 76
Anteprima di 20 pagg. su 127.
Scarica il documento per vederlo tutto.
Appunti di Sistemi informativi Pag. 81
Anteprima di 20 pagg. su 127.
Scarica il documento per vederlo tutto.
Appunti di Sistemi informativi Pag. 86
Anteprima di 20 pagg. su 127.
Scarica il documento per vederlo tutto.
Appunti di Sistemi informativi Pag. 91
1 su 127
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Ingegneria industriale e dell'informazione ING-INF/05 Sistemi di elaborazione delle informazioni

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher buzzo123 di informazioni apprese con la frequenza delle lezioni di Sistemi informativi T-1 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 Bologna o del prof Grandi Fabio.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community