Sei sulla pagina 1di 4

PARTE B

Sistema Informativo (permette di ricevere da parte dell’utente i dati) ≠ Sistema


Informatico (porzione automatizzata del sistema informativo che gestisce le informazioni
con tecnologia informatica; insieme delle procedure per estrarre le informazioni dei dati).

MODELLO E-R
Entità: un oggetto del mondo reale, che può essere concreta o astratta.
Relazioni: collegamenti tra 2 o più entità.
Attributi: sono delle proprietà delle entità che la identificano, sono gli stessi per ogni entità
di un entity set, sono ottenuti tramite l’analisi dei requisiti e sono definiti tramite un nome.
Hanno un dominio (insieme dei valori che un attributo può avere).
Vi sono più tipi di attributi:
- Semplici: possono assumere soltanto un valore, es. targa di un automobile
- Multipli: possono assumere più valori, es. la lista degli esami di uno studente
- Composti: è possibile scomporsi in più attributi, es. un indirizzo
- Opzionali: attributi che non sono obbligatori, es. la patente
Le entità e le relazioni si rappresentano attraverso tabelle, composta da ennuple (una
funzione che associa ad ogni attributo un elemento del suo dominio). Quindi un database è
l’insieme di entità e relazioni riguardo alla parte del mondo reale di cui vogliamo
memorizzare informazioni.
Una entità con un insieme di attributi è rappresentata con una tabella, nella quale:
- Le colonne sono gli attributi di (presi in qualsiasi ordine).
- Le righe sono le ennuple
I vincoli delle informazioni memorizzate in una ennupla sono le dipendenze funzionali e
si scrivono nel seguente modo: X→Y (X determina Y, dove X è il determinante e Y il
dipendente). Le dipendenze funzionali sono utili per evitare dati non corretti all’interno del
database.
Ci sono alcuni attributi che ci permettono di identificare in modo univoco entità e relazioni,
questi attributi speciali si chiamano Superchiave.
➔ superchiave: insieme di attributi in grado di determinare tutti gli attributi dell’entità;
tutti gli attributi dell’entità insieme sono superchiavi.
➔ chiave: insieme di attributi in grado di determinare tutti gli attributi dell’entità di
cardinalità minima (superchiave minima).
Il linguaggio ER ci consente di creare un modello del mondo reale, è un linguaggio grafico
e ci fornisce tutti gli elementi necessari alla progettazione. Le relazioni vengono
rappresentate con un rombo, esprimono la connessione tra due o più entità. Il numero di
entità coinvolte nella relazione è chiamato grado o arità.

CARDINALITA’: numero di elementi di un insieme.


