Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Informatica pacchetto B, Appunti di Sistemi Informatici

Argomenti trattati nelle slides di informatica nel pacchetto B

Tipologia: Appunti

2022/2023

Caricato il 12/07/2023

._francesca
._francesca 🇮🇹

4 documenti

1 / 18

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
Lezione 7 1
Lezione 7
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.
Sistema informativo
Permette all’utente di ottenere le informazioni. Deve essere più automatizzato possibile.
Le sue funzioni principali sono:
1. raccolta informazioni
2. Archiviazione e conservazione delle informazioni
3. elaborazione delle informazioni.
4. distribuzione delle informazioni.
Sistema informatico
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.
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12

Anteprima parziale del testo

Scarica Informatica pacchetto B e più Appunti in PDF di Sistemi Informatici solo su Docsity!

Lezione 7

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.

Sistema informativo

Permette all’utente di ottenere le informazioni. Deve essere più automatizzato possibile.

Le sue funzioni principali sono:

  1. raccolta informazioni
  2. Archiviazione e conservazione delle informazioni
  3. elaborazione delle informazioni.
  4. distribuzione delle informazioni.

Sistema informatico

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:

  1. Sottoinsieme proprio: se un sottoinsieme è strettamente contenuto in un altro
  2. Sottoinsieme improprio: l’insieme vuoto e l’insieme stesso

Cardinalità: è il numero di elementi di un insieme.

Attributo

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?

  1. Esiste un solo inizio e una sola fine per ogni regno di un sovrano.
  2. La fine di un regno non può essere prima del suo inizi

→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

Lezione 8

Modello ER, base dati,SQL, DBMS, struttura base dati.

→Per ogni tabella del database

  1. Tutte le righe devono avere lo stesso numero di attributi
  2. Ogni attributo deve contenere il minor numero di informazioni possibile
  3. Tutti i valori di un attributo sono dello stesso tipo e appartengono allo stesso dominio
  4. Per ogni entità deve essere sempre una chiave primaria.
  5. L’ordine delle righe non è importante.

Modello ER.

→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:

  1. Fare come le relazioni NN, creo tabella con riferimento sulle chiavi prese. Non efficace perchè tabella mantiene collegamento.
  2. Entità deboli, (grado 1) gli associo la chiave dell’entità forte. Come è possibile creare, eliminare, aggiornare e inserire i dati nelle tabelle del database? Con L’SQL,il linguaggio di riferimento per i database.. Come sono strutturati i dati? Livello logico : fornisce un modello logico dei dati. Ci permette di creare le tabelle che compongono la base dati. Livello esterno: tutto ciò che riguarda il modo in cui i dati vengono presentati all’utente.

Il linguaggio sql fornisce costrutti per operare ai livelli:

Logico:

  1. Data Definition Language (DDL) – per creare le strutture delle tabelle
  2. Data Manipulation Language (DML) – per chiedere e aggiornare informazioni nel DB External Level: – DDL per creare le viste

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?

  1. GUI (Interfaccia grafica)
  2. La scrittura di alcuni comandi

→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

  1. Dobbiamo avere una chiave per non ammettere righe duplicate in una tabella.
  2. La chiave serve anche nelle relazioni, dobbiamo poter collegare righe specifiche di tabelle specifiche.
  3. Dobbiamo definire una chiave per ogni tabella.

Domini

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:

  1. Il valore di ogni attributo di righe che soddisfano una condizione
  2. solo qualche attributo di tutte le righe

E` possibile ordinare i risultati della query utilizzando le parole order by

  • Operatori di Aggregazione:

È 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

  1. Operatore Count: conta il numero di righe che soddisfano le condizioni specificate. E` possibile utilizzare più operatori contemporaneamente count(*): numero di righe count(): numero di valori not null per l’attributo scelto (con duplicati) count(distinct ): numero di valori not null e distinti per l’attributo selezionato

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

  1. Studio di fattibilità e raccolta dei requisiti Costi e Benefici: ne vale la pena realizzare un sistema? Pianificazione delle attività: stilare documento in cui società si impegna ogni tot periodo a rilasciare qualcosa, una sorta di aggiornamento periodico. Identificazione dell’ambiente di sviluppo (hardware/software): analista del sistema identifica l’ambienta di sviluppo, cioè hardware e software che ha disposizione il cliente, eventualmente dire che sono o meno sufficienti, fornendo il miglior apporto costi benefici. Acquisizione dei requisiti:
  2. Analisi dei requisiti Cosa farà il sistema? Descrizione del dominio dell’applicazione attraverso schemi concettuali: schemi concettuali sono diagrammi UML. Si iniziano a scrivere i casi d’uso.
  3. Progettazione e implementazione Definizione dell’architettura di sistema: tramite diagrammi UML manipolare i moduli che mi serve per sviluppare, per far lavorare gruppi di sviluppo differenti. Scrittura del codice e documentazione: scrive il codice rispettando i moduli e redige dei documenti che esplicano le funzionalità. (anche ogni riga viene commentata)
  4. Verifica Il sistema agisce correttamente sull'input? Controllare se tutto quanto funziona.
  5. Manutenzione

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:

  1. La possibilità per un attore di invocare un caso d'uso
  2. La possibilità per un caso d'uso di invocare un altro caso d'uso
  3. La generalizzazione tra attori e caso d'uso

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

Machine Learning (molto importante)

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)

  1. L'apprendimento non supervisionato trova modelli nascosti o strutture intrinseche nei dati Tecniche di Clustering 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 ricerche di mercato e riconoscimento di oggetti. Algoritmo. (o apprendimento) supervisionato: sviluppa un modello predittivo basato sia sui dati input che output. Quindi prende un insieme noto di dati di input e la classe di appartenenza dei dati(output) e forma un modello per generare previsioni ragionevoli per la risposta ai nuovi dati. Le tecniche sono di classificazione e regressione.
  2. Le tecniche di classificazione prevedono risposte discrete. (una mail vera o spam.)
  3. Le tecniche di regressione prevedono risposte continue, ad esempio variazioni di temperatura o i flussi economici.

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.