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à.
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.
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