VINCOLI DI CARDINALITA’: indica il numero di volte che un’ennupla è coinvolta in una
relazione, scrivendo i vincoli come (min,max) delle occorrenze. I valori di min e max possono
essere: min = 0 (non è obbligatorio); min = 1 (almeno 1); max = 1(al massimo 1); max = N
(senza limiti).
SQL (structured Query Language)
Linguaggio di interrogazione standard per interagire con un database basato sul modello
relazionale, con il quale creare, eliminare, aggiornare e inserire dati nelle tabelle.
Come possiamo chiedere informazioni a un database? Utilizzando il linguaggio SQL. In
dettaglio, abbiamo visto le seguenti operazioni:
1. Creazione di tabelle
2. Inserimento/eliminazione di righe
3. Operatori (select distinct, select count, like, order by, min,max,sum,avg)
4. Clausola select-from-where: ci consente di chiedere informazioni al database. In
dettaglio: select colonne della tabella che mi interessano; from Tabella a cui voglio
chiedere i dati; where condizioni che mi consentono di selezionare soltanto le righe
che voglio.
La procedura di richiesta informazioni si chiama Query. Inoltre, abbiamo visto come
eseguire query su più tabelle e il tipo di relazione tra le tabelle di un database, che sono:
- Relazione Uno a Uno: ogni indirizzo può appartenere ad un solo cliente (se
abbiamo una relazione tra la tabella Clienti e la tabella Indirizzi)
- Relazione Uno a Molti: nel caso in cui i clienti possono effettuare molti ordini e gli
ordini possono contenere molti elementi.
- Relazione Molti a Molti: nel caso in cui ogni ordine può contenere più elementi e
ogni elemento può anche essere in più ordini.
Per effettuare query su più tabelle, ogni tabella deve avere una chiave (perché possiamo
accedere ai dati all'interno di una tabella solo tramite la chiave).

UML
UML è un linguaggio standard per specificare, visualizzare, costruire e documentare sistemi.
È anche utilizzato nella creazione del database, per vedere come i diversi utenti
interagiranno con il sistema (nel nostro caso, come gli utenti chiederanno informazioni al
database). I diagrammi UML non sono fatti solo per gli sviluppatori ma anche per gli utenti
aziendali, le persone comuni e chiunque sia interessato a comprendere il sistema. Il sistema
non deve essere necessariamente software.
Ci sono diverse persone (attori) coinvolte nella progettazione di un sistema:
- Cliente
- Esperto di Dominio
- Analista di Sistema
- Designer
- Sviluppatore Software
- Utente Finale
- Manutentore del sistema
Un attore è caratterizzato dal ruolo che ha interagendo con il sistema. Lo stesso utente può
essere rappresentato da diversi attori (può avere diversi ruoli). Inoltre, diversi utenti possono
essere rappresentati dallo stesso attore.

CASO D’USO: un insieme omogeneo di funzionalità cui accede un insieme omogeneo di


utenti.
DIAGRAMMA DEI CASI D’USO: grafico in cui:
- i nodi sono attori e casi d’uso
- gli archi sono: la possibilità di un attore di invocare un caso d’uso, la possibilità per
un caso d’uso di invocare un altro caso d’uso, la generalizzazione tra attori e caso
d’uso.
ASSOCIAZIONE: Possibilità di un attore di accedere alla funzionalità di un caso d’uso.
INCLUSIONE: ogni volta che viene invocato il caso d’uso A, utilizza alcune funzionalità del
caso d’uso
ESTENSIONE: alcune funzionalità del caso d’uso A devono essere estese con alcune
funzionalità del caso d’uso B.

MACHINE LEARNING
Il Machine Learning (ML) insegna ai computer a fare ciò che viene naturale per gli esseri
umani e gli animali: imparare dall'esperienza. Gli algoritmi di apprendimento automatico
utilizzano metodi computazionali per "apprendere" le informazioni direttamente dai dati
senza basarsi su un'equazione predeterminata come modello. Gli algoritmi migliorano
adattivamente le loro prestazioni in quanto aumenta il numero di campioni disponibili per
l'apprendimento.
Applicazioni reali del ML:
- Finanza computazionale, per credit scoring e trading algoritmico
- Elaborazione delle immagini e visione artificiale, per il riconoscimento facciale, il
rilevamento del movimento e il rilevamento di oggetti
- Biologia computazionale, per il rilevamento di tumori, la scoperta di farmaci e il
sequenziamento del DNA
- Natural language processing

Un algoritmo di apprendimento supervisionato prende un insieme noto di dati di input e


risposte note ai dati (output) e forma un modello per generare previsioni ragionevoli per la
risposta ai nuovi dati.
Classi di algoritmi supervisionati:
- Le tecniche di classificazione prevedono risposte discrete, ad esempio se
un'e-mail è autentica o spam. I modelli di classificazione classificano i dati di input in
categorie. Le applicazioni tipiche includono imaging medico, riconoscimento vocale e
punteggio di credito.
- Le tecniche di regressione prevedono risposte continue, ad esempio variazioni di
temperatura o fluttuazioni della domanda di energia. Le applicazioni tipiche includono
la previsione del carico di elettricità e il trading algoritmico.
L'apprendimento non supervisionato trova modelli nascosti o strutture intrinseche nei dati.
È usato per trarre inferenze da set di dati costituiti soltanto da dati di input, senza risposte.
Il clustering è la tecnica di apprendimento non supervisionata più comune. Viene utilizzato
per trovare schemi di raggruppamento dei dati. Le applicazioni per il clustering includono
analisi della sequenza genica, ricerche di mercato e riconoscimento di oggetti.

Potrebbero piacerti anche