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
  • ¿BCalcolo 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

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

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

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

  • Immissione, Memorizzazione, Cancellazione dei dati
  • Accesso, Elaborazione, Trasferimento: dai dati all'informazione
  • Presentazione, Visualizzazione dell'informazione

Processo: procedura aziendale che risponde ad un particolare compito applicativo.

Come analizzare i sistemi informativi?

  1. Partendo dai dati
  2. Partendo dai processi

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

DBMS

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?

  1. Definendo la struttura generale dei dati
  2. 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.

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

  • Dominio D: un qualunque insieme di valori
  • D × D D Prodotto cartesiano su n domini … (non× 1 2 nd d necessariamente distinti): insieme delle n-ple (tuple) < , , …1 2d d D∈ ≤ ≤> con , 1 i nn i i
  • D × D D Relazione R su … : un qualunque sottoinsieme di× 1 2 nD × 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
  • 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 DR(A: , B: , C: ) Domini in evidenza (normalmente siA B Csottintendono).

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

rR(X) con istanza

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

  1. Per ogni coppia tuple di = implica = (unicità) s, t r: s[K] t[K] s t proprietà di
  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 relazionale

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.

Linguaggi di 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

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 ra 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) rIn generale, la cardinalità di è minore o uguale a quella di (laY 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.

Si noti che il risultato ammette la possibilità che “per caso” la cardinalità non vari anche se Y non è superchiave.

Join naturale

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 rOgni tupla che compare nel risultato del join naturale di e , istanze1 1R X R Xrispettivamente di ( ) e ( ), è ottenuta come combinazione1 1 2 2r r(“match”) di una tupla di con una tupla di sulla base dell’uguaglianza1 2X Xdei 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 restremo è possibile che ogni tupla di si combini con ogni tupla di1r .2 ⋈r r rNe segue che la cardinalità del join, | |, è compresa tra 0 e | | * 1 2 1r| |.2 R X
  • Se il join è eseguito su una superchiave di ( ), allora ogni tupla di 1 1r rfa match con al massimo una tupla di , quindi2 1 ⋈¿ ∨≤∨r ∨¿r r .1 2 2
  • X X R X RSe è la chiave primaria di ( ) e foreign key in ( 1 2 1 1 2X ) (e quindi c’è un vincolo di integrità referenziale) allora2| |⋈r =¿ ∨¿r r .1 2 2

Join naturale e intersezione

Join naturale e intersezione =X XQuando le due relazioni hanno lo stesso schema ( ) allora due tuple1 2 fanno match se e solo se hanno lo stesso valore per tutti gli attributi, ovvero sono identiche, per cui:=X XSe il join naturale equivale all’intersezione delle due relazioni.1 2

Join naturale e prodotto cartesiano

Join naturale e prodotto Cartesiano =¿X XViceversa, quando non ci sono attributi in comune ( Ø), allora1 2 due tuple fanno sempre match, per cui:=¿X X RSe Ø il join naturale equivale al prodotto Cartesiano 1 2 1R .2

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

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 rSi noti che l’intersezione si può anche scrivere come: = – (1 2 1−rr ).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