Sei sulla pagina 1di 99

L’INFORMATICA

Informa(ca —> Infor(ma,on) (auto)ma,que

è Cos’è l’informa(ca?
L’informa,ca è la scienza che studia l’elaborazione delle informazioni e le sue applicazioni: si occupa della
rappresentazione, dell’organizzazione e del tra3amento automa5co delle informazioni o , più
specificamente, dell’elaborazione di da, per mezzo di calcolatori eleEronici.
È una disciplina sia teorica che tecnica e nasce da più filoni di ricerca tra i quali la logica matema,ca, la
linguis,ca, la filosofia del linguaggio e l’ingegneria eleEronica

• Per conoscere l'informatica è indispensabile possedere delle nozioni tecniche perché gli
strumenti informatici non sono strumenti neutri
• Le operazioni dell'informatica e dei suoi strumenti non sono solo esecuzione meccanica di
calcoli, ma implicano una teoria
• Occorre conoscere la tecnica e la teoria sul funzionamento di tali strumenti per poterne
fare un uso critico
Negli ultimi anni l’informatica ha prodotto fenomeni di portata globale (internet in primis) che hanno
investito tutti i campi di attività̀ umana, lavorativa e di studio. L’informatica si occupa anche di
comunicazione ed entra in contatto con la rappresentazione e la gestione dei contenuti in molte forme

è L’ele0ronica
è la scienza che si occupa del componente fisico, dal semplice filo della corrente all’ hard-disk del computer,
alla chiaveEa USB o al nostro smartphone

è La cri0ografia
è la branca della criEologia che traEa delle "scriEure nascoste", ovvero dei metodi per rendere un
messaggio non comprensibile/intelligibile a persone non autorizzate a leggerlo, garantendo così, in chiave
moderna, il requisito di confidenzialità o riservatezza ,pico della sicurezza informa,ca

è Il Networking
è quella materia che permeEe il collegamento, la trasmissione di da, e informazioni tra disposi,vi -> fisica,
eleEromagne,smo

è Il Quantum compu(ng
sfruEa le leggi della meccanica quan,s,ca per risolvere problemi troppo complessi per i computer classici

è L’Intelligenza ar(ficiale
sviluppa sistemi informa,ci intelligen, in grado di simulare la capacità e il comportamento del pensiero
umano

è Il Natural Language Processing o elaborazione del linguaggio naturale


Sono algoritmi di intelligenza ar,ficiale in grado di analizzare, rappresentare e quindi comprendere il
linguaggio naturale. Le finalità possono variare dalla comprensione del contenuto, alla traduzione, fino alla
produzione di testo in modo autonomo a par,re da da, o documen, forni, in input

è ChatGPT
è chatbot basato su intelligenza ar,ficiale e apprendimento automa,co sviluppato da OpenAI specializzato
nella conversazione con un utente umano. La sigla GPT sta per Genera,ve Pre-trained Transformer, una
tecnologia nuova applicata al machine learning

IL DIGITAL DIVE
• È un fenomeno molto complesso dalle molte accezioni
• È un fenomeno sociale e culturale caratterizzato dal divario esistente fra chi ha accesso (società
avanzate) alle tecnologie dell’informazione e della comunicazione e chi ne è escluso ( società in cui
tali strumenti non sono disponibili) + divario culturale, fra chi conosce e usa gli strumenti
informatici (chi ha accesso a tali strumenti ha enormi vantaggi in termini di conoscenza e accesso
alle informazioni) e chi non può̀ o non sa utilizzarli
La cosiddetta alfabetizzazione informatica si riferisce appunto all’esigenza di formare le persone
all’uso degli strumenti tecnologici, come condizione fondamentale per ridurre il divario.
• Nella società̀ dell’informazione la conoscenza è potere, la disponibilità della tecnologia è una
condizione necessaria a non perdere il passo della società che ci circonda e a garantire un
soddisfacente ingresso nel mondo del lavoro
• Per analogia distinguiamo anche fra chi utilizza il calcolatore passivamente (anche il cellullare è un
calcolatore), avendone una conoscenza solo superficiale, e chi possiede una conoscenza critica e
tecnologica dello strumento. Questo tipo di conoscenze diventa lo strumento per avere più
opportunità e più mezzi a propria disposizione, sul piano culturale e sul piano professionale
• Esiste spesso un pregiudizio legato agli studi umanistici, ovvero l’idea che studiando le scienze
umane non sia necessario (e sia perfino negativo) coltivare interessi e conoscenze di carattere
scientifico o tecnico
• Vorremmo ribaltare tale pregiudizio e pensare alla propria formazione umanistica come un
vantaggio e non un limite nell’avvicinarsi all’informatica
• Un ruolo di mediazione culturale fra le discipline è la capacità di conoscere e produrre contenuti
essendo coscienti dell’impatto che su essi hanno le tecnologie dell’informatica.

Qual è il ruolo del mediatore?


Il mediatore favorisce la comprensione e la comunicazione tra individui, gruppi, organizzazioni e servizi
appartenenti alla propria cultura e quelli delle culture straniere di cui è competente

è Campi di applicazione

1) Nelle imprese e realtà aziendali -> contatti con estero, HR


2) Attività di ufficio
3) Campi di applicazione tradizionali delle conoscenze umanistiche: Il settore editoriale, per l’edizione
e la revisione dei testi
4) Le biblioteche, tradizionali e digitali, per l’archiviazione, la catalogazione e la fruizione di materiale
bibliografico
5) Nel turismo gestione dell’accoglienza
6) Nella Pubblica Amministrazione (PA) e servizi per il pubblico non solo italiano
7) La gestione e fruizione di immagini, dati, e materiale audio-video, per i musei,le rappresentazioni
virtuali, i cataloghi delle opere d’arte
8) Gli strumenti di ausilio allo studio dei testi e della lingua, i linguaggi di marcatura, l’analisi delle
occorrenze terminologiche
9) L’informatica giuridica
10) Social Networking, blog e comunicazione sociale
11) E-learning
CODIFICA DELL’INFORMAZIONE (lez2)

1)Per dato intendiamo la descrizione di una caraEeris,ca della realtà̀ cos,tuita da simboli, che ne
garan,scono la comprensione, e registrata su un supporto, che ne garan,sce la conservazione
2)Per informazione intendiamo invece l’interpretazione di un dato in grado di arricchire la nostra
conoscenza. L’informazione è un dato interpretato
3)Al dato è associato un contesto interpreta5vo che consente di comprendere il significato del dato
rispeEo alla sua funzione descrilva di una certa realtà̀

IL PROCESSO DI COMUNICAZIONE
È il processo che manipola l’informazione, l’informazione viene veicolata a3raverso un messaggio che due
a3ori si scambiano, la teoria dell’informazione studia la comunicazione rela,vamente agli aspel di
trasmissione di segnali
(Es: videoconferenza Teams, post su ig, esame orale)

La comunicazione: è il processo di trasferimento di un messaggio (informazione codificata), aEraverso un


mezzo trasmissivo (canale), da un sistema emiEente (sorgente) a un sistema ricevente (des,nazione). Gli
elemen, che concorrono al processo di comunicazione sono

1) La sorgente: produce il messaggio indirizzato alla des,nazione, o des,natario. Deve ideare e


progeEare il messaggio in modo che possa essere trasferito aEraverso un canale e recepito alla
des,nazione
2) Il trasmeFtore: trasforma il messaggio dalla forma con cui è generato dalla sorgente a forme
adaEe ad essere trasferite sul canale, ovvero generando segnali, variazioni di grandezze fisiche. Ad
esempio, il trasmeltore può trasformare il messaggio in vibrazione sonora che si propaga nell’aria,
come nel caso della comunicazione orale, oppure in un’onda eleEromagne,ca che si propaga
nell’etere o per mezzo di un canale dedicato, per esempio i cavi di fibra olca, come nel caso delle
telecomunicazioni
3) Il messaggio: è quanto viene trasferito nel processo di comunicazione.
- Spesso un messaggio non si olene da un singolo segnale ma dalla composizione, o
ar,colazione, di più segnali. Naturalmente è richiesto che i segnali possano essere trasmessi
aEraverso il canale e possano essere interpreta, correEamente dal des,natario.
Se il processo di comunicazione è efficace il messaggio veicola informazione.
4) Il canale: interagisce con i segnali che vi si propagano, conservandone di norma la forma ma
sovente introducendovi delle modifiche (a3enuazione, distorsione, interferenza dovuta a rumore)
che possono in alcuni casi compromeEere l’individuazione del messaggio.
Rappresenta l’elemento materiale della comunicazione perché e lo strumento che fisicamente
propaga il messaggio

5) Il ricevitore: trasforma il messaggio dalla forma con cui è trasmesso sul canale a una forma
interpretabile dal des,natario.
Ad esempio puo trasformare le vibrazioni sonore in fonemi, come nel caso della comunicazione
orale. Oppure un’onda eleEromagne,ca in segnali eleErici, come nel caso delle telecomunicazioni.
6) La des5nazione: è il soggeEo a cui è rivolta la comunicazione, deve essere in grado di interpretare il
messaggio e di associare ad esso un contenuto.
Se il processo di comunicazione e efficace il contenuto del messaggio fornisce informazione al
des,natario
LA CODIFICA
È quell’insieme di regole che definisce le corrispondenze tra messaggi e contenu,. Per ogni processo di
codifica e definito il processo inverso, o DECODIFICA, che permeEe invece di estrarre un contenuto
informa,vo da un messaggio codificato.
-il des,natario deve conoscere tul i possibili messaggi prima di interpretarli
-serve disporre di un segnale per ogni messaggio
-il numero di messaggi è finito e non può essere modificato dagli aEori della comunicazione
Un messaggio può infal essere oEenuto componendo più segnali. Nelle telecomunicazioni la composizione
e oEenuta aEraverso sequenze di segnali
Es: nel codice Morse due ,pi di segnale, suono lungo e suono corto, sono organizza, in sequenze per
codificare l’alfabeto inglese

IL CODICE
È dato da un insieme di simboli/segni, de3o anche alfabeto, e un insieme di regole con cui combinare i
segni in messaggi* validi, che infal possono essere anche riferi, come sequenze. I messaggi sono poi
messi in corrispondenza con dei contenu(

è Un codice con mol5 segnali dis5n5 comporta sequenze di composizione più semplici, come nel
caso della segnale,ca stradale
è Un codice con pochi segnali comporta sequenze di composizione più lunghe e quindi maggiore
sforzo di decodifica, come nel caso del codice Morse

I sistemi di scriEura fonografica (come gli alfabe, la,ni) cercano un compromesso tra ques, due aspel
definendo un numero ristreEo di simboli grafici (segnali) per i fonemi che poi sono compos, in sequenze
non troppo lunghe, per formare le parole.

A nessun segnale o simbolo può essere a3ribuito un contenuto senza conoscere il codice con il quale è
stato generato, questo rende la codifica intrinsecamente ambigua in quanto lo stesso segnale, lo stesso
simbolo o lo stesso messaggio, potrebbero appartenere a codifiche differen,. Per essere trasmessa e
tra3ata, l’informazione necessita di essere codificata, ovvero espressa a3raverso un sistema simbolico e
trasformata in messaggio. È la codifica che trasforma l’informazione (o piu informazioni) in un messaggio
La stessa informazione può essere codificata più volte: ad esempio si può prima trasformare l’informazione
in messaggio e successivamente il messaggio in segnale fisico

La stessa informazione può essere codificata in più modi (livello sintaFco)

La stessa codifica può rappresentare informazioni diverse (livello seman5co)

*IL MESSAGGIO
È una successione ordinata di segni , l’ordine è importante (es: messaggio IRTO è diverso dal messaggio
TRIO, pur essendo composto dagli stessi segni)

Es: codice GINO


Alfabeto: G, I, N, O
Regole: qualsiasi successione di 3 segni è valida (ogni messaggio deve essere composto da 3 segni)
Usando il codice GINO, quante informazioni diverse possiamo trasme3ere?
Il numero di informazioni è pari al numero di messaggi validi diversi che possiamo comporre con i segni a
disposizione —> ad esempio: GGN, GIN, GGG, GGI, IGG, etc.
La quan5tà di informazione dipende dal numero di segni dell’alfabeto e dalla lunghezza dei messaggi e
così via, per ognuno dei messaggi di lunghezza 2. Quindi se abbiamo 4 segni, a par,re da ogni messaggio
possiamo generare altri 4 messaggi aggiungendo al messaggio di partenza uno dei segni a disposizione

In generale, se abbiamo un codice di N segni e messaggi di lunghezza L, possiamo calcolare il numero I di


informazioni diverse che possiamo esprimere combinando fra loro gli N segni L volte

ES: nel caso di GINO abbiano 4 segni e messaggi di lunghezza 3. Possiamo allora combinare fra loro i 4 segni
3 volte, ovvero: I=4x4x4=43 =64
Possiamo esprimere questo ragionamento con una formula generale

Es: quante combinazioni diverse di 4 leEere si possono comporre con l’alfabeto italiano?
Dobbiamo trovare I sapendo che N=21 e L=4 —> quindi I = NL ovvero I = 214 = 194.481

1) CODIFICA DEI NUMERI


Codificare da5 numerici significa tradurre delle quan5tà̀ in successioni ordinate di simboli.
La rappresentazione decimale posizionale con cifre indo-arabiche è la più comunemente u,lizzata. Come
sappiamo si basa su un alfabeto di 10 simboli 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 organizza, secondo una notazione
posizionale. Questo significa che il significato delle cifre è modificato dalla posizione che assumono nel
messaggio

è A) SISTEMA POSIZIONALE
è un sistema di numerazione in cui i simboli (cifre), usa, per scrivere i numeri, assumono valori diversi a
seconda della posizione che occupano nella notazione. La prima cifra da destra esprime il numero delle
unità, la seconda quello delle decine, la terza quello delle cen5naia, la quarta quello delle migliaia, e
così via —> un numero espresso tramite notazione posizionale si legge da destra a sinistra
mol,plicando ogni cifra per una potenza crescente della base. Il numero rappresentato da ciascuna
cifra, in questo caso, è mol5plicato per una potenza di 10
Es: 2678 si legge: 2⋅10^3 +6⋅10^2 +7⋅10^1 +8⋅10^0 =2000+600+70+8=2678

è B) SISTEMA BINARIO
Il sistema binario, o sistema numerico binario, è un sistema di numerazione posizionale in base 2. A
differenza del sistema decimale (in base 10) le uniche cifre che compongono i numeri sono 0 ed 1, e
per tale mo,vo essi vengono de numeri binari
è C) NUMERI ESADECIMALI
Il sistema numerico esadecimale è un sistema numerico posizionale in base 16, cioè che u,lizza 16
simboli invece dei 10 del sistema numerico decimale tradizionale. Per l'esadecimale si usano in genere
simboli da 0 a 9 per le prime dieci cifre, e poi le le3ere da A a F per le successive sei cifre, per un totale
di 16 simboli
è 2) CODIFICA DELLE IMMAGINI
La codifica delle immagini si basa sulla rappresentazione dell’immagine come un insieme di pun, di
colore. A questo scopo, l’immagine viene suddivisa per mezzo di una griglia, deEa anche bitmap o
pixmap, in so3o-porzioni, deEe anche pixel (contrazione di picture element).
Il calcolatore visualizza l’immagine riproducendo i pixel che la compongono, maggiore è il numero di
pixel (risoluzione) e maggiore sarà la qualità̀ dell’immagine risultante.

LA RISOLUZIONE (lunghezza X larghezza)


La risoluzione di un’immagine è il numero di pixel in cui è divisa (immagine=griglia di pixel), se la
ingrandiamo sinora che ogni pixel ha un proprio colore.
Di solito è indicata aEraverso la mol5plicazione delle divisioni orizzontali per quelle ver5cali

Es: un’immagine con risoluzione 800x600 sarà̀ divisa in 480.000 pixel / un’immagine 1024x800 avrà̀
819.200 pixel

