vuoi
o PayPal
tutte le volte che vuoi
- DATI COMPLETAMENTE NON STRUTTURATI
- DATI SEMI-STRUTTURATI ✅
- DATI FORTEMENTE STRUTTURATI
Per introdurre le 3 tipologie di dati utilizzeremo 3 diversi Curricula
Vitae e faremo delle considerazioni:
- CURRICULUM VITAE IN TESTO LIBERO non dispone di alcuna
→
struttura
- CV IN FORMATO EUROPEO livello intermedio di strutturazione
→
- CV GIAPPONESE (RIREKISHO) strutturazione molto forte
→
UTILITÀ DELLA STRUTTURAZIONE
Una struttura dati facilita lo svolgimento di un compito: per esempio
se dovessimo selezionare 3 persone aventi tot requisiti su N possibili
candidati l’individuazione dei CV è favorita da una struttura dati,
inoltre gli strumenti informatici possono essere usati per estrarre
informazioni agevolmente da banche dati con una forte
strutturazione (es., la tabella dei cv, anche con dimensioni molto
maggiori)
Tuttavia è sempre importante ricordare che al cambiare del
compito/obiettivo/… la struttura dati deve essere modificata (per
esempio se il datore di lavoro chiede di aggiungere un altro
requisito)
Perché?
risposta: le strutture dati sono modelli
CHE COSA SONO I MODELLI?
Il modello è una rappresentazione ridotta e semplificata della
realtà, compiuta da un soggetto, che conserva gli aspetti più
significativi, utili per risolvere un problema od in generale per
raggiungere uno specifico obiettivo .
Gli aspetti salienti di questi modelli sono:
- Il soggetto che costruisce il modello
- Lo scopo del modello
- Cosa entra a far parte del modello e cosa no
SE ABBIAMO DUE CARTINE QUESTO È UN ESEMPIO DI
MODELLO
Take home message: gli strumenti informatici richiedono di
utilizzare strutture dati, la progettazione di una struttura dati è
fortemente influenzata dai processi (di alimentazione e uso dei dati)
CHE COSA SONO I PROCESSI?
Il processo ( detto anche business process). è un insieme di attività
tra loro collegate che vengono svolte all'interno di un’organizzazione
che creano valore trasformando delle risorse (input del processo) in
un prodotto finale (output del processo) a valore aggiunto•che è
destinato ad un soggetto interno o esterno all’organizzazione.
Un esempio di soggetto esterno beneficiario di un processo è quello
di un cliente di un’azienda
ELEMENTI DI UN PROCESSO:
Gli elementi importanti di un processo sono:
- gli attori : le persone coinvolte nel processo (direttamente o
indirettamente)
- gli obiettivi di :
• del processo
• degli attori coinvolti:
- Gli obiettivi degli attori possono essere
anche in contrasto tra loro
- Gli attori coinvolti possono avere obiettivi
non allineati con gli obiettivi del processo
(es., comportamenti opportunistici)
- Organizzazione
- ecc.
RICORDO : I processi, gli obiettivi e i dati si influenzano
reciprocamente
In sintesi si può parlare ciclo di vita del dato :
In questo i dati sono stati raccolti per soddisfare diversi obiettivi
dell’azienda ma poi sono stati usati per compiere delle diverse
analisi, in questo caso abbiamo un problema relativo alla qualità di
questi
LEZIONE 2-ONLINE
V1. Problemi legati alle strutture
In questa lezione vedremo alcune modalità con cui possono essere gestiti e
organizzati i dati, ed inoltre introdurremo alcuni termini e concetti che ci
accompagneranno per tutto il corso
Data Base:
È una collezione di dati organizzata, in genere sempre facendo riferimento a uno o
più obiettivi, che viene utilizzata per gestire delle informazioni in modo rapido, per
esempio attraverso strumenti informatici.
Osservazioni:
1. Nel linguaggio comune quando si parla di data base si pensa al software o al
mondo del informatica. In realtà quello che è l’elenco del telefono oppure la
guida TV ecc. sono esempi di data base. Quindi un data base non è per forza
un entità che ha a che fare con l’informatica o in generale con la lavorazione
automatica delle informazioni, ma un data base è una qualsiasi collezione di
dati
Database Management System (DBMS):
È un software per gestire una base di dati
Esempio: Oracle, MySQL, SQLServer, SQLite
Attenzione! Occorre stare attenti a non confondere DBMS con il termine Database
(DB).
Con il termine DB si fa riferimento ai dati mentre con il termine DBMS si fa
riferimento al software. Tuttavia fatta questa precisazione ormai nel linguaggio
comune si parla indifferentemente di DB e di DBMS e si fa riferimento sia ai dati
ma anche soprattutto al software per gestire i dati . Quindi in genere spesso
quando una persona parla di data base fa riferimento non solo ai dati ma anche
al software
Che cos’è un data base (DB) ?
È un insieme di dati organizzati in tabelle.
· Nel mondo dei data base relazionali le tabelle vengono chiamate anche
relazioni, quindi in altre parole nel mondo dei data base relazionali il termine
relazione è un sinonimo di tabella.
· Nel mondo dei data base relazionali ogni tabella è composta da attributi che
vengono chiamati anche campi o field ovvero quelle che nel linguaggio
comune vengono chiamate colonne di una tabella.
· Nel mondo dei data base relazionali le righe di una tabella vengono chiamate
tuple oppure record
· Un DBMS può gestire più DB [quindi più collezioni di tabelle]
contemporaneamente
V2. Chiavi primarie e chiavi esterne
Risposta alla domanda del prof
I problemi presenti nella tabella sono
1) il cognome Leonardo Da Vinci pur facendo riferimento alla stessa persona
è stato scritto in due modi diversi con e senza spazio.
2) Altro potenziale problema è ad esempio la cupola S.M del Fiore che è stata
scritta attraverso l’ausilio dei puntati ( di per sé questo non è un problema
però se una persona non ha una cultura sufficiente per riconoscere il
significato di S.M questo può diventare un problema)
3) un altro problema è che il cognome Merisi è stato scritto assieme al
soprannome Caravaggio.
Focalizziamoci sul primo problema: la causa di questo problema potrebbe essere
molteplice infatti potrebbe essere dovuto ad una disattenzione di chi ha
organizzato i dati oppure non sono state istruite adeguatamente
In realtà c’è un problema che viene prima, stiamo parlando di quelli che vengono
chiamati Root Cause Analysis (Analisi delle cause principali) infatti se io ho un
problema C se lo analizzo bene posso trovare che alla sua base c’è un altro
problema B che se venisse risolto risolveremo automaticamente anche il
problema C
In questo caso la Root Cause è la ripetizione dell’informazione
RIPETIZIONE DI INFORMAZIONI
In questo caso il problema è dovuto al fatto che io sono costretta a ripetere i dati
degli autori quando ci sono più opere dello stesso autore, e quindi quando lascio
spazio alla ripetizione di dati questo significa che lascio spazio anche a possibili
ripetizioni dell’errore
COME POSSO RISOLVERE I PROBLEMI LEGATI ALLE RIPETIZIONI?
Un database relazionale per memorizzare i dati tenderebbero a spezzare una
tabella in più tabelle distinte collegate tra loro, quindi avremo
DATI DISTRIBUITI SU PIÙ TABELLE che rappresentano le stesse informazioni che
sono contenute nella tabella di partenza, quindi:
1) prendiamo la tabella di partenza e separiamo i dati dell’autore ( che si
ripeteranno una sola volta) dalle opere e li colleghiamo con delle chiavi
2) focalizziamo la nostra attenzione su due attributi (colonne) il primo sarà il
Codice Autore della tabella autore che chiameremo CHIAVE PRIMARIA, e
un secondo attributo chiamato sempre codice autore nella tabella opera
che chiameremo CHIAVE ESTERNA
CHE COS'È UNA CHIAVE PRIMARIA?
è un attributo che permette di identificare univocamente una tupla(riga)
all’interno di una tabella
CHE COS'È UNA CHIAVE ESTERNA?
è un attributo che permette di identificare una tupla (riga) all’interno di un’altra
tabella diversa dalla prima (chiamata anche chiave esterna o foreign key o
chiave straniera)
DOMANDA
1) QUAL È LA CHIAVE PRIMARIA DELLA TABELLA AUTO?
TARGA
2) TRA GLI ATTRIBUTI AUTO.TARGA E MANUTENZIONE.TARGA QUAL È LA CHIAVE
PRIMARIA E QUALE QUELLA ESTERNA ?
Per poter rispondere alla domanda possiamo utilizzare un criterio molto
utile ossia vado ad osservare i valori duplicati:, questi infatti:
- non sono ammessi per la chiave primaria
- possibili (frequenti ) per la chiave esterna
PERCHÉ SECONDO ME NON CI SONO RIPETIZIONI NELLA CHIAVE PRIMARIA?
Ripetere più volte la stessa informazione può favorire l’insorgere di errori
• Stesso dato scritto in modo diverso
• Aggiornamenti non effettuati su tutte le copie
• Durante la cancellazione qualche copia potrebbe salvarsI
NORMALIZZAZIONE
La suddivisione della tabella di partenza nelle 2 tabelle (autori e opere) si chiama
normalizzazione.
• Sarà approfondita in seguito, nelle lezioni di progettazione dei DB
• La normalizzazione riduce la ripetizione di informazioni e quindi le possibili
cause di errore
Il ragionamento che c’è dietro è che se io minimizzo la ripetizione di informazioni
questo mi può portare nel tempo ad avere una maggiore organizzazione dei dati
quindi meno ripetizioni→ meno possibilità di fare errori
e inoltre se ci sono poche ripetizioni e rilevo qualche errore posso procedere alla
correzione dell’errore e aggiornare i miei dati
PRIMI PASSI PER COSTRUIRE UN INTERROGAZIONE: introduzione all’algebra
relazionale
INTERROGAZIONE DI UN DB
Per comprendere come si svolge l’interrogazione di un DB introduciamo l’algebra
relazionale dove il termine algebra è un modello matematico che descrive
operandi e operatori (può quindi essere vista come la descrizione di un insieme
di elementi e di un insieme di operazioni che possono essere applicate su questi
elementi)
In particolare l’algebra relazionale lavora su delle tabelle (operandi)
- Operandi: tabelle
mentre le operazioni che possono essere effettuate sulle tabelle (operatori)
nell’algebra relazionale sono quattro:
- Operatori: • Proiezione π (di base)
• Selezione (di base)
σ
• prodotto cartesiano x (di base)
• Join (combinazione degli operatori precedenti)
Combinando opportunamente gli operandi è possibile ricostruire l’unitarietà
dell’informazione che si perde spargendo i dati su tabelle distinte
OPERATORE D