Lezione 1 capitolo 1 - Sistemi informatici
Introduzione ai sistemi informativi
Per prima cosa è importante capire cosa sono i processi aziendali: “sequenza di attività finalizzate alla realizzazione di un prodotto o servizio che coinvolgere più risorse: materiali, persone, informazioni etc.”. Sistemi informativi complessi sono costituiti da più componenti e gestiscono più aree aziendali.
Informalmente, definiamo un sistema informativo come quell'insieme di informazioni gestite dal processo aziendale. Un sistema informativo è un sistema dedicato alla gestione delle informazioni durante tutto il loro ciclo di vita:
- Acquisizione
- Archiviazione
- Elaborazione
- Condivisione
Oggi l’informazione è un bene imprescindibile per le aziende, in quanto è di supporto per ogni genere (organizzativo, decisionale, pianificazione e controllo, ecc.) di attività aziendale. L’informazione è una risorsa che non viene consumata, anzi con il tempo tende a perfezionarsi e a diventare sempre più grande.
Componenti di un sistema informativo
Tra le componenti di un sistema informativo troviamo:
- Patrimonio di dati (È materia grezza grazie alla quale possiamo produrre l’informazione)
- Insieme di procedure (Procedure che servono per acquisire, trattare e produrre informazioni)
- Insieme risorse umane (Che svolgono le procedure)
- Insieme mezzi e strumenti (Per l’archiviazione ed il trattamento di informazioni)
Volendo definire più nel dettaglio un sistema informativo possiamo dire che: “Il sistema informativo è l’insieme delle componenti di un’organizzazione dedite all’acquisizione, elaborazione, memorizzazione, recupero, condivisione e trasmissione dell’informazione durante i processi aziendali”.
Un processo aziendale viene identificato da una sequenza di attività svolte all’interno di un’azienda e correlate tra loro nello spazio e nel tempo, per realizzare un risultato finale definito e misurabile, come un servizio o un bene, e tale da coinvolgere risorse umane, organizzative e informative.
Funzioni principali del sistema informativo
L’acquisizione è sicuramente la funzione principale. Acquisire un’informazione può, tramite opportune trasformazioni, generare un output che può essere di supporto ai processi decisionali. Fondamentale è memorizzare le informazioni: se perdessimo le informazioni avremo fatto un lavoro a vuoto e molti processi aziendali non sarebbero possibili. Esempio lampante sono i Social Media che sfruttano una base di dati che conserva ed elabora le foto e i post condivisi.
Distinzione tra sistema informativo e sistema informatico
Diverso è il sistema informatico (≠ sistema informativo) che è: Comprende: Hardware, Software, banche dati, sistemi di gestione, reti di comunicazione, etc.
Produzione dell'informazione
Come produrre un’informazione?
- REALTA' >> genera un cambiamento
- ACQUISIZIONE >> Le aziende acquisiscono le informazioni di solito tramite form, o comunque grazie a qualche procedura in fase di registrazione dell’utente.
- ELABORAZIONE >> Le informazioni devono essere rielaborate; la maggior parte delle applicazioni sono del tutto gratuite: Facebook, Instagram, Twitter, etc. Questo perché? Grazie ai dati che noi immettiamo nella piattaforma mettono insieme i dati che possono essere “rivenduti”.
Esempi di utilizzo delle basi di dati
Immaginate di essere un’azienda che ha raccolto i dati dei clienti, es. numeri di telefono possono vendere i numeri a un call center. Avendo tanti dati come nascita, luogo in cui si vive, etc. possono essere più focalizzati/targettizzati. I destinatari dei dati possono arricchire ancor più i dati così da avere una banca dati ancora più ampia.
Esempio per comprendere la distinzione: Un Comune vuole rilevare il livello di smog.
- Sistema informativo: Risorse Umane (dipendenti, sindaco, assessori), Mezzi e procedure per la produzione e gestione dell’informazione relativa all’inquinamento.
- Sistema informatico: Sono macchine hardware, programmi software e apparati di rete per il rilevamento del livello di smog utilizzata opportunamente da addetti alla rilevazione.
Dati e informazioni
≠ Dati Informazioni. Le informazioni devono essere aggregate secondo delle regole di trasmissione/codifica. Le informazioni sono disponibili sotto-forma di un insieme di dati memorizzati su apposito supporto. I dati devono essere opportunamente “interpretati” per dare luogo alle informazioni vere e proprie. Un’informazione non interpretabile non ha senso, devo sempre contestualizzarla.
Sia i dati grezzi che le regole per la loro interpretazione sono memorizzati sotto forma di dati e costituiscono pertanto il patrimonio informativo dell’azienda. Supponiamo di avere delle informazioni elementari - “ATTRIBUTO”.
- Nome cliente | Data | Titolo dell’oggetto | Prezzo | Cat. etc.
Ad ogni attributo dobbiamo assegnare un “TIPO” così da dare maggiori info a quella cosa.
- es. Stringa, Booleana, Data, Numero reale.
Ad esempio, il Codice Fiscale è un tipo di dato molto particolare, perché ha lunghezza fissa (16 car.) e numeri + lettere; quindi, devo impostarlo secondo criteri/regole precise.
Correlazione delle informazioni
Le informazioni grezze prese da sole non hanno senso, ma se iniziassi a dargli contesto, le informazioni assumono maggiore rilievo: es. 0818621161 è un numero a caso, se dicessi che sono numeri di telefono acquista rilevanza. Vincenzo Moscato è un nome a caso, se dicessi che è un docente lo contestualizzo, e posso collegare il numero al nome, etc.
Le informazioni elementari sono correlate logicamente tra di loro associando un'opportuna semantica ai legami: si ottengono così informazioni complesse.
Esempi di basi di dati
Possiamo trovare esempi di basi di dati ovunque nella vita di tutti i giorni:
- Supermercati (tramite i barcode dei prodotti)
- Pagamenti con carte di credito (c’è una connessione con un server che invia un impulso al server della banca che visualizza se abbiamo soldi e invia una risposta)
- Prenotazioni alberghiere (il sistema verifica la disponibilità)
- Assicurazione, iscrizioni, etc.
Tutte queste interazioni con le basi di dati richiedono:
- Uso di collezioni di dati
- Devono essere memorizzate in modo persistente, perché ad esempio se prenoto un albergo e la stanza è già occupata questa operazione deve essere tracciata per comunicarlo al cliente successivo
Definizione delle basi di dati
In conclusione, possiamo definire una base di dati come: “UNA BASE DI DATI È L’INSIEME DI INFORMAZIONI ASSOCIATE A COLLEZIONI DI DATI TRA LORO CORRELATI E DOTATI DI OPPORTUNA DESCRIZIONE”.
Si tratta di un unico e grande deposito di dati condiviso all’interno dell’azienda da tutte le sue applicazioni. La base di dati deve inoltre essere persistente, cioè con una vita molto più lunga delle procedure di gestione e deve consentire di lavorare sempre su uno stato consistente dei dati.
Descrizione e metadati
Per quanto riguarda la ‘descrizione’, è importante che si abbia una propria descrizione perché magari il progettista dei dati non lavorerà più per la nostra azienda, o se è necessario apportare delle modifiche: si parla infatti di un catalogo o dizionario contenente un insieme di dati detti metadati che servono a descrivere i dati stessi. I metadati devono essere costantemente aggiornati.
DBMS - Database Management System
Tutto questo è ottenuto mediante uno strato software detto DBMS che gestisce in maniera integrata tutti i dati garantendo l’esecuzione delle operazioni in maniera efficiente ed efficace.
Un DBMS è un insieme di programmi che permette di:
- Definire (Specificare tipi, strutture e vincoli sui dati)
- Manipolare (Inserire, cancellare, aggiornare, recuperare dati)
- Controllare (Controllare l’accesso ai dati garantendo protezione dai guasti e accessi indesiderati)
Esempio di gestione con DBMS
ESEMPIO: Gestione di una rubrica telefonica.
Posso farlo secondo un approccio tradizionale, in cui scriveremo su un’agenda tutti i nomi con i relativi numeri di fianco oppure creo un piccolo programmino in cui inserisco i nomi con i numeri, gli indirizzi, fax, etc. Secondo un approccio con DBMS possiamo inserire i dati e ricercarli usando delle operazioni di base, come SELECT, INSERT, DELETE, UPDATE. Utilizzando il DBMS posso dare l’accesso alla base di dati - cioè all’insieme delle informazioni del sistema - e al catalogo - per la consultazione dei metadati.
Architettura di un DBMS
Come è fatto un DBMS?
- Si parte dalla descrizione della realtà di interesse, che può essere più o meno complessa e dettagliata - significa che l’utente non necessariamente riesce a scrivere correttamente le specifiche, quindi nella descrizione del sistema dobbiamo essere attenti ad analizzare i requisiti che devono portarci alla descrizione logica (cioè l’insieme delle informazioni essenziali che devono comporre il nostro sistema).
- Dalla descrizione logica si passa poi a una descrizione fisica del DBMS.
Ad esempio, se sto organizzando un sistema per la segreteria e voglio che le informazioni di rilievo siano gli studenti, gli esami e i docenti; quale che sia il database e i sistemi sottostanti per la memorizzazione dei dati la descrizione logica deve essere sempre rispettata. Questa caratteristica è detta indipendenza logica e poi indipendenza fisica.
Indipendenza del DBMS
Mediante la definizione a livelli è possibile ottenere che le applicazioni siano indipendenti dal modo in cui i dati sono organizzati.
- Indipendenza logica dei dati: Attraverso il meccanismo delle viste, le applicazioni possono essere rese indipendenti dallo schema logico della base dei dati.
- Indipendenza fisica dei dati: Attraverso lo schema logico si è garantiti dalla differente implementazione fisica dei dati.
Esempio di schema logico: Sistema per una guida di ristoranti. Le informazioni che aspettiamo di trovarci sono quindi il “nome del ristorante”, il “tipo” di cucina che propone, l’“indirizzo”, il “quartiere”. Le informazioni sono tra loro correlate. Dalla correlazione possiamo trarre dei vantaggi. La correlazione avviene tramite quelle voci in grassetto, questo perché ci garantisce di avere un’informazione unica, non ridondante. Se non avessi separato per quartiere, codice, tipologia, avrei dovuto ri-inserire ogni volta lo stesso ristorante per ogni tipo di servizio/tipologia/pagamenti che offre.
Funzionalità del DBMS
Definire come i dati sono organizzati in informazioni attraverso un opportuno linguaggio di descrizione dei dati (DDL).
Interrogare e gestire i dati attraverso un opportuno linguaggio di manipolazione (DML).
Esempio di interrogazione di una base di dati relativa alle prenotazioni di biglietti ferroviari. Consultazione orari Treni NA-RO: Se non ci fosse un sistema informativo dovrei andare a consultare la carta degli orari (i fogli degli orari presenti in stazione). Grazie al sistema DBMS posso vedere nel dettaglio tutti i treni che fanno NA-RO, e applicare anche dei filtri, che mi dà come output i treni che vanno a RO in certi orari.
Transazioni nel DBMS
Il DBMS esegue particolari programmi detti TRANSAZIONI. “Una transazione è l’esecuzione di un programma utente in ambiente DBMS che costituisce sintatticamente e semanticamente un’unità atomica di modifiche “persistenti” fatte alla base di dati” (commit). Una transazione o termina in uno stato finale previsto dal programma o porta il sistema abort nello stato precedente all’inizio della transazione ( ).
Esempio: Se acquisto un jeans online, lo metto nel carrello e lo stock scende -1, poi decido di comprare altre cose e mantengo in stallo il carrello; nel frattempo, un altro utente acquista nello stesso tempo lo stesso jeans e lo compra subito, quindi nel mio carrello non c’è più il mio jeans o per lo meno pagherò un jeans che non ho!
Le operazioni nelle transazioni sono:
- Operazioni di interrogazione SELECT – Garantiscono l’atomicità in quanto non modificano lo stato della base dei dati
- Operazioni di INSERT – Inserire un nuovo oggetto nella BD
- Operazioni di UPDATE – Modificare un oggetto preesistente nella base di dati
- Operazioni di DELETE – Cancellare un oggetto all’interno della base di dati.
Caratteristiche del DBMS
- Controllare la ridondanza e la consistenza: Un approccio basato sul BD tende ad eliminare inutili duplicazioni dei dati (ridondanza). Si riduce il rischio di “inconsistenza”: se un dato è disponibile una sola volta nella BD una sua modifica risulta immediatamente disponibile a tutti.
- Condivisione: I dati sono condivisi da tutti gli utenti e da tutte le applicazioni.
- Integrità dei dati: Ci si riferisce alla consistenza e alla validità dei valori contenuti nella BD. Questo viene ottenuto facendo gestire dal DBMS le “modifiche” delle informazioni mediante opportune regole di vincolo.
- Gestione efficiente delle operazioni: Il DBMS dispone di funzionalità per l’esecuzione efficiente delle interrogazioni e degli aggiornamenti.
- Gestione della concorrenza: Come mostrato nell’esempio dei jeans: Il DBMS garantisce transazioni concorrenti sui dati senza interferenze reciproche.
- Affidabilità: Il DBMS dispone di funzionalità per il ripristino della base dati anche in caso di guasti o malfunzionamenti durante l’esecuzione delle transazioni.
- Sicurezza: Prevenire l’accesso ai dati da parte di utenti non autorizzati. Il DBMS consente di definire politiche di accesso ai dati per utente o per profilo di utente.
Lezione 2. Capitolo 2 – Il modello relazionale
Origine e successo del modello relazionale
Il modello relazionale nasce nel 1970 da E.F. Codd, che pubblicò un articolo di 10 pagine sulla prestigiosa rivista the Communications of the ACM. Il successo di questo modello fu decretato dal fatto che disponeva di un alto livello di astrazione e fu proposto per superare le limitazioni dei modelli precedenti, era inoltre caratterizzato da una elevata indipendenza dei dati, ma per avere una piena applicazione fu necessaria l’individuazione di un’implementazione efficiente e di un hardware adeguato.
Concetti fondamentali del modello relazionale
Il modello relazionale si basa su due concetti fondamentali, che lo hanno portato al successo:
- La Relazione: ovvero la definizione formale. È un concetto ereditato dalla teoria degli insiemi e ci consente di completare il modello con una teoria ben precisa.
- La Tabella: che è un concetto semplice ed intuitivo, fornisce una rappresentazione grafica dei dati di immediata comprensione ed è molto utile per comunicare con gli utenti.
Definizioni nel modello relazionale
Relazione - Dati n > 0 domini non necessariamente distinti (stringhe, caratteri, numeri interi e reali) D1, D2, ..., Dn. Una relazione matematica sui domini D è un sottoinsieme del prodotto cartesiano.
- r ⊆ D1 x D2 x ... x Dn
Nella teoria relazionale si fa un’ulteriore ipotesi: che i domini siano a “Valori Atomici” ossia non scomponibili in ulteriori sottoclassi.
Prodotto cartesiano e tupla
Prodotto Cartesiano - Supponiamo di avere il dominio A, composto da cuori, picche e smile, ed il dominio B, da saette e soli. Il prodotto cartesiano “A x B” è dato da tutte le possibili coppie, una relazione sul prodotto cartesiano è un sottoinsieme, quindi una relazione può essere vista come un insieme di ennuple ordinate.
t = (v1, v2, ..., vn) | v1 ∈ D1, v2 ∈ D2, ..., vn ∈ Dn. Ciascuna ennupla si chiama, nella terminologia relazionale, Tupla.
Il numero n, che indica quanti elementi sono presenti nella tupla, è detto grado del prodotto cartesiano e della relazione (nell’esempio 2). Il numero di tuple della relazione viene detto cardinalità della relazione (nell’esempio 3).
Esempio di relazione su domini
Es. Siano dati i seguenti domini:
- Codice = {001, 004, 005}
- Nome = {Mel, Pedro, Federico}
- Cognome = {Almodovar, Gibson, Fellini}
- Nazionalità = {Italia, Spagna, Australia}
Una relazione su questi domini sarà un sottoinsieme del prodotto cartesiano:
- r ⊆ Codice x Nome x Cognome x Nazionalità
Questo prodotto cartesiano avrà 81 elementi, quindi prendendo i sottoinsiemi di questo prodotto cartesiano possiamo avere svariate possibili relazioni:
- r1 = {(001, Pedro, Almodovar, Spagna)}
- r2 = {(001, Pedro, Almodovar, Spagna); (004, Mel, Gibson, Australia)}
Considerazioni sulle relazioni
Facciamo alcune considerazioni:
- Il valore di n (quantità di domini) è finito, poiché devo poter rappresentare in maniera finita le informazioni.
- La cardinalità dei domini (cioè quanti elementi posso avere all’interno del dominio) può essere considerata infinita, in quanto nel momento in cui si va a considerare la relazione si sceglie un sottoinsieme finito, si pensi ai cognomi delle persone.
- Inoltre può essere utile, talvolta, considerare che esista una ennupla non presente nella relazione.
I domini possono essere:
- Tutti dello stesso tipo
- Tutti di tipo diverso
- Non tutti dello stesso tipo
Proprietà di una relazione
1) Non è definito nessun ordinamento tra le tuple di una rela...
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
-
Technologies For Information Systems - Complete Notes
-
Appunti di Technologies for HVDC and HVAC transmission systems
-
Appunti di Information Systems for the Maintenance and Management
-
Schemi Information Systems