LA PRECISIONE (quan( colori può assumere un’immagine)


La precisione di un’immagine è espressa dal numero di bit usa5 per rappresentare ogni pixel (bpp) e
determina il numero di colori che l’immagine stessa può contenere. In base alla precisione le immagini
si possono classificare in
a) Immagini binarie, rappresentate da 1 bpp ( = 2 colori, 1 è nero, 0 è bianco), includono

fotografie in bianco e nero


b) Immagini computerizzate, rappresentate da 4 bpp (16 colori, 1=2 —> 2^4 (verde, nero, rosso e
bianco)=16), comprendono icone ma non immagini complesse

c) Immagini su scala di grigio, rappresentate da 8 bpp (256 colori, dal nero al bianco), questa
precisione non è ancora sufficiente per rappresentare fotografie o immagini scannerizzate

d) Immagini a colori , rappresentate da 16, 24 o più bpp (da 32.768 a 16.777.216 colori),
includono fotografie e immagini scannerizzate

Come si traduce un’immagine in BIT?


Per tradurre un’immagine in BIT occorre pensare a ogni pixel come a un punto di colore, se
associamo a ogni colore una codifica binaria, ogni pixel verrà̀ trasformato in una sequenza di BIT

Bianco e nero: Il caso più semplice è quello di un’immagine in bianco e nero: ogni pixel può avere
solo due colori, basta quindi un BIT per ogni pixel 0 indica il bianco 1 indica il nero

I colori, immagine RGB: peri colori si usano diversi standard, prendiamo in esame RGB (Red, Green,
Blue). In RGB il colore di ogni pixel è visto come una combinazione dei colori Rosso,Verde e Blu
(ogni colore può essere rappresentare tramite la combinazione di rosso, verde e blu). Per ogni
colore si possono avere 256 sfumature.
Il numero di colori diversi è quindi pari a 256x256x256 (circa 16 milioni)
Il numero di colori che un pixel può̀ avere determina il numero di BIT necessario a rappresentare un
pixel, ogni colore è una diversa informazione e il pixel è il messaggio.
Nelle immagini in RGB necessi,amo di 8 BIT per ogni colore, al contrario, nelle immagini in bianco e
nero, il numero di colori è 2 : basta un solo BIT (21) per ogni pixel

Immagine RGB: in questo caso il quarto valore rappresenta un valore di trasparenza (alpha channel), e
non contribuisce al numero complessivo di colori rappresentabili, ad esempio PNG è un formato che
supporta RGBA, mentre JPG solo RGB, quindi, non sopporta lo sfondo trasparente

FORMATI COMPLESSI
Esistono forma, di immagini che applicano tecniche di compressione dei da5 e perme3ono la
riduzione della quan5tà di bit necessari alla rappresentazione in forma digitale di un'informazione.
Comprimere un’immagine vuol dire cercare di alleggerire quest’ul5ma in modo tale da trasme3erla
più velocemente (+ è alta e + è difficile fare ciò)

I. CON PERDITA DI INFORMAZIONE (LOSSY)


Si sfruEano principi di percezione visiva, per eliminare parte di informazione non visibile (ad es.: soEo una
certa differenza, non percepiamo 2 colori come diversi). Possono comprimere molto l’immagine, ma non è
possibile ‘‘recuperare’’ l’informazione persa nel processo di compressione per al, valori di compressione,
si possono notare artefal.
Es: formato JPEG
Approssimando un colore ad un altro —> si approssima un colore simile a un altro —> tagliando questo
colore il risultato è la perdita di un’informazione (diventa o tuEa nera o tuEa azzurra, vedi immagine soEo)

II. SENZA PERDITA DI INFORMAZIONE (LOSSLESS)


Si basano sull’analisi delle sequenze di bit, per sfruEare ripe,zioni e ridondanza sta,s,ca. Possono
codificare una sequenza di N simboli uguali consecu5vi tramite una sola istanza del simbolo, più il
numero di ripe5zioni consecu5ve. Livello di compressione minore delle tecniche lossy, ma non si perde
nessun dato della sorgente originale
Es: formata PNG

Da questa immagine si conta il numero di elemen, di ciascun colore quindi scrivo quan, bianchi e neri ci
sono rispeEando la sequenza (avendo tuEe le informazioni posso estenderla —> ho solo codificato), quindi
sarà 3w, 4b, 9w, 2b, 2w, 6b, 5w, 2b e 5w

è 3) CODIFICA DEI VIDEO


Servono solo delle tecniche aggiun,ve per tener conto della sincronizzazione tra immagini e suoni, e
dell’eventuale compressione basata sull’idea di non descrivere tuF i pixel di ciascuna immagine, ma
di descrivere quella iniziale e poi di concentrarsi sulle differenze tra un’immagine e la successiva
(compressione migliore con fotogrammi molto simili, compressione peggiore con cambio di scena). I
video sono un insieme di immagini e suoni che cambiano nel tempo, quindi una frequenza di frame

è 4) CODIFICA DEL SUONO


Fisicamente un suono è rappresentato come un’onda che descrive la variazione della pressione
dell’aria nel tempo (onda sonora).
Sull’asse delle ascisse (X) viene posto il tempo t e sull’asse delle ordinate (Y) la variazione della
pressione corrispondente

Come codificare quest’onda che assume vari valori?


Poiché́ il suono è un fenomeno con,nuo e la rappresentazione digitale è discreta, si devono effe3uare dei
campionamen5 sull’onda (cioè si misura il valore dell’onda ad intervalli di tempo costan5).
La codifica dei suoni si basa sulla codifica delle onde che li producono, a sua volta basata su una
procedura chiamata campionamento. Il campionamento consiste nel considerare l’onda che cos5tuisce il
suono solo in determina5 istan5 temporali.
La sequenza dei valori numerici oEenuta dai campioni può̀ essere facilmente codificata poiché́ si traEa di
un’informazione numerica. Il numero di campioni raccol, per ogni secondo definisce la frequenza di
campionamento che si misura in Hertz (Hz).
La sequenza delle codifiche dei campioni cos,tuisce la codifica dell’intera informazione sonora
rappresentata dall’onda.
Non c’è un criterio universale per stabilire la distanza tra un campione e l’altro (o il suo inverso, noto come
“frequenza di campionamento”). È facile immaginare che a campioni più vicini tra di loro (frequenza di
campionamento maggiore) corrisponda una ricostruzione più fedele alla curva originale.

Anche nel caso delle codifiche di suoni e musica, ci sono metodi di compressione per sinte,zzarne la
descrizione. I famosi file MP3 si chiamano in questo modo perché prendono il nome da una specifica
tecnica di codifica dei suoni con compressione. Anche in questo contesto vi sono persone che affermano
che il suono di un MP3 su un computer non eguaglierà mai la qualità di un concerto dal vivo: è tuEa una
ques,one di approssimazioni
FOGLI DI CALCOLO (lez3)

Excel è uno spreadsheet. Consente di effeEuare calcoli e analisi sui da,, e rappresentare graficamente le
informazioni in vari ,pi di diagrammi.
Supporta l’utente nelle operazioni di:
-Modellazione di formule complesse
-Rappresentazione grafica avanzata
-Ordinare e filtrare elenchi di informazioni
-Importazione/esportazione per lo scambio di da, con database

•Composizione: celle disposte in 256 colonne e 65.536 righe


• Iden(fica(vi colonne: A…Z, AA…ZZ, BA…BZ, …, IA…IV
• Iden(fica(vi righe: 1…65.536
• Indirizzo di cella: combinazione di una leEera di colonna e di un numero di riga
• Inserire, rimuovere, scoprire, nascondere, ridimensionare righe e colonne

è Barra della formula


assiste l’utente nella creazione di funzioni. Si alva ad ogni immissione di da, in una cella
è Ges(one dei numeri
Excel usa automa,camente la notazione scien,fica per visualizzare i numeri troppo lunghi perché la
cella possa contenerli per intero. Se anche la notazione scien,fica è troppo estesa, il valore viene
sos,tuito con una serie di simboli di numero o cancelleEo. Oltre le 11 cifre, Excel converte il numero in
notazione scien,fica e regola la larghezza della colonna di conseguenza
è Ges(one del formato Testo
quando un numero deve essere interpretato come testo è sufficiente digitare un apostrofo prima del
numero
è Ges,one Date/Orari
Excel converte l’informazione in numero progressivo, indicante il tempo che separa la data o l’ora
dall’inizio del secolo. L’uso di ques, numeri progressivi permeEe al programma di effeEuare qualsiasi
calcolo sulle date e gli orari immessi. I numeri progressivi sono mantenu, in background dal
programma, che invece visualizza sul foglio le date e gli orari corrisponden, nel formato scelto

è Formato numerici
Menu formato/celle, scheda numero

è Orientamento del testo


orizzontale, ver,cale, o qualsiasi rotazione intermedia

è Bordi
vari ,pi di contorno da applicare alle celle
è La forma0azione automa(ca
applica i forma, predefini, ad un gruppo di da, dispos, in forma tabellare

è La forma0azione condizionale
monitora i da, immessi ed avver,re l’utente quando i valori digita, in un certo intervallo non
soddisfano i criteri imposta, precedentemente

LE FORMULE
sono equazioni che eseguono calcoli sui valori contenu, nel foglio di lavoro. È necessario che il primo
cara3ere della formula sia un segno di uguale (=)
-Ordine di priorità degli operatori: Elemen, fra parentesi – Potenze – Mol,plicazioni – Divisioni – Somme –
SoErazioni
-Calcolare il valore di un incremento del 10% per uno s,pendio di L. 2.000.000 1. In A2, digitare 2000000,
rialvare A2, cliccare sul pulsante Valuta 2. In B2, digitare il 10% 3. In C2, digitare =A2*B2

L’ERRORE #####
Si verifica quando la cella con,ene un numero, una data o un'ora che non rientra nella cella oppure quando
con,ene una formula di data e/o di ora che genera un risultato nega,vo
Correzioni:
•Ingrandimento della larghezza della colonna
• Applicare un formato numerico differente
• Accertarsi che le formule di data e di ora siano correEe

è Riferimento ad una cella: leEera della colonna seguita dal numero di riga
è Riferimento ad un intervallo: riferimento della prima cella nell’angolo superiore sinistro, seguito da
:, seguito dal riferimento della cella nell’angolo inferiore destra
Esempio: creare una formula semplice: =128+345
1) Fare clic sulla cella in cui si desidera immeEere la formula
2) Digitare = (segno di uguale)
3) ImmeEere la formula
4) Premere INVIO

è Formule predefinite per il calcolo di espressioni matema(che complesse


– Sintassi: =Funzione(arg1;arg2;…;argn)
• Categorie:
Finanziarie– Data e ora– Matema,che e trigonometriche– Sta,s,che– Ricerca e riferimento–
Database– Testo– Logiche– Informa,ve– Definite dall’utente

Esempi di funzione:
1) La funzione SOMMA
-fa la somma dei valori indica, tra parentesi
-e possibile sommare singoli valori, riferimen, o intervalli di celle, o una combinazione dei tre
ad esempio:
Ø =SOMMA(A2:A10) Somma i valori nelle celle A2:10
Ø =SOMMA(A2:A10; C2:C10) Somma i valori nelle celle A2:10, nonché nelle celle C2:C10

2) La funzione MEDIA
-fa la media aritme5ca dei valori indica, tra parentesi
Ad esempio, se il intervallo A1:A20 con,ene numeri, la formula=MEDIA(A1:A20) res,tuisce la media di
tali numeri
-MEDIA (num1; [num2]; ...)
Gli argomen, della sintassi della funzione MEDIA sono i seguen,:
Ø num1 Obbligatorio. Primo numero, riferimento di cella o intervallo di cui si desidera calcolare la
media
Ø num2; ... Facolta,vo. Altri numeri, riferimen, di cella o intervalli di cui si vuole oEenere la
media, fino a un massimo di 255

3) La funzione SE
-consente di eseguire confron5 logici tra un valore e un risultato previsto quindi un'istruzione SE può
avere due risulta,: il primo risultato si oFene se il confronto è Vero, il secondo se è Falso
Ad esempio, =SE(C2="Sì";1;2) significa: SE(C2 = Sì, allora res,tuisci 1, altrimen, res,tuisci 2)

4) La funzione CONTA.VALORI(val1; [val2]; ...)


Gli argomen, della sintassi della funzione CONTA.VALORI sono i seguen,
Ø valore1 Obbligatorio: primo argomento che rappresenta i valori che si desidera contare.
Ø valore2;... Facolta5vo: argomen, aggiun,vi che rappresentano i valori che si desidera contare,
fino a un massimo di 255 argomen,

5) La funzione CONTA.PIÙ.SE (intervallo_criteri1; criteri1; [intervallo_criteri2; criteri2]…)


Gli argomen, della sintassi della funzione CONTA.PIÙ.SE sono i seguen,:
Ø intervallo_criteri1 Obbligatorio: primo intervallo in cui valutare i criteri associa,
Ø criteri1 Obbligatorio: criteri in forma di numero, espressione, riferimento di cella o testo che
determinano quali celle verranno contate. I criteri possono essere espressi ad esempio come
32, ">32", B4, "mele" o "32"
Ø intervallo_criteri2; criteri2; ... Facolta5vi: ulteriori intervalli e criteri associa,. È consen,to un
massimo di 127 coppie intervallo/criteri

CREARE UN GRAFICO
• Selezionare i da, per il grafico
• SelezionareInserisci>Grafici consiglia,
• Nella schedaGrafici consiglia, selezionare un grafico per visualizzarlo in anteprima
• Nota: È possibile selezionare i da, da inserire nel grafico e premere ALT+F1 per creare il grafico
immediatamente, ma potrebbe non essere il grafico più adaEo per i da,. Se non si vede un grafico che
soddisfa le esigenze, selezionare la schedaTul i graficiper visualizzare tul i ,pi di grafico disponibili
• Selezionare un grafico
• Scegliere OK

LA GESTIONE DELLE INFORMAZIONI (lez4)

Informazione: tuEo ciò che produce variazioni nel patrimonio conosci,vo di un soggeEo, quindi, è
l’interpretazione di un dato in grado di arricchire la nostra conoscenza
Dato: si intende la descrizione di una caratteristica della realtà costituita da simboli, che ne garantiscono la
comprensione, e registrata su un supporto, che ne garantisce la conservazione
!!Al dato è associato un contesto interpreta5vo al fine di fornire informazione, nelle basi di dati relazionali,
il contesto interpretativo è inteso come una relazione che intercorre fra i dati
Esempio:
Se prendiamo in considerazione il valore 2005 scritto su un foglio, questo è un dato: siamo infatti in grado
di leggere e comprendere il valore 2005 e il foglio ne garantisce la conservazione. Tuttavia, non siamo in
grado di comprendere il significato del valore 2005, ovvero che cosa questo insieme di simboli rappresenti.
Per informazione intendiamo invece l'interpretazione di un dato in grado di arricchire la nostra
conoscenza: se il valore 2005 è associato a una descrizione come "Titolo: Be Cool - anno di produzione:
2005, allora siamo in presenza di un'informazione, ovvero di un dato interpretato

Base di dati
Lo svolgimento delle attività di un’organizzazione si fonda sulla disponibilità di informazioni e sulla capacità
di poterle gestire in maniera efficiente
Le attività di raccolta, organizzazione e conservazione dei dati costituiscono uno dei principali compiti dei
sistemi informatici
Una base di dati è una collezione di dati che rappresentano le informazioni relative a una realtà di
interesse (es: elenchi di utenze telefoniche, quotazioni azioni nei mercati telematici, elenchi dei C/C, elenco
iscritti facoltà universitarie) una base di dati rappresenta una certa realtà di interesse detta Universo del
Discorso. I dati contenuti devono sempre essere aggiornati per riflettere i cambiamenti che si verificano
nell’Universo del Discorso. I dati contenuti sono logicamente correlati e coerenti, non sono un assortimento
casuale di dati
Una base di dati viene creata per uno scopo specifico ed è usata uno o più gruppi di utenti e applicazioni.

SISTEMA DI GESTIONE DI BASI DI DATI (DBMS - Data Base Management System)


