








Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Una introduzione alle basi dell'informatica, spiegando concetti come attributi, entità, relazioni e database. Vengono descritti attributi come caratteristiche di entità e relazioni, con esempi di dominio e tipi diversi come multiplo, opzionale e composito. Le entità e relazioni vengono rappresentate attraverso l'esempio di una tabella di impiegati e relazioni come 'recita'. Il documento conclude con una spiegazione di come identificare righe univocamente attraverso chiavi e il funzionamento di query select-from-where.
Typology: Slides
1 / 14
This page cannot be seen from the preview
Don't miss anything!









Modello Entità-Relazione (ER)
Le dipendenze funzionali sono utili per evitare dati non corretti all'interno del database. Ad esempio, potrebbe accadere nella vita reale che un uomo muore prima di nascere? Naturalmente no, quindi abbiamo che la data di nascita determina la data di morte, o data di nascita [freccia] data di morte. Come possiamo sapere se una dipendenza funzionale è soddisfatta nella nostra tabella? Verifichiamo che se due righe della tabella hanno lo stesso valore del determinante, devono avere lo stesso valore anche sui dipendenti Volo (Determinante) →Partenza (Dipendente) Abbiamo anche visto come identificare in modo univoco ogni riga di una tabella. Questo è fondamentale, perché possiamo avere due righe identiche ma abbiamo bisogno di trattarli in modo diverso! Una società può avere due o più dipendenti con lo stesso nome che hanno lo stesso stipendio. Quindi come possiamo distinguerli? Con un insieme speciale di attributi chiamato chiave. La chiave può essere uno o più attributi che ci permette di identificare in modo univoco ogni riga della tabella. ID= 1, MARIO ROSSI, 1200 ID= 2, MARIO ROSSI, 1200 In questo caso la chiave della tabella è l'attributo Id, creato per superare la mancanza di una chiave. Non è obbligatorio creare l'attributo id, poiché una tabella può già avere un attributo che può essere utilizzato come chiave. Un esempio è la matricola di uno studente, perché non ci saranno mai due studenti con la stessa matricola !!! Per assicurare l'identificazione delle righe di una tabella, la chiave deve essere un attributo il cui valore è sempre diverso tra tutte le righe della tabella. Abbiamo anche visto come rappresentare graficamente le entità e le relazioni. Ciò è possibile attraverso il linguaggio ER. Un esempio di raffigurazione di un entità è la seguente:
Esempio: Relazione che ci consente di conoscere dove vivono gli impiegati Questa relazione ha un grado pari a due, perché lega due entità (impiegato e città). Quindi, la relazione (cioè il diamante) non deve essere conteggiata nel rapporto. Ogni relazione ha un vincolo di cardinalità, che indica quante volte un oggetto nel database può essere coinvolto in una relazione. Questo esempio dice che ogni dipendente può risiedere in una sola città, e una città arbitraria può essere la residenza di qualsiasi numero di dipendenti. Quindi, in generale abbiamo che i vincoli di cardinalità sono scritti come (min,max) Dove min è il numero minimo di occorrenze e max è il numero massimo. I valori di min e max possono essere:
Esempi
Relazione Uno a Uno: In questo esempio, abbiamo una relazione tra la tabella Clienti e la tabella Indirizzi. Se ogni indirizzo può appartenere ad un solo cliente, questa relazione è "uno a uno". Solitamente questa relazione non è usata, perché è possibile aggiungere semplicemente una colonna (cioè un attributo) in una delle due tabelle e rimuovere la relazione. In questo caso, possiamo aggiungere direttamente l'attributo "indirizzo" all'interno della tabella Clienti. Cliente Cliente Cliente Indirizzo Indirizzo Indirizzo
Relazione Uno a Molti: Questo è il tipo di relazione più comunemente utilizzato. Prendi in considerazione un sito web di e- commerce, con le seguenti caratteristiche:
Infine, abbiamo visto 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. Come abbiamo visto, ci sono diverse persone coinvolte nella progettazione di un sistema: Cliente Esperto di Dominio Analista di Sistema Designer Sviluppatore Software Utente Finale Manutentore del sistema Esempio di come interagiscono: Il Comune XYZ intende automatizzare la gestione delle informazioni relative alle multe effettuate sul suo territorio. In particolare, intende dotare ogni poliziotto di un dispositivo portatile che gli consenta di comunicare al sistema informatico il veicolo a cui è stata fatta la multa, il luogo in cui è stata fatta l’infrazione e la sua natura. Il sistema informatico comunicherà per posta la multa al cittadino interessato. Il Comune annuncia una gara d'appalto per la costruzione e la manutenzione del sistema, che è stata vinta dalla società ABC. Cliente : Municipio XYZ Esperto di Dominio : funzionario del comune o altro esperto designato professionista del codice stradale Utente Finale : Poliziotti Analisti di sistema, sviluppatori software, manutentori : impiegati dell’azienda ABC Ci siamo concentrati sugli schemi concettuali, ovvero i diagrammi dei casi d'uso. Un caso d'uso è un insieme omogeneo di funzionalità a cui accede un insieme omogeneo di utenti. Esempio: Commessi Ikea che vogliono verificare se un prodotto è disponibile Insieme di utenti : commessi Ikea Funzionalità : verificare la disponibilità di un prodotto Come mostrato in precedenza, chi interagisce con il sistema si chiama Attore Cosa caratterizza un attore? Il 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.
Ecco come attori e casi d’uso sono rappresentati: Come rappresentiamo l’interazione fra un attore e un caso d’uso? Con una freccia
Abbiamo visto anche come specificare gli attori: In questo caso, A è un caso specifico dell’attore B In questo esempio, uno studente scontato è un caso speciale di studente 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: