










Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Argomenti trattati nelle slides di informatica nel pacchetto B
Tipologia: Appunti
1 / 18
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!











Sistema informativo, informatico, modello gestione informazioni e dati. Modello entità relazioni, insiemi, modelli entità-relazioni, attributo
Cos’è un database? Un posto in cui uno mette dei dati e garantisce di suo determinate procedure. è quindi una base dati serve a salvare le cose che servono, le informazioni di alcune istanze di un entità non di tutte. Gli attributi (colonna di ogni tabella )di ogni istanza (riga della tabella) sono legati tra loro) → 1 gigabytes: circa un video,
→Dato: qualche cosa di grezzo, una misurazione, qualcosa di salvato.
→Informazione:deve essere estratta dai dati, è un’analisi dei dati che ho salvato.
Non sono uno migliore di un altro.
Permette all’utente di ottenere le informazioni. Deve essere più automatizzato possibile.
Le sue funzioni principali sono:
Tutte le tecnologie che vengono utilizzate per gestire i dati, e anche i programmi, è quella porzione automatizzata del sistema informativo che gestisce le informazioni con tecnologia informatica.
→I dati prima venivano gestiti tramite i file, ma utilizzarli dava problemi: es, duplicare i file per ogni software che li utilizza, difficoltà di aggiornamento dei dati e incoerenza tra le varie copie dei dati.
Utilizzando un database limitano e permette la gestione l’incoerenza dei dati, gestendoli in modo centralizzato.
Quanti e quali sono i modelli che usiamo per gesitre le informazioni? Sono due. Modelli in Scala : fedele alla realtà ma in «versione ridotta» di un problema più grande già studiato Modello Astratto : rappresentazione formale delle caratteristiche delle idee che voglio salvare e i collegamenti che mi servono per rappresentare le informazioni.
→Cosa possiamo modellare?
Conoscenza Astratta : riguarda le informazioni che possediamo che ci sono state assegnate. (codice fiscale) Conoscenza concreta : le cose che effettivamente vogliamo rappresentare. (peso, altezza, colore occhi.) → Come modelliamo i dati?
Attraverso diversi modelli logici:
Gerarchico: ci sono diverse gerarchie dove i dati vengono gestiti in una struttura ad albero. Si parte da una radice e ci si muove verso le foglie. Grafi: I dati sono organizzati come grafi, Ottimo per associare i dati, Utile per i database che variano. I nodi possono essere connessi in modo uni o bidirezionale senza una vera e propria gerarchia. Relazione: Basato sulla teoria degli insiemi e sulla logica, favorisce l’indipendenza dei dati, ed è anche il più usato. Sono delle tabelle dove ci sono delle caratteristiche che mi interessano. Come si interagisce con le basi dati? Attraverso 4 linguaggi differenti: Data Definition Language: consente di operare sulla struttura del database
Gli elementi di un insieme non sono vincolati da una relazione d’ordine.
Esistono due tipi di sottoinsiemi:
Cardinalità: è il numero di elementi di un insieme.
Il suo dominio è l’insieme dei valori che il dominio può avere, esistono dei domini:
Semplici: possono assumere un valore. (targa macchina) Multipli (possono assumere più valori) es. lista esami. Composti: possibile scomporsi in più attributi. Opzionali; attributi che non sono obbligatori (patente.)
→Come rappresento entità e relazioni?
Hanno come titoli i nomi degli attributi.
Cos’è un ennupla? è una funzione che associa ad ogni attributo un elemento del suo dominio (è una riga di tabella) Cos’è una dipendenza funzionale?
→Le dipendenze funzionali permettono di identificare in modo univoco entità e relazioni.
Superchiave: un qualsiasi insieme di attributi in gradi di determinare gli altri atributi della mia entità. Tutte le tabelle hanno la superchiave Chiave: superchiave con il minor numero di attributi possibili, possibilmente
Modello ER, base dati,SQL, DBMS, struttura base dati.
→Per ogni tabella del database
→Il linguaggio ER è un linguaggio grafico, ci fornisce elementi necessari alla progettazione.
→Dati:
Nome dell’Entità I suoi attributi I tipi degli attributi Eventuali vincoli
→Ogni ennupla dell’entità ha:
Uno (e un solo) valore di tipo stringa per l’attributo Nome Uno (e un solo) valore di tipo intero per l’attributo Età , e deve essere maggiore di 0 Uno (e un solo) valore di tipo intero per l’attributo Stipendio , e deve essere maggiore di 0 Due ennuple possono esistere in un database a patto che ci sia la chiave.
→Attributi composti: graficamente si rappresentano con un cerchio dove è scritto l’attributo e le sottoparti.
Uno studente al minimo può aver sostenuto 0 esami. Uno studente al massimo mettiamo un N. Poi dal lato dell’esame: Quanti hanno passato questo esame? Al minimo 0, al massimo un qualsiasi numero di studenti.
→Le tabelle date da una relazione hanno sempre il riferimento alle chiavi dell’entità coinvolte nella relazione.
→Come si convertono i casi ad un N?
2 modi:
Il linguaggio sql fornisce costrutti per operare ai livelli:
Logico:
Tutte le base sono collegate con un software, chiamato Database Managment System, o DBMS, i cui compiti sono:
Controllare le autorizzazioni
Verificare l’integrità dei dati Interrogare e modificare il database (tramite SQL) I dati nel DBMS vengono chiamati record.
→ Come si interagisce con i DBMS?
→Generalmente è poossibile eseguire le stesse operazioni con ogni DBMS, che differiscono tra loro raramente perchè il core rimane lo stesso.
Come si creano le tabelle SQL? Creazione tabelle SQL: per creare la tabella si usa la parola create table, poi nome_tabella ( nome-attributo dominio [vincoli ], nome _attributo dominio [vincoli], [altri vincoli interni ], [Altri vincoli esterni ], ) Premo invio. Alla fine di ogni cosa che dichiaro metto la virgola Alla fine di tutto chiudo la tonda. Andare a capo per ogni istruzione che sto dando.
→I vincoli interni sono vincoli che riguardano la tabella in esame.
→I vincoli esterni fanno riferimento ad altre tabelle precedentemente create.
Vincoli
Praticamente invece, una base dati è formata da relazioni, l’ID di una tabella può essere coinvolto in relazioni, se elimino dalla tabella la riga che partecipa ad un’altra relazione creerei un buco.
Struttura interrogazione base dati: Chiamata select from where. Nel select dico quali attributi voglio che vengano portati nei risultati, di cui vogliamo conoscere il valore. Nel from: dico da quale tabella sto cercando gli attributi. Where: specifico determinate condizioni (spesso sulle chiavi). Taglio orizzontale: elimina le righe che non soddisfano le condizioni che mi interessano. Richiedere informazioni Si possono chiedere informazioni ad un DB utilizzando il comando select Come risultato si ottiene una tabella La procedura di richiesta informazioni si chiama Query Per ottenere solo una volta ogni riga che soddisfa la query, utilizziamo il comando select distinct, dove distint evita i doppioni, non si applica sul singolo attributo ma su tutta la riga. Se nel risultato ci sono righe uguali (e ci possono essere, perchè non è nella base dati ma è un ritaglio) allora distint mostra le righe una volta sola. NB: non posso avere due attributi con lo stesso nome, in caso di omonimia devo specificare la tabella
A volte vogliamo conoscere:
E` possibile ordinare i risultati della query utilizzando le parole order by
È possibile eseguire diverse operazioni nel campo select
Si chiamano operatori di aggregazione perché calcolano un singolo valore da tutte le tuple Il risultato è una tabella con una riga sola
-Altri operatori di aggregazione
sum(attributo): somma su valori numerici/temporali avg(attributo): media su valori numerici/temporali min(attributo): valore minimo su insiemi ordinabili max(attributo): valore minimo su insiemi ordinabili
Naturalmente, i data base complessi sono composti da centinaia di tabelle. Per interrogare un DB, dobbiamo conoscere le relazioni tra le sue tabelle. Richiamando I tipi di relazioni abbiamo:
Uno a uno Uno a molti : Questo è il tipo di relazione più comunemente utilizzato. Prendi in considerazione un sito web di ecommerce, con le seguenti caratteristiche: – I clienti possono effettuare molti ordini. – Gli ordini possono contenere molti elementi. In questi casi avremmo bisogno di creare relazioni «Uno a molti>> Molti a molti: In alcuni casi, potrebbe essere necessario istanze multiple su entrambi i lati della relazione. Ad esempio, ogni ordine può contenere più elementi. Ogni elemento può anche essere in più ordini. Per queste relazioni dobbiamo creare una tabella in più
Per interrogare le relazioni, ogni tabella deve avere una chiave. Questo è fondamentale perché possiamo accedere ai dati all'interno di una tabella solo tramite la chiave! La chiave più utilizzata: attributo chiamato id, che incrementa automaticamente ogni nuova riga.
Manutentore del sistema : chi si occupa di mantenere sempre funzionale ed aggiornato il mio sistema.
Ciclo di Vita del Sistema
→Alla fine di ogni passaggio, si può tornare insieme.
Controllo del sistema durante il suo funzionamento: il sistema deve essere sempre aggiornato. Aggiornamenti e fix del sistema: controllare se c’è qualcosa da migliorare.
→Schema dati: ER
→Schema Concettuale per Sistema: UML (ma ha anche una piccola porzione per gestire i database.)
Lo schema UML generalmente si utilizza per modellare i casi d’uso.
Cosa sono i casi d’uso?
Un insieme omogeneo di funzionalità cui accede un insieme omogeneo di utenti.
Come si modellano le interazioni?
Tramite i diagrammi dei casi d’uso, cioè grafici in cui:
-I nodi sono attori e casi d’uso
Gli archi sono:
→ L’associazione (nome dell’associazione è opzionale) indica la possibilità di accedere da un attore alla funzionalità di un caso d’uso. → Inclusione : indica che ogni volta che viene invocato il caso d’uso A utilizza funzionalità del caso d’uso B.
→ Estensione : indica che alcune funzionalità del caso d'uso A, in particolari circostanze, devono essere estese con alcune funzionalità del caso d’uso B.
Possiamo specificare casi di attore, lo stesso attore con proprietà aggiuntive. (studente che ha diritto ad uno sconto, una versione specializzata dello studente.)
Spiegazione di train e predict. Tutti gli algoritmi hanno bisogno di dati che devono essere forniti come input alla mia rete, vengono migliorati. Una volta ciò abbiamo la fase dell’estrazione delle feature, dove si estraggono le cose importanti da estrarre dall’input. Queste feature vengono utilizzate per allenare ( prendendo i vari input, estraendo le feature) un modello che permette poi di riconoscere. Vengono ottimizzati i parametri e si genera un modello addestrato. Addestrare un modello vuol dire trovare i pesi da associare alla vare features che sono state estratte. Una volta che abbiamo il modello addestrato, devo catturare nuovi dati, che passano attraverso la fase dell’estrazione feautres, passano attraverso il sistema dei pesi e il modello li associa in una categoria.
→Esistono due tipologie di Machine Learning
Algoritmo (o apprendimento) non supervisionato : raggruppa e interpreta i dati basandosi solo sui dati input. Quindi, prende degli input e basta. Si utilizzano
perchè costano di meno, non sempre è possibile avere informazioni aggiuntive. Una delle tecniche più utilizzate è l’argoritmo di clustering (di raggruppamento)
→ Quanti algoritmi di Machine learning ci sono?
Tanti e in continuo aumento perchè si tenta di creare nuove tipologie di reti che vengono specializzate che funziona meglio rispetto a quelle del passato.
Esempio di algoritmo non supervisionato: K-means Divide i dati in K cluster, vengono aggiunti uno per volta. Un dato viene associato ad un cluster in base alla sua distanza da esso In base a come vengono posti, cambia il risultato. → Caso reale: antenne radiomobili Esempio di algoritmo supervisionato:reti neurali.