È un sistema software specificamente realizzato per supportare la definizione, costruzione, manipolazione
e condivisione di basi di dati. Uno degli obiettivi di un DBMS è proprio quello di fornire un contesto
interpretativo ai dati, in modo da consentire un uso efficace delle informazioni da essi rappresentate
è Componente intensionale: definire una base dati ovvero specificare i tipi, le strutture e i vincoli dei
dati che devono essere memorizzati nella base dati
è Componente estensionale: costruzione della base di dati ovvero popolare la base dati,
memorizzando i dati su un supporto di memorizzazione gestito dal DBMS

DBMS: DATABASE MANAGEMENT SYSTEM


E un sistema so…ware progeEato per consen,re la creazione, la manipolazione e l'interrogazione efficiente
di database. È ospitato su un’architeEura hardware dedicata oppure su semplice computer. In un DBMS i
da, sono archivia, in Tabelle. Nei database più diffusi, i da, sono «relazionari» e il DBMS permeEe di
specificare le relazioni tra le Tabelle per rappresentare le interconnessioni tra i da,

Cara3eris5che:
1) Ges(one della base di da(
Il DBMS deve permeEere operazioni di creazione, inserimento, aggiornamento e interrogazione della
base di da,, deve inoltre garan,re un accesso ai da5 a3raverso interfacce semplici e intui5ve (SQL)

2) Persistenza e consistenza
Il DBMS deve essere in grado di conservare inta3o il contenuto della base di da5 in caso di
malfunzionamento del sistema. Deve garan,re persistenza dei da, facendo fronte a situazioni di
inconsistenza dovute all’accesso concorrente in leEura/scriEura

3) Privacy e sicurezza
Ciascun utente, deve essere autorizzato a svolgere solo specificate azioni sui da5, per mezzo di specifici
meccanismi di autorizzazione

4) Supporto ale transazioni


Una transazione è una sequenza di operazioni effe3uate su una base di da5. Il DBMS deve pertanto
garan5re che tuEe le operazioni che compongono la transazione siano corre3amente e
completamente eseguite oppure che non ne sia eseguita alcuna

5) Integrità dei da(


L’ integrità va intesa in riferimento ai valori che i da5 possono assumere e in relazione alle
interdipendenze tra i da, appartenen, a differen, tabelle

6) Ges(one del diccionario dei da(


Il dizionario con,ene i metada5, ossia le informazioni che descrivono gli oggeF della base di da5. Gli
uten, autorizza, possono accedere ai metada, con le stesse modalità con cui operano per reperire i
da,

Funzioni:
1) Realizza in termini concreti un modello dati*
2) Fornisce una visione di alto livello attraverso un modello che nasconde i dettagli relativi alla
memorizzazione fisica
3) Permette la gestione di accessi – anche contemporanei – a utenti e applicazioni autorizzate
4) Garantisce la sicurezza dei dati
5) Permette di definire visioni personalizzate ai dati (viste)
6) Fornisce funzionalità di salvataggio e ripristino (backup e recovery)
7) Assicura la coerenza dei dati rispetto a dei vincoli di integrità definiti.

DIFFERENZA TRA FILE SYSTEM E DBMS


FILE SYSTEM DBMS

è un metodo per organizzare i la struttura della base di dati


file in un supporto di [DB] è memorizzata
memorizzazione come il disco separatamente dai
rigido: organizza i file e aiuta programmi nel catalogo
nel recupero dei file quando (indipendenza tra programmi
sono richiesti e dati)
I file system sono costituiti da la DB è condivisa da
diversi file raggruppati in molteplici programmi
cartelle applicativi (non vi è
ridondanza e inconsistenza)
le cartelle possono contenere una DB ha molti utenti,
altre cartelle e file, che a loro ciascuno dei quali può̀
volta possono avere strutture richiedere una diversa vista o
diverse prospettiva sui dati nella DB
il file system esegue un DBMS multiutente
operazioni di base come la assicura che applicazioni
gestione, la denominazione diverse che accedono
dei file, l'assegnazione di concorrentemente alla DB
regole di accesso operino correttamente
MODELLO DI DATI*:
-è un insieme di costrutti utilizzati per definire la struttura dei dati che caratterizzano la realtà di interesse a
cui si riferisce la base di dati in maniera comprensibile all’elaboratore
-è una notazione per specificare i dati tramite i costrutti del modello
-è un insieme di operazioni per interrogare e manipolare i dati secondo quel modello

L’uso di un modello dei dati nei DBMS è il mezzo attraverso il quale si realizza l’astrazione dei dati,
nascondendo agli utenti i dettagli sulla loro memorizzazione fisica. Qualsiasi modello dei dati deve trattare
due aspetti fondamentali:
• come rappresentare (gli insiemi di) oggetti del mondo reale e le loro caratteristiche
• come rappresentare i legami (o associazioni) fra oggetti

A) Modelli CONCETTUALI
Descrivono i dati in maniera indipendente dal modello logico scelto e vengono usati in fase di
progettazione
B) Modelli LOGICI
Descrivono i dati con strutture che riflettono una particolare organizzazione (es. tabellare) e sono usati
per l’effettiva implementazione della base di dati

C) Modello RELAZIONALE
Introdotto nel 1970 da E.F. Codd: è il modello più utilizzato. Ordina i dati in tabelle, note anche come
relazioni, ognuna delle quali è costituita da colonne e righe. Ogni colonna elenca un attributo
dell'entità in questione (es: prezzo, codice postale o data di nascita)
Insieme, gli attributi in una relazione sono chiamati dominio, un particolare attributo o combinazione
di attributi viene scelto come chiave primaria a cui è possibile fare riferimento in altre tabelle,
all’interno delle quali svolge il ruolo di chiave esterna

D) Modello GERARCHICO
Il modello gerarchico organizza i dati in una struttura ad albero, in cui ogni record ha un singolo
genitore (parent) o radice (root)
I record di pari livello sono ordinati in un ordine particolare, questo modello e utile per descrivere
molte relazioni del mondo reale
Questo modello è stato utilizzato principalmente dai sistemi di gestione delle informazioni di IBM negli
anni '60 e '70, ma oggi è raro a causa di alcune inefficienze operative

E) Modello RETICOLARE (network model)


Il modello reticolare si basa sul modello gerarchico consentendo relazioni molti-a- molti tra record
collegati, il che implica più record padre. Era più popolare negli anni '70 dopo essere stato formalmente
definito dalla Conference on Data Systems Languages (CODASYL)

F) Modello A OGGETTI (object-oriented)


Questo modello definisce un database come una raccolta di oggetti, o elementi software riutilizzabili,
con caratteristiche e metodi associati. Esistono diversi tipi di database orientati agli oggetti
Un database multimediale incorpora media, come le immagini, che non possono essere archiviati in un
database relazionale

SCHEMA E ISTANZA
è Schema
E La descrizione delle caratteristiche dei dati facendo uso di un modello dei dati costituisce lo schema
della base di dati
Lo schema fornisce una descrizione intensionale del contenuto della base di dati, è una descrizione
sostanzialmente invariante nel tempo
Cambiamenti allo schema si ritengono operazioni poco frequenti per adeguamenti; normalmente i
DBMS mettono a disposizione opportuni comandi per la modifica dello schema, il primo passo nello
sviluppo di una base di dati è rappresentato dalla definizione dello schema della base di dati
Esistono 3 tipi di schemi
• Schema LOGICO
fornisce una descrizione dell’intera BD vicina alla concettualizzazione della realtà per mezzo del
modello dei dati del DBMS utilizzato
Se consideriamo DBMS relazionali, possiamo considerare oggetti della realtà̀ come i libri facendo
riferimento a una tabella LIBRI, in cui le colonne rappresentano i vari attributi che caratterizzano i
libri e le righe che descrivono i diversi libri
• Schema FISICO
considera i record che descrivono i vari oggetti questi record sono memorizzati in file su supporto
fisico, è un livello gestito internamente al DBMS e nascosto all’utente finale
• Viste
sono schemi esterni mostrati a utenti diversi che contengono un sottoinsieme di tutti i dati
Gli utenti formulano delle richieste con riferimento allo schema logico e il DBMS traduce le richieste
in accessi a file di record nelle strutture fisiche di memorizzazione (es: I libri che hanno come autore
Gabriel Garcia Marquez; i libri con lingua originale italiano...)

è Istanza
L’insieme dei dati presente in un dato momento in una base di dati costituisce l’insieme delle istanze
(o stato) della base di dati: questa è la componente estensionale della base dati
L’insieme delle istanze è variabile nel tempo, ovvero cambia molto spesso nel tempo per riflettere
tutti gli aggiornamenti apportati (inserimenti, cancellazioni, modifiche)
Il DB ha uno stato corrente, il DBMS garantisce che, nei cambiamenti nel corso del tempo, ogni stato
sia valido, ovvero verifica la struttura e vincoli specificati nello schema
L’inserimento dei dati nella base di dati rappresenta il passo successivo nello sviluppo di una base di
dati
Possiamo vedere una base di dati gestita da un DBMS su tre livelli di astrazione, tramite diversi livelli di
astrazioni, il DBMS maschera dettagli implementativi, al fine di semplificare l’interazione di diversi tipi
di utenti con il sistema
1) Livello Logico
È il livello di astrazione rappresentato dal modello dei dati (e.g. dal modello relazionale). Associato al
livello logico abbiamo lo schema logico che fornisce una descrizione dell’intera base di dati per mezzo
del modello logico adottato dal DBMS
2) Livello Fisico
È il livello più basso di astrazione, quello interno del DB. Lo schema interno descrive come i dati
rappresentati nello schema logico sono memorizzati nelle strutture fisiche di memorizzazione
3) Livello delle viste
È il livello di astrazione più alto che permette di esporre agli utenti finali delle visioni (viste) parziali.
Vengono definite quando non tutti gli utenti hanno necessità di conoscere tutta la struttura completa
logica del database ma solo parti di effettivo interesse

Ci sono vari linguaggi per interagire con un DB tramite DBMS. In particolare due sono i linguaggi per
«costruire» un DB e per interrogarlo/aggiornarlo
• DDL (Data Definition Language)
Linguaggio per la definizione di schemi logici
• DML (Data Manipulation Language)
Linguaggio utilizzato per l’interrogazione e l’aggiornamento delle istanze della base di dati
ONTOLOGIE E ASTRAZIONI
è Ontologia
- Per Aristotele: metafisica, studio della conoscenza dell’essere in quanto tale
- Nel Medioevo diventa un concetto legato al problema di definire e rappresentare gli oggetti della
realtà in termini di generi (classi) e differenze specifiche (proprietà), e alla questione relativa
all’esistenza dei termini astratti o universali
- In tempi più recenti, Kant: l’interesse di sposta dal problema di conoscere la realtà in se a quello di
conoscere le categorie fondamentali con le quali la nostra mente conosce

L’ontologia è
• Un vocabolario condiviso ovvero un insieme di termini rappresentativi dei concetti e delle relazioni
che caratterizzano la realtà di interesse che l’ontologia si propone di descrivere per una comunità di
riferimento
• Un formalismo (o linguaggio) che consente di esprimere la concettualizzazione sotto forma di
concetti, proprietà, relazioni fra concetti, facendo uso dei termini del vocabolario
• Un insieme di regole per specificare, in modo non ambiguo ed esplicito, il significato dei concetti e
delle relazioni tra concetti e i vincoli di integrità che sussistono nella realtà di interesse

In sintesi, l’ontologia è una descrizione esplicita e formale della concettualizzazione di una realtà in
termini di
-concetti
-proprietà dei concetti
-relazioni semantiche fra concetti
Inoltre, un’ontologia definisce un vocabolario comune e un significato condiviso della realtà di
interesse per cui viene creata

è Astrazione
- Nella progettazione concettuale in generale, quindi nella definizione di una ontologia e nella
rappresentazione concettuale di una realtà di interesse, un meccanismo del pensiero di primaria
importanza è l’astrazione
- Per astrazione, in questo campo, intendiamo l’individuazione delle proprietà essenziali e comuni a
un insieme di oggetti, prescindendo dalle loro differenze
- In informatica, è alla base dei processi di definizione di basi di dati e di rappresentazione
dell’informazione e della conoscenza
Tipi di astrazione:
• Classificazione: definizione degli insiemi di oggetti individuando le proprietà caratterizzanti di
tali oggetti (es: insieme degli Scrittori = insieme delle persone che hanno scritto almeno un
libro)
• Aggregazione: una classe di oggetti è definita a partire dalle classi di oggetti che ne
costituiscono le parti (es: la classe dell’oggetto Libro = aggregazione di oggetti Indice, Capitolo,
Ringraziamenti, ecc)
• Generalizzazione: definizione di un concetto più generale a partire da concetti più specifici,
generalizzandone le proprietà comuni (es: concetto Scrittore e Traduttore -> ruoli diversi, ma
caratteristiche comuni (sono persone viventi). Posso generalizzare considerando il concetto più
generale di Persona, di cui entrambi sono membri)

BASI DI DATI RELAZIONALI (lez5)

1) Progettazione CONCETTUALE
Utilizzata per rappresentare i requisiti informali sulla realtà di interesse in termini di una
descrizione concettuale formale e completa (schema concettuale), indipendente dallo specifico
DBMS utilizzato per la gestione della BD
2) Progettazione LOGICA
Traduzione dello schema concettuale nel modello dei dati adottato dal DBMS scelto per la
gestione della BD
3) Progettazione FISICA
Lo schema logico viene completato con la specifica dei parametri fisici di memorizzazione dei dati
(organizzazione file e indici)
è Modelli CONCETTUALI
• Descrivono i dati in maniera indipendente dal modello logico scelto
• Usati in fase di progettazione

Modello ENTITÀ-RELAZIONE (ER)


Costrutti fondamentali
• Entità —> es: soggetto, compl ogg ecc
• Relazione (o associazione) —> i verbi
• Attributo —> caratterizzazioni di entità o relazioni
Altri costrutti
• Cardinalità (relazioni e attributi)
• Identificatori
• Gerarchie di generalizzazione

Il modello ER è adottato per la progettazione concettuale delle basi di dati

ENTITÀ
- Rappresenta una classe di oggetti aventi proprietà comuni ed esistenza “autonoma” ai fini
dell’applicazione di interesse (es. videogiochi multiplayer), un qualcuno che fa qualcosa di cui si
conservano le informazioni
- Oggetti con esistenza concreta (es. Giocatore) • Oggetti che esistono a livello virtuale (es.
Personaggio)
- Ogni tipo entità all’interno di uno schema ha un nome che la identifica univocamente ed è
rappresentato graficamente con un rettangolo

RELAZIONE
- Rappresenta un legame logico tra due o più tipi di entità̀, significativo per l’applicazione di interesse
- Es. «gestisce» tra Giocatore e Personaggio per rappresentare il fatto che un personaggio è legato al
giocatore che ne fa uso
- Una relazione R all’interno di uno schema ha un nome che la identifica univocamente e si
rappresenta con un rombo
Una relazione RICORSIVA è definita tra un tipo di entità̀ e se stessa: lo stesso tipo di entità̀ partecipa al
tipo di associazione con ruoli diversi
Es. Uno studente può fare da tutor ad un altro studente

ATTRIBUTO
- Descrive una proprietà elementare delle entità e delle relazioni
Es. nome, cognome, data di nascita, NON descrive lo studente ma una specifica proprietà di
quest’ultima
- Ogni entità o relazione possiede un valore per ciascuno dei suoi attributi
- Il valore di un attributo appartiene a un dominio dell’attributo che contiene i valori ammissibili
Es. nome e cognome hanno dominio stringa, data di nascita ha per dominio delle date

a) Gli attributi delle entità̀ rappresentano una caratteristica specifica del concetto rappresentato
dall’entità
b) Gli attributi delle relazioni rappresentano una caratteristica propria del legame fra le entità
(che è rappresentato dalla relazione)
CARDINALITÀ
- è il vincolo che esprime quante istanze di entità partecipano ad una relazione
- Vincolo di cardinalità minima mc. Numero minimo di istanze di relazione a cui un’istanza di entità
può partecipare
- Vincolo di cardinalità massima MC. Numero massimo di istanze di relazione a cui un’istanza di
entitàpuo partecipare
- «MC = N» indica che il limite massimo è un numero arbitrario
In base ai valori di cardinalità̀ massima MC si hanno le seguenti tipologie di relazioni binarie:
• 1:1 (Uno-a-uno): MC=1 per entrambe le entità̀

• 1:N (Uno-a-molti): MC = 1 per un’entità̀ e MC=N per l’altra

• N:N (Molti-a-molti): MC = N per entrambe le entità̀

IDENTIFICATORE o ATTRIBUTO CHIAVE


- Un identificatore o attributo chiave di un’entità E è una collezione di attributi e/o entità connesse
ad E che permettono di identificare univocamente le istanze di E
- Tipologie di identificatori:
• Interno
• Esterno
- Un attributo che identifica univocamente un’istanza è tale per cui non vi sono due o più istanze
caratterizzate dallo stesso valore per quell’attributo
Es. La matricola di uno studente all’interno dell’università
è Identificatore interno
Uno o più attributi di E sono sufficienti ad individuare un identificatore
• Semplice: un solo attributo (attributo chiave)
• Composto: più attributi (attributo chiave composto)

è Identificatore esterno
Uno o più attributi di E non sono sufficienti ad individuare un identificatore per E
E è detta entità̀ debole
Si utilizzano entità̀ con cui E ha un vincolo di dipendenza (es. si considerano tipi di associazioni
binarie a cui E partecipa con cardinalità̀ (1,1))

GENERALIZZAZIONE
Una entità E è una generalizzazione di E1, E2, ..., En, se ogni oggetto istanza di E1, E2, ..., En è
anche istanza di E
Si dice che E1, E2, ..., En sono specializzazioni di E
Si dice che E è padre di E1,E2,...,En e che E1,E2,...,En sono figlie di E

Meccanismo di ereditarietà̀ dalla entità̀ generalizzazione verso le entità̀ specializzazioni:


- Ogni proprietà̀ dell’entità padre (attributi, identificatori, relazioni e altre generalizzazioni) è anche
proprietà̀ delle entità̀ figlie
- Le proprietà̀ ereditate non vanno rappresentate esplicitamente
- Gli attributi comuni alle entità̀ figlie vanno rappresentati a livello di entità padre
- Gli attributi dell’entità padre non vanno riportati sulle entità̀ figlie in quanto queste li ereditano
è Modelli LOGICI
• Descrivono i dati con strutture che riflettono una particolare organizzazione (es. tabellare)
• Usati per l’effettiva implementazione della base di dati

Qual è la differenza con il modello ER?


ü Entrambi permettono di modellare entità del mondo reale
v Il modello ER si basa sui concetti di entità̀ e sulle relazioni che esistono tra istanze di tali
entità
Il modello relazionale si basa sul concetto matematico di relazione
v Il modello ER è più vicino al mondo reale
Il modello relazionale è più vicino al modo di organizzare i dati all’interno di un
elaboratore
v Si utilizza quindi il modello ER per modellare l’universo del discorso di interesse e poi si
effettua una traduzione nel modello relazionale per sviluppare sistemi efficienti per
gestire la rappresentazione dell’universo del discorso con l’elaboratore

MODELLO RELAZIONALE
- Proposto da E. F. Codd nel 1970 per favorire l’indipendenza dei dati e reso disponibile come
modello logico in DBMS reali nel 1981
- Si basa sul concetto matematico di relazione, che fornisce al modello una base teorica in grado di
dimostrare formalmente proprieta di dati e operazioni
- Le relazioni hanno una rappresentazione per mezzo di tabelle

VALORI NULLI
- Non sempre l’informazione necessaria in una tabella è disponibile
Assumiamo di considerare la relazione
UTENTE(email, nome, cognome, professione)

Il dato relativo alla professione può̀ essere assente per diverse ragioni:
• all’utente il dato non si applica (è per esempio troppo giovane per esercitare una professione)
• l’utente non vuole fornire questa informazione
• l’utente non ha una professione
- Il valore NULL rappresenta solo l’assenza di informazione, non un’informazione negativa
Non possiamo concludere che Bianchi non abbia una professione, ma solo che non sappiamo nulla
circa il rapporto fra Bianchi e le professioni

RELAZIONI FRA TABELLE


- In una base di dati relazionale, ogni oggetto reale è rappresentato da una tupla di una relazione
Il legame logico fra oggetti è dunque realizzato relazionando fra loro righe di tabelle diverse
Tutte le caratteristiche di un universo del discorso, compresi i legami logici fra gli oggetti che lo
compongono, sono rappresentate esclusivamente per mezzo dei valori che descrivono i singoli
oggetti
Gli attributi di una relazione che contengono riferimenti a un’altra relazione sono detti chiavi
esterne

• Relazioni fra tabelle (N: N)


Un personaggio è descritto da Personaggio (codice, nome, professione, emailGiocatore)
Ogni personaggio transita in una scena
Una scena è descritta dalla tupla Scena (codice, testo)

• Relazioni fra tabelle (I: N)


Un personaggio è descritto da Personaggio (codice, nome, professione, giocatore)
Ogni personaggio è gestito da un utente
Un utente è descritto dalla tupla Utente (email, Nome, Cognome, Professione)
Giocatore ed e-mail possono essere trattate come chiavi esterne

VINCOLI
- Sono l’’insieme di informazioni relative alla realtà di interesse deve essere coerente
- Per evitare che i dati inseriti nella base di dati generino incoerenze lo schema è arricchito con un
insieme di vincoli che i dati devono rispettare
- Il DBMS ha poi il compito di abilitare l’inserimento dei soli dati che rispettano i vincoli
- I vincoli del modello relazionale si possono distinguere in tre principali categorie:
1) vincoli di DOMINIO
- Riguardano i valori che si possono inserire in corrispondenza di un certo attributo della relazione
- Sono espressi da predicati che devono essere rispettati dai dati inseriti nelle relazioni
Rispetto all’esempio: (Eta>=18 AND Maggiorenne = Sì) AUT (Eta<18 AND Maggiorenne = No)

2) vincoli di CHIAVE
- Hanno l’obiettivo di garantire che gli oggetti rappresentati nella base di dati come righe nelle
tabelle siano sempre distinguibili l’uno dall’altro e univocamente identificabili

- Un insieme di attributi che combinati insieme assumono valori diversi per ogni riga è detto
superchiave

Superchiavi:
• Email,Nome,Cognome,Eta,Maggiorenne
• Tutti i sottoinsiemi che contengono E-mail
• Tutti i sottoinsiemi che contengono Nome e Cognome
Come chiave primaria è opportuno scegliere la chiave più piccola (E-mail)

3) vincoli di INTEGRITÀ REFERENZIALE


- I vincoli di integrità referenziale garantiscono che i legami logici fra righe di tabelle diverse siano
coerenti e che quindi sia sempre possibile, partendo da un dato, risalire ai dati di altre tabelle ad
esso legati
- Nel nostro esempio, i valori degli attributi Utente e Amico nella tabella Amicizia devono comparire
fra i valori dell’attributo E-mail della tabella Utente

-
- L’obiettivo della progettazione logica è la traduzione di uno schema ER in uno schema relazionale
- Il modello relazionale presenta un numero di costrutti minore rispetto al modello ER
- Occorre rispettare alcune regole di traduzione e procedere a una ristrutturazione dello schema ER
Per effettuare la traduzione è necessario individuare una soluzione per tutti i costrutti ER che non
hanno una traduzione naturale nel modello relazionale

ENTITÀ E ATTRIBUTI
• Un’entità rappresenta un insieme di oggetti della realtà di riferimento. Ha come naturale
traduzione una relazione dello schema relazionale, in cui le righe rappresenteranno i diversi
oggetti dell’entità (istanze)
• Gli attributi dell’entità divengono quindi attributi della relazione corrispondente all’entità

RELAZIONI
- Le relazioni del modello ER rappresentano un legame logico fra gli oggetti della realtà̀ di riferimento
Poiché ogni oggetto della realtà di riferimento diviene una riga nel modello relazionale, tali legami
vengono rappresentati ponendo in corrispondenza fra loro i valori di righe diverse di due o più
tabelle

• Relazioni N:N
- Se la relazione è molti a molti, si procede a creare una ulteriore tabella che rappresenta la
relazione stessa
Tale tabella sarà composta da due (o più) chiavi esterne, una per ogni entità coinvolta nella
relazione, e da tutti gli attributi della relazione
La chiave primaria della nuova relazione sarà poi composta dall’insieme di tutte le chiavi esterne
appena create

• Relazioni 1:N
- L’attributo della relazione (data creazione) segue la chiave esterna (utente)
- La chiave esterna è un campo aggiuntivo di ogni riga della tabella su cui viene posta. In quanto tale,
essa può contenere un solo valore per ogni riga
La chiave esterna va posta dal lato della relazione in cui compare come cardinalità massima il valore
1

GERARCHIE
- Per eliminare dallo schema ER le gerarchie di generalizzazione occorre rappresentarle per mezzo
delle sole entità e relazioni
- L’eliminazione può adottare una delle seguenti alternative:
1) Mantenimento della sola entità superclasse (entità madre)
Si mantiene solo la superclasse e si eliminano le sottoclassi
Ristrutturazioni sullo schema:
1. Aggiunta di un nuovo attributo TIPO sull’entità generica per mantenere la distinzione tra le varie
occorrenze dell’entità generica
2. Revisione delle cardinalità di associazioni/attributi definiti sulle entità sottoclasse (la cardinalità
minima diventa zero)
2) Mantenimento delle sole entità sottoclassi (entità figlie)
Si mantengono solo le sottoclassi e si elimina la superclasse
Ristrutturazioni sullo schema:
1. Ereditarietà esplicita di tutti gli attributi e associazioni della superclasse sulle sottoclassi
2. Non si alterano le cardinalità delle associazioni definite sulle sottoclassi

3) Mantenimento di tutti i tipi di entità


Si mantengono sia la superclasse sia le sottoclassi
Ristrutturazioni sullo schema:
1. Si definiscono associazioni ‘I:I’ esplicite tra la superclasse ed ogni sottoclasse per la
rappresentazione dei
2. legami ‘is-a’ della gerarchia
3. Le sottoclassi sono identificate esternamente dalla superclasse
4. Non si alterano le cardinalità delle associazioni preesistenti
è ALGEBRA RELAZIONALE
- Il modello relazionale comprende un linguaggio per l’interrogazione dei dati detto Algebra
Relazionale
- L’idea fondamentale dell’algebra relazionale è di definire un insieme di operazioni che, applicate a
una o più relazioni (tabelle) producano come risultato un’altra relazione, frutto dell’elaborazione
dei dati delle relazioni d’ingresso
- Le operazioni sono:
1) Proiezione
L’operazione algebrica di proiezione, data una relazione di ingresso, restituisce una relazione
contenente l’insieme delle colonne della relazione in ingresso limitate però ai soli valori di
particolari attributi
Intuitivamente, si può immaginare che la proiezione “sezioni verticalmente” una tabella
2) Selezione
La selezione restituisce una relazione composta dalle sole righe della relazione in ingresso che
rispettino una condizione di selezione
La condizione di selezione è espressa come un predicato composto da operazioni di confronto sui
singoli attributi, combinate fra loro per mezzo dei connettivi logici AND, OR e NOT. La condizione di
selezione viene valutata per ogni riga della tabella in ingresso: se essa risulta vera per la riga
esaminata, la riga viene inclusa nel risultato della selezione, altrimenti viene omessa.
Intuitivamente, si può immaginare che la selezione “sezioni orizzontalmente” una tabella
3) Operazioni Insiemistiche
Le operazioni insiemistiche sono operazioni dell’algebra relazionale che si applicano a due
relazioni e restituiscono una relazione
Perché a due relazioni sia applicabile un operatore insiemistico, esse devono essere compatibili
all’unione, ovvero:
• devono avere lo stesso grado (cioè lo stesso numero di attributi)
• i domini su cui sono definite devono essere gli stessi
• UNIONE

• DIFFERENZA

• INTERSEZIONE
4) Prodotto Cartesiano
In termini relazionali il prodotto cartesiano definisce una relazione che ha per schema l’insieme di
tutti gli attributi delle relazioni in ingresso e per righe tutte le possibili combinazioni fra le righe
delle due relazioni considerate
Il prodotto cartesiano in sé non è di grande utilità, poiché combina fra loro dati che non sono
correlati
5) Giunzione o Join
La natural join (giunzione naturale) è un operatore che correla i dati di due relazioni R e S sulla
base di valori uguali in attributi con lo stesso nome in R e S definiti sugli stessi domini
La relazione risultante:
• ha per attributi l’unione degli attributi delle relazioni di partenza
• le sue tuple sono ottenute selezionando le tuple delle relazioni con valori uguali negli attributi
comuni
è SQL
- SQL sta per Structured Query Language
- SQL è il linguaggio utilizzato dai DBMS per
1) creare e modificare lo schema delle basi di dati (DDL - Data Definition Language)
2) manipolare la base di dati (DML – Data Manipulation Language)
3) interrogare la basi di dati (DQL – Data Query Language)
4) creare e gestire strumenti di controllo e accesso ai dati (DCL – Data Control Language)
- SQL è costituito di operatori che hanno una corrispondenza con le operazioni algebriche
• CREAZIONE

• INSERIMENTO, MODIFICA E CANCELLAZIONE

• INTERROGAZIONE
La struttura generale di un’interrogazione SQL semplice è la seguente:
• ORDINAMENTO
Le tuple vengono ordinate secondo uno o più attributi specificati
ORDER BY Attributo [ASC | DESC] {, Attributo [ASC | DESC]} (default ASC)
• JOIN O GIUNZIONE
L’operazione di algebra lineare JOIN può essere eseguita anche dall’operatore SQL JOIN
Nel caso specifico si tratta di un INNER JOIN (se non si specifica si intende questo) che ha come risultato
l’intersezione tra le due tabelle
SQL mette a disposizione un insieme di operatori aggregati per calcolare valori aggregati a partire da
insiemi di tuple di relazioni
Ad esempio, l’età media dei personaggi non è una proprietà di una singola tupla ma può essere calcolato
attraverso il conteggio del numero di tuple Personaggio e della somma dei valori dell’attributo età
I principali operatori aggregati built-in SQL sono
• COUNT cardinalità
• SUM sommatoria
• MAX massimo
• MIN minimo
• AVG media
Prima si esegue l’interrogazione considerando le clausole FROM e WHERE della query. L’operatore
aggregato viene applicato al risultato ottenuto
Può sorgere l’esigenza di applicare gli operatori aggregati solo su raggruppamenti che verificano condizioni
date. In questo caso si applica la clausola HAVING che specifica una condizione su un gruppo di tuple
associata al valore degli attributi di raggruppamento
Le operazioni insiemistiche UNION, INTERSECT, EXCEPT sono state incorporate direttamente in SQL con le
clausole
• Default: eliminazione dei duplicati
• ALL: mantenimento dei duplicati nel risultato

Esempio: trovare le scene che non sono state attraversate da alcun personaggio
SELECT codice FROM scena
EXCEPT
SELECT scena FROM transito

BASI DI DATI SUL WEB (lez6)

Ciclo di vita dei dati


1) INGESTION
È la prima fase del ciclo di vita dei dati. Durante questo processo vengono mappate le sorgenti dei dati
e costruite le pipeline di acquisizione del dato

2) STORAGE
Durante la fase di archiviazione i dati vengono immagazzinati per essere poi letti e/o modificati in
seguito
Il focus della fase di archiviazione del ciclo vita dei dati è rendere i dati disponibili per la
trasformazione e l’analisi. Diversi fattori influenzano la scelta della strategia di archiviazione
Alcuni servizi di archiviazione sono fatti per contenere grandi quantità di dati, prendiamo ad esempio il
Database che sta dietro ai Social Network
a) Volume e velocità di accesso ai dati
i dati devono essere processati velocemente e bisogna eliminare il tempo di lettura/scrittura per
esempio il gaming online
b) Struttura dei dati
La variazione nella struttura dei dati è un’altra variabile da tenere in considerazione: ad esempio i
sensori di temperatura, umidita e pressione, non subiscono variazioni nella loro struttura dati.
Molte applicazioni che utilizzano i Database Relazionali hanno poca o nulla varianza della struttura
dei dati che immagazzinano
Database NoSQL come MongoDB e CouchDB, sono esempi di Database Documentali e sono da
preferire dove la varianza dei dati e alta.
c) Modalità di accesso e consultazione
L’accesso ai dati può essere diverso a seconda degli scenari d’uso. Quattro metriche da considerare
sono:
-Quanti dati sono letti un operazione di lettura
-Quanti dati sono letti un'operazione di scrittura
-Quanto spesso i dati sono letti
-Quanto spesso i dati sono scritti
d) Requisiti di sicurezza
Le soluzioni di archiviazione disponibili sul mercato hanno diversi livelli di controllo sull’accesso al
dato. Potrebbe essere necessario dare accesso solo ad un sotto-insieme dei dati presenti, quindi
bisogna considerare delle soluzioni che permettono tale livello di controllo. Un altro fattore
importante da considerare e la crittografia dei dati
3) PROCESS & ANALYSE
La fase di formattazione dati e analisi serve a trasformare i dati in formati pronti per essere usati da
altre applicazioni o per scopi di analisi, si ha quindi un processo di pulizia ed elaborazione
• Vengono individuate le caratteristiche del dataset, come la media e la deviazione standard
• Si cercano le correlazioni tra le variabili, come ad esempio il tipo di cliente ed il valore di transazione
medio per ordine
• Effettuare predizioni utilizzando modelli di regressione per stimare un attributo, basato sul valore di
un altro
• Applicare un algoritmo di clustering al dataset per ottenere gruppi di oggetti simili (es: le vendite in
un dataset possono essere raggruppate per dare indicazioni sul tipo di cliente)
4) EXPLORE & VISUALIZE
L’ ultima fase prevede l’analisi e l’esplorazione. Le informazioni vengono derivate dai dati grazie all’
utilizzo di grafici e altre tipologie di visualizzazioni

Strutture dei dati


1) Dati STRUTTURATI
I dati strutturati hanno un numero fisso di attributi e possono essere divisi in tabelle di righe e colonne,
dove le colonne sono attributi e le righe sono elementi

è Dati transazionali
- i dati vengono inseriti e aggiornati continuamente
- le interrogazioni restituiscono pochi record
- le operazioni vengono processate molto rapidamente
- esigenze di spazio ridotte
- i dati correnti devono essere gestiti con la massima sicurezza e affidabilità
è Dati analitici
- solitamente dati storici
- le interrogazioni di solito restituiscono di solito grandi molti di dati e utilizzano aggregazioni
- la sicurezza dei dati non è cruciale in quanto non è bloccante rispetto alla normale operatività
aziendale

2) Dati SEMI-STRUTTURATI
I dati semi-strutturati non seguono uno schema tabellare rigido, ma salvano le informazioni dello
schema dei dati insieme ad essi. Questo permette di aggiungere attributi a piacere senza dover
modificare lo schema stesso del database

è XML, JSON, HTML


- hanno una struttura definita ma lo schema dei dati non è definito a priori
- entità simili sono raggruppate insieme ed organizzate in gerarchie
- entità dello stesso gruppo possono non avere gli stessi attributi e o proprietà

3) Dati NON STRUTTURATI


La caratteristica principale dei dati non strutturati è che essi non hanno uno schema o un data model
definito

è TEST, AUDIO, VIDEO FILES


- i dati sono considerati non strutturati perché non hanno uno schema che influenza direttamente il
modo in cui i dati sono salvati o letti
- e da precisare infatti che essi possono avere una struttura interna ma non è rilevante per
l’archiviazione

Dati strutturati e semi strutturati hanno sempre uno schema associato ad essi
Lo schema dei dati influenza il modo in cui essi sono archiviati e letti, quindi la scelta della tecnologia
deve supportare questi due importanti fattori primari. In base alla loro struttura è possibile
generalizzare la seguente divisione:

DESIGN DEI DB NoSQL


Sono dati strutturati e semi strutturati che hanno sempre uno schema associato ad essi. Lo schema dei
dati influenza il modo in cui essi sono archiviati e letti; quindi, la scelta della tecnologia deve supportare
questi due importanti fattori primari
In base alla loro struttura è possibile generalizzare la seguente divisione

A) KEY-VALUE / DATABASE CHIAVE-LAVORO


I dati vengono immagazzinati mediante un semplice metodo chiave-valore
La chiave rappresenta un identificatore univoco. Le chiavi e i valori possono essere qualsiasi cosa, da un
oggetto semplice ad articolati oggetti composti
Supporta solo operazioni di lettura, inserimento e cancellazione

B) DOCUMENT database
Un database di documenti supporta strutture complesse chiamate documenti (ad esempio documenti
di tipo JSON ed organizzati in collezioni. La natura gerarchica, semi-strutturata e flessibile dei
documenti e dei database dei documenti, gli permette di evolversi in base alle esigenze delle
applicazioni. I campi vengono raggruppati e innestati in modo da essere letti insieme

C) WIDE COLUMN DATABASE


A differenza dei database orientati alle righe (DBMS) i database a colonna sono orientati alle colonne
Ogni colonna rappresenta una voce: i dati relativi a ciascuna voce sono disposti uno sotto l’altro (e non
uno accanto all’altro come nella variante orientata alle righe), sul disco rigido, i dati si presentano
monodimensionali e vengono, dunque, rappresentati consecutivamente

D) GRAPH DATABASE
Sono progettati appositamente per l’archiviazione e la navigazione di relazione. I database a grafo
usano i nodi per archiviare le entità di dati e gli archi (edges) per archiviare le relazioni tra le entità
Un grafo in un database a grafo può essere attraversato su tipi di archi specifici o sull'intero grafo. In un
database a grafo, attraversare i collegamenti o le relazioni è veloce perché le relazioni sono già
memorizzate
RETI DI CALCOLATORI (lez7)

Quando furono inventati, i computer non comunicavano tra loro.


I primi computer, che occupavano intere stanze, si programmavano perforando schede di cartoncino che
erano poi lette da un apposito dispositivo ottico. Ogni elaboratore era isolato dagli altri e non esisteva alcun
tipo di comunicazione tra i diversi dispositivi.
Con il tempo si sviluppa l'esigenza della comunicazione tra dispositivi

La diffusione dei dispositivi elettronici e le loro dimensioni sempre più ridotte ha fatto crescere nel tempo
l'esigenza di farli comunicare tra loro. Gli utenti, sempre più numerosi, avevano bisogno di condividere
risorse hardware (come stampanti e dischi rigidi ad alta capacità) e software (come database e altri
programmi specifici)

Internet connette tra loro miliardi di dispositivi in tutto il mondo.


Oltre agli smartphone, ai tablet e ai personal computer, oggi si connettono a Internet dispositivi come
smartTV, orologi, navigatori satellitari e videocamere di sorveglianza. Nel futuro è destinato a svilupparsi
sempre più l’Internet delle cose o IoT(Internet of Things), cioè il collegamento in Rete di oggetti di ogni
genere, dall’automobile alle scarpe da corsa, tutti dotati di chip e modem insieme a videocamere e altri
sensori

RETE DI CALCOLATORI (computer network): è costituita da un insieme di calcolatori autonomi interconnessi


tra di loro per comunicare e condividere dati e risorse.
NODO: è un singolo elemento connesso dalla rete
INTERCONNESSIONE: permette agli utenti
▪ la condivisione di risorse (dati aziendali, stampanti, ...)
▪ l’accesso a informazioni remote (World Wide Web)
▪ la comunicazione con altre persone (email, chat,...)
▪ l’accesso a contenuti multimediali e/o interattivi (streaming di musica e video, videogiochi)

La connessione tra i calcolatori si basa su:


• Il mezzo trasmissivo: ha il compito di trasportare i dati, sotto forma di segnali elettrici o elettromagnetici,
dal dispositivo mittente a quello di destinazione
• I dispositivi HW specifici: permettano l’invio e la ricezione dei dati da parte dei calcolatori
• I protocolli SW: dedicati alla preparazione, controllo e gestione della comunicazione
Le connessioni tra calcolatori possono essere
1) cablate
• cavo telefonico (doppino)
• cavo coassiale →segnale elettrico
• fibra ottica →segnale ottico
2) senza fili
• connessioni Wi-Fi
• satellitari
• rete telefonica →segnale elettromagnetico

Diversi mezzi di trasmissione sono spesso combinati assieme. Per esempio, soluzioni FixedWireless
Access (FWA) fibra fino a una stazione di trasmissione, poi trasmissione senza fili dell’ultimo miglio fino
all’utente

LA SCHEDA DI RETE: è il dispositivo HW che si collega al mezzo trasmissivo con un connettore di rete.
La scheda di rete codifica i segnali in uscita e li immette sul mezzo trasmissivo. In ricezione, viceversa, la
scheda preleva i segnali dal mezzo e li decodifica. La scheda di rete si collega fisicamente al mezzo
trasmissivo tramite un connettore di rete, che ha forma e caratteristiche standard
Altri dispositivi HW sono esterni ai calcolatori
• Modem
• Router
• Access Point
In ambito locale e/o domestico, sono spesso accorpati in un unico dispositivo
La scheda di rete è gestita da componenti software che risiedono nel sistema operativo del computer e
che implementano i protocolli di comunicazione --> I protocolli di comunicazione sono le regole
condivise tra i dispositivi in rete. Senza regole condivise i dispositivi non potrebbero comunicare tra
loro, come accadrebbe in una telefonata tra persone che non parlano la stessa lingua

Le reti si possono classificare in base alla loro topologia. Ogni dispositivo che fa parte di una rete, per
esempio un personal computer, uno smartphone o una stampante, è un nodo o stazione o host della
rete.
Le reti si possono classificare in base alla loro
• TOPOLOGIA, cioè alla collocazione geometrica delle stazioni rispetto al mezzo trasmissivo della
rete: i dispositivi si possono collegare ad anello, a bus comune, a stella o ad albero e infine a mesh
1) AD ANELLO / token ring
Le connessioni tra i dispositivi sono organizzate in modo da formare un anello chiuso.
Ogni stazione riceve bit dalla stazione precedente e li passa alla successiva, agendo da ripetitore
I bit possono essere un messaggio o un token, il «gettone» usato come testimone.
Soltanto la stazione destinataria acquisisce una copia del messaggio, ma lo rimbalza comunque alla
stazione successiva. Quando la stazione che aveva trasmesso il messaggio lo vede ritornare dopo un
giro intero dell’anello, rimette in circolo il token, che può così essere raccolto da un’altra stazione in
attesa di trasmettere
La scalabilità è problematica e, in più, un guasto ad un solo nodo può far cadere tutta la rete

2) A BUS COMUNE
Nelle reti a bus comune ogni dispositivo è collegato a un cavo condiviso. Tutte le stazioni sono
collegate al bus con un transceiver (transmitter-receiver) e ricevono il medesimo segnale. Per evitare
collisioni tra i pacchetti si devono stabilire regole di gestione dell’accesso al bus, ossia decidere quale
dispositivo abbia il diritto di trasmettere in ogni dato istante.
Nelle reti a bus esiste un canale unico (dorsale o backbone) a cui sono collegati tutti i calcolatori. I
pacchetti di dati vengono ricevuti da tutti i nodi, ma i nodi non destinatari ignoreranno i messaggi
ricevuti
Sono facili da creare (+ è necessario meno cablaggio)
Sono scalabili alta scalabilità
Un guasto di un nodo non è critico perché gli altri nodi rimangono operativi mentre un guasto alla
dorsale porta alla caduta di tutta la rete
È necessario gestire l’utilizzo del canale condiviso

3) A STELLA
Le reti a stella prevedono un dispositivo centrale, chiamato switch, con numerose porte a cui sono
connesse direttamente tutte le stazioni. Ogni stazione può comunicare con ogni altra attraverso un
cammino che passa per il dispositivo centrale. Lo switch agisce da commutatore, cioè ha la funzione di
smistare i pacchetti alla stazione corretta: riceve un pacchetto in una delle sue porte e sceglie la
corretta porta di uscita attraverso cui inviarlo, in più tutti i pacchetti di dati passano per un nodo
centrale
È molto facile da creare e gestire
Ha un’alta scalabilità
Un guasto di un nodo periferico non è critico (gli altri nodi rimangono operativi), mentre un guasto al
nodo centrale porta alla caduta di tutta la rete
È la topologia più comune per piccoli uffici e appartamenti privati (dove gli apparati sono per la maggior
parte connessi a un solo router)

4) AD ALBERO
Le reti ad albero prevedono un'organizzazione di tipo gerarchico. In analogia con un albero
genealogico, esiste un dispositivo (detto «nodo radice») che si connette direttamente a due o più
dispositivi («figli»), ognuno dei quali a sua volta è collegato a un numero variabile di dispositivi figli e
così via. Tutte le comunicazioni tra nodi che si trovano in rami diversi della struttura devono perciò
passare attraverso il nodo-radice posto all’apice della gerarchia.
La topologia ad albero è un mix tra la topologia a bus e quella a stella ed è composta da varie sottoreti a
stella connesse a una dorsale comune, è la tipologia più adatta a reti geograficamente estese di una
normale LAN
È più difficile da costruire
È altamente scalabile
Un guasto di un hub centrale non ha effetto sul resto della topologia, mentre un guasto alla dorsale
porta alla caduta di tutta la rete

5) A MESH
La topologia a mesh o a maglia connessa realizza un tipo di connessione totale tra tutti i nodi
La connessione può anche essere parziale, con alcuni nodi non completamente connessi a tutti gli altri
Questa tipologia permette di avere sempre un percorso tra due nodi anche in caso di problemi
Ha un alto livello di robustezza e ridondanza
Ha un basso livello di scalabilità
E’molto costosa e impegnativa da gestire

• al RAGGIO DI AZIONE
1) PAN–Personal Area Network: es. una rete che connette un PC con stampante, telefono ecc. a
pochi
2) LAN–Local Area Network: una rete che connette calcolatori di uno stesso edificio o di una azienda
(ordine delle centinaia di metri)
3) CAN–Campus Area Network: rete interna a un campus universitario
4) MAN–Metropolitan Area Network: una rete su scala urbana. Rete composta dalle singole LAN degli
edifici di una città (ordine delle decine di chilometri)
5) WAN–Wide Area Network: una rete su ampia area geografica (estensione delle centinaia/migliaia
di chilometri). Include tutte le MAN e LAN (ma anche connessioni singole) e le interconnessioni
strutturali tra le varie sotto-reti
LA RETE INTERNET (lez8)
- Rete di reti (Network of networks)
- Può essere considerata la WAN di maggiore estensione(WAN= Wide Area Network, Internet si
presenta come una rete geografica) e consiste nella interconnessione di tutti i calcolatori (host) e
delle reti di calcolatori, dei loro apparati, ecc. È caratterizzata dall’eterogeneità delle tecnologie e
sistemi. L’interconnessione è possibile grazie all’adozione di protocolli standard di comunicazione
comune (TCP/IP).
- Internet permette interoperabilità tra sistemi diversi
Internet definisce la infrastruttura, è l’insieme dei mezzi di trasmissione, degli apparati di comunicazione e
degli host che costituiscono fisicamente la rete
- World Wide Web (WWW) o ‘Web’ rappresenta UNO dei servizi disponibili sulla rete Internet e
permette pubblicazione e diffusione di contenuti tramite i browser.
Web è il termine della lingua inglese con cui comunemente si identifica la rete Internet (web
significa appunto “rete”). In verità, i due termini indicano oggetti sostanzialmente diversi.
—> Quando si parla di rete Internet, si fa riferimento all’insieme dei mezzi di trasmissione, degli
apparati di comunicazione e degli elaboratori (detti host) che costituiscono fisicamente la rete.
—>Al contrario, quando si parla di Web, o meglio di World Wide Web o WWW, si fa riferimento a
un servizio della rete Internet che consente la pubblicazione e la condivisione di contenuti
Tale successo è attribuirsi alla semplicità e all’immediatezza degli strumenti su cui è costruito: il
protocollo HTTP e il linguaggio HTML
- Il Web non è l’unico servizio di Internet, ma è probabilmente il più diffuso e comunemente
utilizzato

è CENNI STORICI

• Alla rete delle reti (Internet) si è arrivati per gradi, nell’arco di decenni, con l'apporto di numerosi
ricercatori, scienziati e ingegneri.
Esiste comunque un luogo di nascita di Internet. Dall’Università della California di Los Angeles alle
22:30 del 29 ottobre 1969 venne inviato allo Stanford Research Institute, lontano 500 km, il
primo messaggio della rete ARPANET basata sulla commutazione di pacchetti e sull’allocazione
dinamica delle risorse
• In pieno clima di «Guerra fredda» nasce la rete ARPANET. • Nel 1969, in piena «Guerra fredda» tra
gli Stati Uniti e l’Unione Sovietica, l’agenzia DARPA (Defense Advanced ResearchProjects Agency)
del Dipartimento della difesa USA commissionò un programma di ricerca con l’obiettivo di
collegare i computer e le reti sparse all’epoca per la nazione. • Questa super-rete chiamata
ARPANET (Advanced ResearchProjects Agency NETwork) avrebbe dovuto, tra l’altro, garantire il
funzionamento delle comunicazioni anche nel caso in cui un attacco nucleare disabilitasse molti
nodi della rete

• Le comunicazioni della rete ARPANET si basano sulla commutazione di pacchetto (packet


switching). Con la commutazione di pacchetto i dati viaggiano suddivisi in pacchetti di bit e ogni
pacchetto può seguire un percorso diverso per arrivare a destinazione. Così, anche se un nodo
della rete viene messo fuori uso, la rete può riconfigurarsi e deviare i pacchetti istradandoli su
percorsi alternativi. Nel 1983 ARPANET copriva buona parte del territorio USA

• A questo scopo occorreva sviluppare un protocollo che si occupasse dell’instradamento dei


pacchetti di dati, con interfacce capaci di far comunicare questo nuovo protocollo con i protocolli
delle reti fisiche esistenti
Vinton Cerf e Robert Khan svilupparono un nuovo protocollo, il TCP/IP, che fu adottato da
ARPANET nel 1982 e in seguito sarebbe diventato lo standard di Internet. Nel 1990 ARPANET viene
abbandonata e si sviluppa Internet

• La tecnica della commutazione di pacchetto per la trasmissione dei dati nelle telecomunicazioni
fu ideata nel 1965
Un host, che può essere un computer di qualsiasi tipo, per comunicare con altri host suddivide i
dati in pacchetti e li invia indipendentemente gli uni dagli altri. I pacchetti viaggiano verso
l’indirizzo di destinazione attraversando collegamenti tra i nodi chiamati router, che hanno il
compito di instradare i pacchetti usando tabelle aggiornate in base alle condizioni della rete
I collegamenti sono usati in maniera efficiente, perché non restano impegnati nel caso ci sia un
periodo di «silenzio» da parte dei due host
La rete a commutazione di pacchetto è un servizio di tipo connectionless: non stabilisce una
connessione fisica prestabilita tra mittente e destinatario, ma neppure una connessione logica che
definisca a priori il percorso dei pacchetti
Una rete a commutazione di pacchetto è un servizio non affidabile:
• tutti i pacchetti sono indipendenti tra loro e seguono percorsi diversi
• arrivano a destinazione in sequenza diversa da quella con cui li si è inviati
• inoltre, uno o più pacchetti possono andare perduti durante la
• La rete telefonica usa la tecnica della commutazione di circuito: quando due utenti comunicano
tramite il telefono fisso tradizionale sono connessi mediante un circuito fisico dedicato, cioè una
serie di collegamenti stabiliti nel momento in cui si digita il numero da chiamare. Se si usasse
questo tipo di commutazione nelle trasmissioni dati dove possono esserci lunghi intervalli di
tempo in cui vengono trasferiti pochi bit; il circuito resterebbe impegnato inutilmente

è LA SUITE TCP/IP
la suite TCP/IP, come il modello OSI, è strutturata in livelli o strati. Diversamente dal modello OSI, però,
il TCP/IP definisce soltanto tre strati
• Livello applicazione: raggruppa le funzioni che nel modello OSI sono distribuite tra i livelli 5
(sessione), 6 (presentazione) e 7 (applicazione)
• Livello trasporto: riproduce, con poche differenze, le funzioni del livello 4 OSI (trasporto)
• Livello Internet: raggruppa le funzioni già previste dal livello 3 OSI (rete)

La suite TCP/IP non definisce i livelli inferiori: è stata sviluppata proprio per rendere le comunicazioni
indipendenti dalla realizzazione fisica della rete a cui è collegato l’host
Dal punto di vista della suite TCP/IP, i primi due livelli OSI sono un’unica entità, con cui lo strato
Internet scambia messaggi detti primitive

A) lo strato APPLICAZIONE
È quello più vicino all’utente, al quale fornisce un’interfaccia per interagire con Internet.
Nella suite TCP/IP lo strato applicazione raggruppa una serie di protocolli usati per fornire servizi agli utenti
della Rete:
• Il servizio World Wide Web, cioè la navigazione tra i siti web, usa il protocollo HTTP (HyperText Transfer
Protocol)
• Il servizio di posta elettronica, o e-mail
• Il servizio di trasferimento di file tra un client e un server usa il protocollo FTP (File Transfer Protocol)
• Il protocollo DNS (Domain Name System) permette la comunicazione del sistema operativo di un host con
una rete di server che traducono un URL (Uniform Resource Locator) nel corrispondente indirizzo IP
B) lo strato di TRASPORTO
è quello che ha il compito di garantire l’efficienza del trasferimento dei dati durante le comunicazioni in
Rete. Lo strato di trasporto prevede 2 protocolli tra loro alternativi
- il TCP (Transmission Control Protocol): garantisce una comunicazione affidabile, fornendo un
servizio connection-oriented, cioè orientato alla connessione
- l’UDP (User Datagram Protocol): garantisce comunicazioni più veloci ma meno affidabili, fornendo
un servizio di tipo connectionless

C) lo strato INTERNET
Lo strato Internet deve garantire che i pacchetti di dati arrivino correttamente a destinazione
I protocolli principali dello strato Internet sono:
• IP (Internet Protocol) prepara i pacchetti
• ARP (AddressResolutionProtocol) permette di tradurre l’indirizzo logico IP in indirizzo fisico MAC
• ICMP (Internet Control Message Protocol): consente l’invio di messaggi di diagnostica

Il livello 2 OSI prevede un protocollo diverso per ciascun tipo di rete fisica
•Ethernet
•Wi-Fi
•PPP (Point-to-Point Protocol)
•LTE (Long-TermEvolution) per le comunicazioni su rete mobile 4G
Il livello fisico converte la sequenza dei bit pacchettizzata dal Data Link Layer nel tipo di segnale fisico
utilizzato dal canale fisico di trasmissione, e viceversa in ricezione
• Elettrico
• Luminoso
• Elettromagnetico

è GLI INDIRIZZI IP
I router sono i nodi che collegano reti diverse e sono collegati tra loro in una rete a maglia
Affinché un pacchetto possa essere instradato verso la sua destinazione, occorre che a ogni host
collegato alla rete sia assegnato un indirizzo univoco. Questo indirizzo IP individua sia la rete a cui
l’host appartiene, sia l’host stesso all’interno di quella rete
Tale indirizzo è un numero di 32 cifre binarie (cioè 32 bit) ed è utilizzato sulla rete per identificare il
destinatario di un messaggio e fare in modo che le operazioni di recapito possano essere eseguite
correttamente
Un amministratore di rete può assegnare un indirizzo IP a un notebook ma poi, quando il notebook si
sconnette, può riassegnare lo stesso indirizzo IP a un tablet
Il protocollo IP è stato definito in diverse versioni: la versione 4, IPv4, viene oggi gradualmente
sostituita dalla nuova versione IPv6
• IPv4: oggi la versione più usata, prevede l’assegnazione di un indirizzo IP composto da 32 bit. Il
numero di indirizzi possibili è quindi pari a 232, cioè 4 294 967 296
I 32 bit dell’indirizzo IPv4 per comodità vengono solitamente espressi in notazione decimale
(es:192.168.0.). I primi bit della parte hostdell’indirizzo IP codificano una sottorete

• Il numero di dispositivi indirizzabili con IPv6, che prevede indirizzi da 128 bit, è enormemente più
grande di quello possibile con IPv4.
Per ogni metro quadrato di superficie terrestre sono disponibili ben 655 570 793 348 866 943 898 599
indirizzi IPv6 unici. Anche con l’avvento dell’Internet delle cose, quando ogni oggetto potrà collegarsi
alla Rete, non ci saranno problemi di esaurimento degli indirizzi

è IL DNS
Gli indirizzi IP non sono facili da memorizzare. È possibile utilizzare un indirizzo simbolico associato
all’indirizzo IP (es.: ‘www.zanichelli.it’ è associato all’IP 54.131.50.195)
Il Domain Name System(DNS) traduce gli indirizzi simbolici in indirizzi IP

Il DNS viene costruito a partire da uno schema gerarchico basato sul concetto di dominio. L’indirizzo
simbolico viene realizzato creando un cammino dalla radice (domini di primo livello) a un dominio che
può indicare un host specifico
Domini di primo livello (top level)
• com aziende, riservato a organizzazioni di tipo commerciale. È molto utilizzato in tutto il mondo
• edu università americane, riservato a scuole, università ed enti che si occupano di istruzione in
generale. È utilizzato quasi esclusivamente da organizzazioni statunitensi
• gov istituzioni governative, riservato a enti governativi e ministeriali. È utilizzato quasi esclusivamente
da organizzazioni statunitensi
• mil istituzioni militari, riservato alle strutture militari statunitensi
• net fornitori d'accesso
• org organizzazioni non-profit, riservato alle organizzazioni che non rientrato in alcuna categoria per
cui esiste un apposito dominio di primo livello
• au Australia
• fr Francia
• it Italia
• uk Inghilterra
è PROTOCOLLO CLIENT-SERVER
Gran parte dei servizi disponibili su una rete si basa sul sistema client-server
Questo modello di comunicazione si basa su una richiesta e una risposta
Questo significa che nell’interazione fra due nodi della rete è prevista la presenza di due figure: quella
di un nodo client che fa richiesta di un servizio e quella di un nodo server che eroga il servizio richiesto
e può essere dislocato ovunque in una rete,
Il browser che utilizziamo per navigare sul web, è un’applicazione client che richiede il contenuto
delle pagine a un server web
Il client di posta elettronica è un’applicazione client che richiede l'invio di una mail a un server di posta

è LA POSTA ELETTRONICA
- I servizi relativi all’invio/ricezione di messaggi di posta elettronica (e-mail) sono fra i più
comunemente utilizzati. Un’e-mail può essere considerata il corrispondente elettronico di una
lettera tradizionale in formato cartaceo ed è caratterizzata da una busta (envelope),
un’intestazione (header) e un corpo (body)
- Per poter ricevere e-mail, un utente deve possedere una casella di posta elettronica dove possono
essere recapitati e memorizzati i messaggi. In Internet, esistono svariati fornitori (provider) che
offrono la possibilità di creare caselle di posta elettronica. Ogni provider dispone di un server di
posta elettronica dove sono ospitate le caselle degli utenti
Ogni casella è identificata da un indirizzo univoco espresso nella forma nome_utente@dominio,
dove nome_utente indica il proprietario e dominio indica il provider che ospita la casella. Il
simbolo @(comunemente chiamato chiocciola), funge da separatore fra nome_utentee dominio ed
è un elemento indispensabile in un indirizzo di posta elettronica
per evitare ambiguità nel recapito dei messaggi, non possono esistere due caselle di posta
elettronica con lo stesso indirizzo. Tuttavia, il medesimo nome_utente può essere utilizzato da
provider diversi visto che gli indirizzi risulterebbero avere dominio differente
- L’invio di un messaggio di posta elettronica è realizzato mediante il protocollo SMTP (Simple Mail
Transfer Protocol). In rete, un host su cui è installato questo protocollo è chiamato server SMTPe
ha il compito di gestire la trasmissione e l’inoltro di e-mail verso la casella di posta del
destinatario. L’invio e la ricezione di e-mail non sono operazioni istantanee

è IL WEB
- WEB= World Wide Web (WWW)
- È il più popolare tra i servizi applicativi di internet
- È costituito da contenuti organizzati in siti, collezioni di pagine web collegate mediante un
hyperlink o link
I link sono un elemento peculiare del Web e ne determinano la natura ipertestuale: un utente può
navigare fra le pagine web utilizzando i link e scegliendo di volta in volta la pagina successiva da
consultare in base alle proprie preferenze
- Il web è un enorme ipertesto navigabile tramite i link e costituito di contenuti testuali e
multimediali
- I concetti che costituiscono le fondamenta per il World Wide Web sono: HTTP, URL e HTML
- L’Uniform Resource Locator (URL) è l’indirizzo che individua univocamente ogni oggetto presente
nel web: pagina, immagine, documento pdf e così via
- L’ URL è un URI (Uniform Resource Identifier) è una sequenza di caratteri che identifica
universalmente ed univocamente una risorsa
- Il funzionamento del Web si regge su due strumenti principali:
◆ il linguaggio HTML (HyperText Markup Language) che è utilizzato per costruire le pagine web
◆ il protocollo HTTP (HyperText Transfer Protocol) che stabilisce le regole di comunicazione fra
due host per lo scambio di pagine web

HTTP (HyperText Transfer Protocol)


- è il protocollo applicativo che stabilisce le regole di comunicazione fra due host per lo scambio di
pagine web
- HTTP lavora con un’architettura client/server
- Il browser lato utente permette di indicare l’indirizzo web, mentre lato rete implementa il
protocollo HTTP per lo scambio di messaggi con i server

Per navigare il Web esistono software chiamati browser (es. chrome, safari) che agiscono come client
in una comunicazione con questi passaggi:
1) il browser compone la richiesta HTTP verso il server (detto server web o server http):
2) il browser invia un documento di richiesta GET [indirizzo del documento]
3) il server risponde con un messaggio codificato in HTML
4) il browser riceve la risposta
5) il browser visualizza la risorsa composta dalla risposta del server
6) il server chiude la connessione

Il server risponde con:


•un file in codice HTML (HyperText Markup Language) puramente descrittivo che il browser interpreta per
ricostruire la pagina web sul dispositivo dell’utente
•un file in codice CSS (Cascading Style Sheets) con indicazioni sugli stili da usare nella pagina
•tutti gli ulteriori dati che servono per costruire la pagina, come immagini, video, script e applet Java
ARCHITETTURA CONTENUTI WEB (lez9)

BROWSER: è l’applicazione client che visualizza dei siti web

Le pagine web sono codificate in HTML, acronimo di HyperText Markup Language, ossia «linguaggio a
marcatori per ipertesti»
Il linguaggio HTML stato creato nel 1990 da Tim Berners-Lee al CERN di Ginevra, per facilitare la
comunicazione dei dati sperimentali e delle relazioni sulle ricerche svolte nei laboratori di fisica delle alte
energie di tutto il mondo. Dal 1994 il World Wide Web Consortium o W3C, un organismo internazionale
indipendente e senza scopo di lucro, si occupa dello sviluppo del linguaggio HTML e della definizione della
versione standard ufficiale. Oggi il linguaggio è arrivato alla sua quinta versione, detta appunto HTML5
I linguaggi di marcatura sono linguaggi che permettono di identificare le parti che compongono un
documento per renderli interpretabili dai sistemi di fruizione (es. distinguere tra un titolo e un corpo di
paragrafo). A questo fine marcano le parti di documento per permetterne la decodifica agli stessi sistemi di
fruizione (es. un testo potrebbe essere letto o visualizzato)
Nel caso del web questo è particolarmente importante perché i browser devono poter correttamente
rendere fruibili i contenuti di una pagina web: quindi, oltre ai contenuti in se (testi, video, grafica...),
devono ottenere informazioni di composizione della pagina
HTML: è un linguaggio dichiarativo, non di programmazione. Il linguaggio HTML permette di svolgere le
principali attività di costruzione delle pagine web
Non si occupa del layout grafico e quindi dell’estetica delle pagine web: questi aspetti sono delegati ai fogli
di stile. Non formula istruzioni da eseguire, delegando invece questo compito ai cosiddetti linguaggi di
scripting

è LA GESTIONE DEI TESTI IN HTML


TAG o MARCATORI: sono le parole-chiave dell’HTML e si scrivono tra <>
Nell’esempio, un codice in HTML e la sua visualizzazione con il browser Chrome
• <html> è il tag principale che racchiude il contenuto dell’intera pagina
• <head> racchiude i dati relativi alla pagina, per esempio il titolo che appare nel browser

• <body> racchiude i contenuti che appariranno sulla pagina

• la riga <!DOCTYPE HTML>va sempre messa a inizio file: comunica al browser il tipo di documento
che dovrà interpretare
• i commenti in HTML si aprono con il tag<! --e si chiudono con-->

• la sezione <HEAD> è un contenitore di metadati relativi alla pagina HTML


• Il tag <TITLE> definisce il titolo della pagina web, che appare nella linguetta della scheda del browser
ed è tra i dati con cui i motori di ricerca catalogano le pagine
• Il tag <STYLE> serve per definire nel file HTML gli stili grafici da applicare al documento; se invece si
salvano i fogli di stile in file esterni, si usa il tag <LINK>: <LINK rel="stylesheet" type="text/css"
href="mio_stile.css">
• Il tag <SCRIPT> racchiude le istruzioni eseguibili da applicare al documento, oppure include un file
JavaScript esterno

Il tag <META> della sezione <HEAD> può contenere numerosi attributi


• l’attributo charset definisce il set di caratteri da usare per la pagina web <META charset="UTF-8">
• l’attributo name permette di inserire la descrizione di un contenuto (content):
- <META name="description" content="Descrizione del sito">
- <META name="keywords" content="Parole-chiave del sito">
- <META name="author" content="Nome dell’autore del sito">
• l’attributo name="viewport" fa ridimensionare automaticamente al browser la pagina web, in base
alla larghezza (width) dello schermo usato dall’utente:
- <META name="viewport" content="width=device-width, initial-scale=1.0">

Per esempio, il tag <LINK>ha tre attributi


- <LINK rel="stylesheet": rel indica la relazione tra il documento HTML e quello collegato
- type="text/css": type specifica il tipo di documento che si vuole collegare
- href="mio_stile.css">: href (hypertext reference, cioè «riferimento ipertestuale») indica a quale
documento riferirsi e dove trovarlo, in questo esempio la stessa cartella del codice

L’HTML5 ha introdotto nuovi tag dedicati all’impaginazione


• <HEADER>è la sezione che contiene l’intestazione della pagina
• <ARTICLE>identifica una sezione con un contenuto principale della pagina
• <ASIDE>indica un contenuto di servizio, come i comandi di navigazione
• <FOOTER>è il piè di pagina: contiene informazioni come copyright e autore

In HTML i titoli si formattano con i tag da <H1>a <H6>

Il tag <P> definisce un paragrafo, il blocco di testo standard per i browser. Per default un paragrafo è
visualizzato come testo privo di formattazioni, che va a capo alla chiusura del tag </P>, ma non prima

Si può forzare l’acapo all’ l’interno di un blocco di testo usando il tag<BR>


• <B>rende grassetto il testo
• <I>rende corsivo il testo
• <MARK> evidenzia in colore

Con i tag delle liste si formatta il testo come elenco numerato o puntato
• <OL>: lista numerata
• <UL>: lista puntata
• <LI>: punti della lista

Il tag <TABLE> è il contenitore di una tabella


• <TR>: nuova riga della tabella
• <TH>: intestazioni di colonna
• <TD>: ogni altra cella
è GLI ELEMENTI DI BASE DEI CSS
Gli stili si applicano alle varie parti di un documento HTML usando i selettori
• selettore universale: l’asterisco * seleziona tutti gli elementi della pagina
• selettori di tipo: sono nomi di elementi HTML (esempio: p{color: red;} rende rosso il testo di tutti i
paragrafi)
• selettori di classe: selezionano una classe di oggetti e si definiscono con il punto (esempio: scrivendo
.nome_classe{color: red;}, ogni paragrafo che inizia con il tag <p class="nome_classe"> avrà il testo in
colore rosso)
• selettori di ID: selezionano un singolo oggetto e si definiscono con il cancelletto (esempio: scrivendo
#nome_id{color: red;}, ci potrà essere un unico paragrafo rosso che inizia con il tag <pid="nome_id">) •
Dunque nel <body> di un file HTML il nome_id si può richiamare una sola volta; il nome_classe invece si
può richiamare un numero illimitato di volte

CSS: sta per Cascading Style Sheets, meglio noto comeCSS(in italiano fogli di stile a cascata). Per
collegare un foglio di stile esterno si inserisce in <HEAD> un tag <LINK>
I primi attributi del tag <LINK>sono rel="stylesheet"e type="text/css":
<head>
<link rel="stylesheet" type="text/css" href="percorso del file">
</head>
Se il foglio di stile è nella stessa cartella del file .html, come percorso in hrefbasterà scrivere il nome del
file CSS

Nel linguaggio CSS l’attributo color sì può esprimere in più modi diversi. I colori si possono descrivere
per nome, codice RGB o codice esadecimale

Tutti i tag che possono contenere testo sono formattabili mediante i CSS
• Le principali proprietà dei caratteri nei fogli di stile:
• Le principali proprietà dei blocchi di testo nei fogli di stile:

I CSS definiti nel tag contenitore si applicano per ereditarietà ai tag contenuti
Per il tag <P> nell’esempio non è definito uno stile: si applica allora quello definito per l’intero <BODY>

è I LINK E LE IMMAGINI
Il tag <A>: dell’HTML rende possibile l’ipertestualità, cioè i link tra risorse web
Un esempio di link ipertestuale in Wikipedia

L’inserimento di un’immagine inuna pagina HTML è una forma di link


Il file dell’immagine è collegato alla pagina tramite il tag <IMG> e l’attributo src, con la sintassi: <img
src="percorso del file">
è CMS (CONTENT MANAGEMENT SYSTEMS)
I CMS (sistemi di gestione dei contenuti): sono software specifici per la creazione e gestione di siti
web complessi e portali.
• Permettono la creazione di contenuti vari e aggiornati di frequente in contesto
collaborativo/multiutente (es: sito di notizie, con molti editori che contribuiscono
indipendentemente con articoli, editoriali, ec.)
• Permettono di dare accesso a più utenti con ruoli diversi (con o senza diritti di
amministrazione)
• Permettono funzionalità avanzate di e-commerce
• Permettono l’interazione tra molti utenti (community, social media, ecc)

I CMS sono installati su un serfver Web, e hanno il compito di facilitare la gestione dei contenuti
dei siti, svincolando il webmaster da conoscenze tecniche specifiche di programmazione Web
(HTML, CSS o linguaggi di scripting)
Le componenti principali sono:
• Un database relazionale per la memorizzazione dei contenuti
• Un pannello di controllo per l’inserimento dei contenuti da parte dell’amministratore
• Un componente per la compilazione del codice e la generazione e aggiornamento della pagina
• L’ aspetto grafico gestito tramite applicazione di template (CSS responsivi + script Javascript)
• Le funzionalità aggiuntive sono gestite tramite plugin di varia natura (e-commerce, multilingua,
ecc.)

Esistono CMS più general-purpose, altri sono più specializzati. Molti sono gratuiti, altri richiedono
abbonamento

Wordpress èil CMS più utilizzato al mondo


• È open source
• È sviluppato in PHP e utilizza MySQL come database
• È basato su uso plugin e template
• Nasce come software per la creazione di blog, adesso è utilizzato per molti tipi di siti
• Per tutorial: https://wordpress.com/support/video-tutorials/
WordPress PlayGround è una versione di WordPress completamente disponibile online senza
necessità di installazione su un server
è SICUREZZA SUL WEB
Sicurezza sul Web: si intende la capacità di salvaguardare la riservatezza (C= Confidentiality),
l’integrità (I= Integrity) e la disponibilità (A= Availability) delle infrastrutture e delle informazioni e dei
dati. Salvaguardare da attacchi di tipo informatico di vario tipo e da eventi imprevisti che possono
portare a perdita di dati come guasti, perdita di dispositivi, errore umano, ecc.

è TIPI DI ATTACCHI INFORMATICI


Questi tipi di attacchi vengono effettuati da individui o organizzazioni malevole. Cercano di sfruttare
debolezze nei sistemi informatici (attacchi informatici) o di ottenere accesso tramite le credenziali di
autenticazione degli utenti. L’obiettivo è avere accesso a dati riservati, bloccare o limitare l’accesso
degli utenti ai propri sistemi (e quindi anche ai dati) per fini di lucro o per altri motivi (politici, protesta,
divertimento, ecc)

Tipologie:
1) L’attacco man-in-the-middle (MITM)
- È uno dei + conosciuti
- Con l'attacco MITM, un avversario può falsificare le identità di due nodi onesti (N1 eN2) coinvolti
in uno scambio di rete e passareN1 perN2 e viceversa, ovvero assumere il controllo del canale di
comunicazione traN1 eN2
Sotto questo controllo, un avversario può intercettare, modificare, cambiare o sostituire il traffico
comunicativo delle vittime prese di mira
- Possibili contromisure: mutual authentication e biometria

2) L’attacco di impersonation o di falsificazione


- consiste in un attacco in cui un avversario può intercettare un messaggio di richiesta di accesso
delle sessioni precedenti sul canale pubblico/aperto durante l'esecuzione del protocollo di
autenticazione
Successivamente può modificare e ritrasmettere il messaggio all'utente per impersonare un
utente valido
- Contromisure: timestamp, funzione hash e numeri casuali

3) L’attacco Sybil
- consiste in un attacco in cui un nodo dannoso può rivendicare identità diverse per ottenere un
vantaggio sui nodi legittimi. I nodi falsi potrebbero essere utilizzati per trasmettere dati a nodi
“legittimi” portandoli a consumare la loro energia, il che potrebbe portare all’interruzione
dell’intero servizio
Quando molti nodi Sybil si trovano all'interno della stessa rete, invieranno una grande quantità di
informazioni negando ai nodi normali di utilizzare la rete. Fu chiamato Sybil per l'argomento del
romanzo Sybil del 1973di Flora Rheta Schreiber, un caso di studio di una donna a cui è stato
diagnosticato un disturbo dissociativo dell’identità

4) L’attacco di DOS (Distributed Denialof Service)


- è un tipo di attacco che arresta il sistema o la rete e impedisce agli utenti autorizzati di accedervi
Ciò potrebbe essere ottenuto sovraccaricando il sistema o la rete con una grande quantità di
richieste di spam tutte allo stesso tempo
Si impedisce così al sistema di fornire il normale servizio in un attacco in cui un nodo dannoso può
rivendicare identità diverse per ottenere un vantaggio sui nodi legittim
5) L’attacco Botnet o Command Injection

6) L’attacco Denial of Sleep


- In questo attacco ogni sensore fornisce dati, come temperatura, umidità, pressione, ecc., ad un
intervallo prestabilito per poi andare in modalità sospensione per un altro intervallo di tempo in
modo da consentire ai nodi di funzionare per una lunga durata
- Questo attacco è un tipo di DOS
- L'attacco di negazione del sonno riduce la durata del servizio del nodo impedendo al nodo di
addormentarsi dopo aver inviato i dati rilevati appropriati

7) L’attacco di Side-channel
- si verifica sui dispositivi di crittografia sfruttando le informazioni di contesto (per esempio
hardware) come il tempo di esecuzione, il consumo energetico e le interferenze elettromagnetiche
prodotte dai dispositivi elettronici durante l'intero processo.
Tali informazioni potrebbero essere analizzate per scoprire le chiavi segrete utilizzate durante la
crittografia dopo aver inviato i dati rilevati appropriati
8) L’ attacco di Fishing
- è basato su una tecnica utilizzata per ottenere le credenziali o dati di altre persone come le
password, numero carta di credito, ecc.
L’utente riceve una comunicazione (email, sms), che imita aspetto e contenuto di una
comunicazione ufficiale da un ente (per esempio una banca, il datore di lavoro, ecc.). La
comunicazione di solito chiede una modifica delle credenziali, utilizzando un link fornito dentro la
comunicazione. Se si utilizza il link i dati inseriti sono acquisiti e utilizzati per accedere al posto
dell’utente

9) L’attacco di Social Engineering


- consiste nell'utilizzo, da parte degli hacker, di metodi che hanno come scopo quello di ottenere
informazioni personali tramite l'inganno

è CONTROMISURE AGLI ATTACCHI INFORMATICI


A) Scelta di PASSWORD sicure, lunghe e complesse
- Scegliere password comprate da 12 caratteri in su, con lettere minuscole, maiuscole, numeri e
caratteri speciali possibilmente completamente casuali
- Evitare parole comuni e molto usate, e/o con sostituzioni troppo prevedibili (V3NT0D1L3V4NT3)
- Evitare di usare la stessa password in molti siti perché eventuali data breach causati da attacchi
informatici ai siti su cui avete creato account possono portare alla diffusione delle vostre
credenziali
- Cambio password ogni due mesi per evitare attacchi di forza bruta o su dizionario
B) CIFRATURA
- Aiuta l'organizzazione a soddisfare l'esigenza di proteggere le informazioni sia dalla divulgazione
accidentale che dai tentativi di attacco interni ed esterni
- L'efficacia di un sistema crittografico nel prevenire la decrittazione non autorizzata viene definita la
sua forza
- Un sistema crittografico forte è difficile da decifrare
- La forza può anche essere espressa come fattore di lavoro, che è una stima della quantità di tempo
e impegno che sarebbero necessari per rompere un sistema
- La crittografia ha algoritmi simmetrici e asimmetrici

La cifratura SIMMETRICA
• Μ: message space-messaggi
• P: plaintext space-testi in chiaro
• C: ciphertext space–testi cifrati
• Κ: key space–chiavi di cifratura
• E: Px K -> C encryptiontransformation-funzioni di cifratura
• D: C x K -> Pdecryptiontransformation-funzioni di decifratura

Due proprietà:
- ∀m ∈M, ∀e ∈E; ∃d ∈D: m = D(d, E(e, m))
- Nella cifratura simmetrica è facile calcolare la chiave di decifratura partendo da quella di cifratura
- Gli algoritmi di cifratura simmetrica richiedono che sia il mittente che il destinatario di un
messaggio crittografato abbiano la stessa chiave e gli stessi algoritmi di elaborazione
- Gli algoritmi di cifratura simmetrica generano una chiave simmetrica (a volte chiamata chiave
segreta o chiave privata) che deve essere protetta; se la chiave viene smarrita o rubata, la sicurezza
del sistema è compromessa

La cifratura di CESARE
- si può ‘rompere’ con attacchi di forza bruta o attacchi basati su frequenza statistica

Il cifrario di Vigenère
- è un metodo per crittografare il testo alfabetico utilizzando una serie di cifrari di Cesare
intrecciati, basati sulle lettere di una parola chiave
- Impiega una forma di sostituzione polialfabetica

La cifratura ASIMETRICA
Questa cifratura utilizza due chiavi:
- una chiave pubblica: non può essere utilizzata per decifrare un messaggio
- una chiave privata
La crittografia asimmetrica può essere utilizzata per crittografare e autenticare
- Nell’esempio in figura la crittografia asimmetrica è utilizzata per autenticare Marco

Scambio sicuro della chiave privata tra Cersei e Jamie Lannister per realizzare una cifratura

Supponendo che la scatola e le serrature siano fatte di acciaio di Valyria magicamente infrangibile,
nessuno tranne Jamie e Cersei sarà in grado di leggere i loro messaggi
C) BACKUP
I dati sono la risorsa più preziosa, e perderli può causare un danno notevole e irrimediabile. Fare un
backup regolare permette di limitare/annullare i danni di un attacco informatico, ma anche di
incidenti/guasti/sfortune di vario genere
Sarebbe buona prassi avere almeno 2 diversi dispositivi su cui fare backup, di cui almeno uno da tenere
al sicuro. Si può scegliere il backup su cloud un servizio che ci viene offerto da un provider (gratis o a
pagamento)

D) ANTIVIRUS
- Usare un antivirus aggiornato
- Aggiornare SO e patch di sicurezza
- Evitare di scaricare file o applicazioni da fonti non sicure o non note
- Evitare di aprire allegati da email non sicure o fidate
- Evitare siti non noti o di dubbia sicurezza

E) FIREWALL
- Utilizzare il firewall, un dispositivo per la sicurezza della rete
- Il firewall permette di monitorare il traffico in entrata e in uscita dalla rete locale del dispositivo
verso l’esterno, utilizzando una serie predefinita di regole di sicurezza per consentire o bloccare la
trasmissione/ricezione da parte di alcune applicazioni o limitando l’accesso a determinati contenuti
o siti

F) VPN
- VPN = Virtual Private Network / una rete privata virtuale
- Il proprio host si connette utilizzando un’applicazione client a un server dedicato, tramite il quale
poi accede a Internet
Si ottiene la sicurezza della connessione e della navigazione perché si utilizza di trasmissione
criptata per i dati
C’è anonimato poiché il proprio IP è nascosto ai server web visitati. La navigazione potrebbe
essere più lenta
BLOG, COMUNITÀ E SOCIAL NETWORK (lez10)

è Social Networking
L’evoluzione del Web negli ultimi anni ha visto diffondersi, accanto a una costante evoluzione
tecnologica, nuove modalità di consultazione e uso della rete
Il social networking consiste nel mettere a disposizione del pubblico piattaforme per la creazione di
ampie comunità di utenti, che nascono spontaneamente sul Web attorno al comune interesse per un
tema o per un’attività

è BLOG
Il termine blog deriva dall’espressione web-log che allude all’idea di utilizzare il Web come un luogo in
cui registrare (to log) pensieri, opinioni, attività, come in una sorta di diario. Oltre alle funzionalità di
creazione semplificata delle pagine del proprio sito, i blog offrono solitamente un insieme di strutture
di organizzazione e memorizzazione delle informazioni che facilitano la navigazione dei contenuti e la
loro archiviazione
I contenuti tipicamente pubblicati su un blog possono essere legati fra loro in una traccia (thread) e,
generalmente, i lettori hanno la possibilità di aggiungere commenti visibili all’autore come agli altri
lettori. Inoltre, i contenuti sui blog sono associati a categorie o parole chiave che ne specificano il
contenuto e prendono il nome di tag. I tag sono volutamente non predefiniti e non organizzati in
tassonomie o reti semantiche. In tal modo, ogni utente può scegliere di utilizzare uno dei tag già
esistenti o definirne di nuovi. L’insieme dei tag viene poi spesso organizzato a posteriori sulla base della
popolarità di ogni termine e, quindi, sul numero di contenuti a cui esso è associato
I lettori hanno la possibilità di aggiungere commenti visibili all’autore come agli altri lettori
Il blogger, ovvero l’utente gestore e autore del blog, introduce nel proprio blog un insieme di
riferimenti ad altri blog all’interno della comunità, che prende il nome di blogsphere (sfera dei blog)

RSS è un formato XML per la rappresentazione e diffusione di contenuti e notizie sul Web.
Contrariamente alle tradizionali pagine però, i feed RSS costituiscono un flusso costante di notizie che
un sito mette a disposizione degli utenti. Gli utenti possono usare poi un software per scaricare e
visionare tali contenuti periodicamente, in modo analogo a quanto avviene con la posta elettronica

Dal punto di vista dell’autorialità si possono distinguere in:


• Blog personali: in cui l’autore è unico
• Blog collettivi: in cui il blog svolge la funzione di uno spazio di scrittura aperto agli interventi
dell’intera comunità di utenti
• Blog in cui l’autore unico è costituito da un’organizzazione, come ad esempio un’azienda o
un’istuzione pubblica e in cui il lavoro di produzione del contenuto è tipicamente affidato a una
redazione
Dal punto di vista dei contenuti, la principale distinzione è fra
• Blog generali
• Blog tematici
Esempi
• Flickr è un servizio di pubblicazione di album fotografici personali
• YouTube ha come tema la diffusione di video
• MySpace offre uno spazio di pubblicazione relativamente libero di profili utente molto orientata al
consumo di musica e arte
Questi servizi condividono l’organizzazione dei contenuti basata su tag e canali tematici definiti sulla
base dei tag e della classificazione dei contenuti richiesta agli autori in fase di inserimento

è COMUNITÀ e SOCIAL NETWORK


Affianco delle varie forme di blog, nascono servizi che hanno come scopo principale la creazione di reti
di utenti che utilizzano servizi informatici per tenersi in contatto, interagire e conoscere nuovi utenti.
Ogni Social Network permette all’utente di creare una pagina di profilo dotata di:
• Informazioni personali: relative ai dati anagrafici, alle preferenze di ogni utente, fotografie e
contenuti che ogni utente vuole condividere con altri
• Lista dei contatti: la lista dei contatti o amici di cui si ricevono le notifiche. Un utente invia richieste di
amicizia ad altri utenti che possono approvarle. Da quel momento, le due persone compaiono nelle
rispettive liste di amici e ricevono notifiche costanti l’uno sulle attività dell’altro
• Notizie sull’attività dell’utente nella sua bacheca. Sulla pagina del profilo di ogni utente compare
quindi uno spazio (detto wall) che tiene traccia e notifica le diverse azioni compiute da un utente, come
ad esempio l’essere entrato in contatto con un altro utente o l’aver utilizzato una delle molte
applicazioni presenti su Facebook

è PORTALI COLLABORATIVI
Un wiki è un sito Web che permette a ciascuno degli utenti di aggiungere nuovi contenuti o di
modificare quelli già esistenti. Il termine che significa originariamente “veloce” e che indica appunto
un sito web in cui però ogni utente ha il diritto e i mezzi di apportare modifiche in modo semplice e,
appunto, veloce
Wikipedia è un wiki, cioè una piattaforma di creazione collaborativa di contenuti e di controllo
editoriale e di una vasta comunità di utenti potenzialmente interessati. Permette una recensione
accurata di ampi ambiti del sapere per mezzo del lavoro volontario di una comunità estremamente
ampia di utenti reclutata sul Web
I wiki mantengono una cronologia delle modifiche in modo da poter riportare il sito a una precedente
versione nel caso di modifiche indesiderate o errate. Ciò che caratterizza i wiki però è l’approccio
libero e aperto alla circolazione dell’informazione
Una delle critiche più spesso mosse a Wikipedia riguarda la correttezza e la qualità dei contenuti. Il
contenuto errato o parziale viene infatti eliminato o corretto da altri utenti e il lavoro redazionale è
minimo

è SOCIAL NETWORK ANALYSIS


La Social Network Analysis (SNA): è una moderna metodologia di analisi delle relazioni sociali per
comprendere come si comportano le reti e scoprire i nodi più importanti al loro interno
Sia che si tratti di social network, infrastrutture, reti IoT o qualsiasi altro tipo di sistema connesso
complesso, questi algoritmi eliminano i dati rumorosi per rivelare nodi o cluster nella rete che
richiedono attenzione. Per la SNA una Social Network si schematizza tramite un grafo G <N, E>
I nodi N della rete: sono gli utenti
I link E: possono rappresentare relazioni tra utenti come amicizia, following/followship o like
Esistono numerose misure e algoritmi di analisi dei social network
1) Degree Centrality
- Identifica i nodi con il maggior numero di collegamenti ad altri nodi della rete
I nodi con un alto degree hanno le migliori connessioni con coloro che li circondano: potrebbero
essere influenti o semplicemente strategicamente ben posizionati
- La centralità del grado assegna un punteggio di importanza basato semplicemente sul numero di
collegamenti posseduti da ciascun nodo
Si usa per trovare individui molto connessi, individui popolari, individui che probabilmente
detengono la maggior parte delle informazioni o individui che possono connettersi rapidamente
con una rete più ampia
La centralità dei gradi è la misura più semplice della connettività dei nodi. A volte è utile
considerare in-degree(numero di collegamenti in entrata) e out-degree (numero di collegamenti in
uscita). La degree dentrality identifica quante connessioni dirette, “one hop” ha ciascun nodo verso
gli altri nodi della rete

2) Betweenness Centrality
- Misura il numero di volte in cui un nodo si trova sul percorso più breve tra altri nodi
- Questa misura mostra quali nodi sono “ponti” tra i nodi di una rete. Lo fa identificando tutti i
percorsi più brevi e quindi contando quante volte ciascun nodo cade su uno di essi
- Si usa per trovare gli individui che influenzano il flusso attorno a un sistema. La Betweenness è utile
per analizzare le dinamiche della comunicazione
- I nodi con un elevato punteggio di betweenness centrality sono quelli che più frequentemente
fungono da “ponti” tra altri nodi. Costituiscono i percorsi di comunicazione più brevi all'interno
della rete. Di solito questo indicherebbe importanti custodi delle informazioni tra i gruppi
La formula per calcolare la betweenness centralitydel nodo i è:

• p(i,j,k) è il numero di cammini più brevi tra i due nodi che passano anche per il nodo i
• p(j,k) èil numero di cammini più brevi che collegano il nodo j al nodo k

3) Closeness Centrality
- Assegna un punteggio a ciascun nodo in base alla sua “vicinanza” a tutti gli altri nodi della rete.
Questa misura calcola i percorsi più brevi tra tutti i nodi; quindi, assegna a ciascun nodo un
punteggio basato sulla somma dei percorsi più brevi
- Si usa per trovare le persone che sono nella posizione migliore per influenzare l'intera rete più
rapidamente
- La closeness centralità potrebbe essere utile per trovare influencer in un singolo cluster. È la
misura che ti aiuta a trovare i nodi più vicini agli altri nodi di una rete, in base alla loro capacità di
raggiungerli. Per calcolarlo, l'algoritmo trova il percorso più breve tra ciascun nodo; quindi, assegna
a ciascun nodo un punteggio basato sulla somma di tutti i percorsi
I nodi con un valore di closeness elevato hanno una distanza inferiore da tutti gli altri nodi e sono
efficienti emittenti di informazioni
La Closeness Centrality di un nodo indica quanto è vicino agli altri nodi della rete, ed è misurata in
termini di cammino più breve:

• n-1 è il numero di cammini nella rete


Mentre la distanza totale s(i) è calcola:

• d(i,j) è la distanza tra il nodo i e il nodo j

In un grafo che rappresenta una rete ferroviaria o metropolitana, dove i nodi sono le stazioni e
gli archi sono i collegamenti fra le varie stazioni, una possibile metrica per stabilire l’importanza
delle stazioni può essere quella di contare il numero di tratte di cui fa parte ogni stazione e
dividerlo per il numero di tratte presenti nella rete. Le stazioni che risultano essere presenti nel
maggior numero di tratte vengono considerate nodi cruciali della rete
• La Betweenness centrality stima la stazione più importante se si trova in mezzo a più percorsi
minimi tra le diverse stazioni
• La Closeness centrality stima la stazione più importante se si trova vicino a un numero alto di
stazioni

4) PageRank Centrality
- È una variante di Eigen Centrality, che assegna anche ai nodi un punteggio in base alle loro
connessioni e alle connessioni delle loro connessioni
- La differenza è che il PageRank tiene conto anche della direzione e del peso del collegamento;
quindi, i collegamenti possono trasmettere influenza solo in una direzione e trasmettere quantità
diverse di influenza. Poiché tiene conto della direzione e del peso della connessione, PageRank può
essere utile per comprendere citazioni e autorità
- è notoriamente uno degli algoritmi di ranking dietro il motore di ricerca originale di Google (la
parte “Pagina” del suo nome deriva dal creatore e fondatore di Google, Larry Page)
- La PageRank Centrality è una variante di Eigen Centrality, che assegna anche ai nodi un punteggio
in base alle loro connessioni e alle connessioni delle loro connessioni. PageRank identifica i nodi
importanti assegnando a ciascuno un punteggio in base al numero di collegamenti in entrata (il
suo "indegree"). Questi collegamenti sono ponderati in base al punteggio relativo del nodo di

origine

5) Clustering Coefficient (o transitività)


- È la misura del grado in cui i modi di un grafo tendono ad essere connessi fra loro
- Indica quanto i nodi tendono a creare gruppi fortemente uniti e caratterizzati da una densità di
collegamenti relativamente alta; il coefficiente di clustering delle reti reali tende quindi ad essere
maggiore rispetto a quello dei grafi in cui i collegamenti sono generati casualmente
Il coefficiente di clustering di un nodo in un grafo è una misura di quanto i suoi vicini tendano a
formare una cricca (o un grafo completo)
- La teoria del mondo piccolo o dei piccoli mondi, o effetto del mondo piccolo è una teoria
matematica e sociologica che sostiene che tutte le reti complesse presenti in natura sono tali che
due nodi qualunque possono essere collegati da un percorso costituito da un numero
relativamente piccolo di collegamenti
- La teoria dei sei gradi di separazione è l'idea che tutte le persone siano distanti massimo sei (o
anche meno) connessioni sociali l'una dall'altra. Di conseguenza, è possibile creare una catena di
affermazioni "amico di un amico" per collegare due persone qualsiasi in un massimo di sei passaggi.
Questa regola è anche conosciuta come la regola delle sei strette di mano

6) 6-degree of Separation
7) Omofilia
- È la tendenza degli individui ad associarsi e legarsi ad altri simili
È una tendenza che si vede nella vita sociale di tutti i giorni e la cui presenza è ovviamente palese in
questo caso. I nodi in una rete tendono ad interagire con altri nodi simili. Si formano così dei

cluster, dei gruppi, degli insiemi di persone che si assomigliano in qualche aspetto della vita e che
comunicano frequentemente tra loro

8) WeakTies / The strenght of WeakTies


- In un articolo del 1973 dal titoloThe strength of weak ties, il sociologo Mark Granovetter distingue
due tipologie di legami: quelli forti e quelli deboli
• I legami forti sono caratterizzati da incontri costanti, frequenti e che sono
sentimentalmente importanti. I legami forti sono quelli che abbiamo con gli amici più
intimi e i familiari più stretti
• I legami deboli hanno un impatto emotivo minimo e sono meno frequenti e ravvicinati.
Sono quelli che instauriamo con i conoscenti e con chi incontriamo occasionalmente
Granovetter parte a formulare la sua tesi sulla forza dei legami deboli, facendo una ricerca sulle
modalità con cui le persone cercano lavoro e sul modo in cui le reti sociali possono aiutare. Ai
partecipanti chiede di indicare la frequenza dei contatti personali con i conoscenti dai quali
avevano ottenuto le informazioni determinanti per trovare il nuovo posto di lavoro. I contatti più
frequenti erano stati utili nel 16,7% dei casi, quelli rari nel 27,8% e ben il55,6%era la quota di
successo raggiunta attraverso gli occasionali
Il sociologo sostiene che le persone che fanno parte della nostra cerchia più ristretta e con i quali
abbiamo dei legami forti, sono collegati più verosimilmente con le stesse nostre fonti di
informazioni e con i nostri stessi contatti. Se ci affidiamo ai nostri legami deboli abbiamo
maggiori occasioni di ottenere informazioni a cui non abbiamo accesso
Per lo studioso i legami deboli ci consentono di raggiungere molti più contatti indiretti (e quindi
più informazioni) di quelli che saremmo in grado di stabilire facendo riferimento solo alle relazioni
forti

Potrebbero piacerti anche